赤外線センサーが障害物を検知する。
### ソースコード
// 省略
### 配線
// 省略

何度やってもセンサーが動作しない。原因不明。
随机应变 ABCD: Always Be Coding and … : хороший
赤外線センサーが障害物を検知する。
### ソースコード
// 省略
### 配線
// 省略

何度やってもセンサーが動作しない。原因不明。
火炎検知センサーは、読んで字のごとく火炎を検出する。
### ソースコード
// 省略


何やコレ、ターボライターは反応しない。
室内で実験に火を使用するのは万一を考えると危険だ。
リードスイッチモジュールは磁場を検出する
マグネットを購入し、リードスイッチに近づけて、LEDの点灯を制御する
int Led = 13;
int buttonpin = 3;
int val;
void setup() {
pinMode(Led, OUTPUT);
pinMode(buttonpin, INPUT);
}
void loop() {
val = digitalRead(buttonpin);
if(val==HIGH){
digitalWrite(Led, HIGH);
} else {
digitalWrite(Led, LOW);
}
}


マグネットは水銀に比べて身体に安全という利点がありそうだ
水銀チルトセンサーはチルト(tilt)を測定する
水銀チルトセンサーの斜度を変えて、LEDは点灯や消灯する
チルトとは傾斜
int Led = 13;
int buttonpin = 3;
int val;
void setup() {
pinMode(Led, OUTPUT);
pinMode(buttonpin, INPUT);
}
void loop() {
val = digitalRead(buttonpin);
if(val==HIGH){
digitalWrite(Led, HIGH);
} else {
digitalWrite(Led, LOW);
}
}


傾斜が変わるって何だろう? 地震は揺れだし、単にオンオフの切り替えならばスイッチで良いし。
かつてはガスファンヒーター・石油ヒーターなどの転倒防止スイッチで使用されていたらしい。
水銀が危険なので現在は使われていないとのこと。センサー一つで歴史を感じる。
遮光センサーはフォトインタラプタを検出できる。
フォトインタラプタとは?
>発光素子と受光素子を1つのパッケージに対向して並べ、その間を検出物体が光をさえぎることにより、検出機能を持つ
int Led = 13;
int val;
void setup() {
pinMode(Led, OUTPUT);
pinMode(3, INPUT);
}
void loop() {
val = digitalRead(3);
if(val==HIGH){
digitalWrite(Led, HIGH);
} else {
digitalWrite(Led, LOW);
}
}


コレはびっくりする。
物体検知という意味では赤外線センサーなどと一緒なのかもしれないが、原理が全く異なるのね。
char val;
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
val = Serial.read();
if(val=='1'){
digitalWrite(13, HIGH);
}
if(val=='0'){
digitalWrite(13, LOW);
}
}


Bluetoothでメッセージ通信を行います。
AndroidにAmarino 2.0 build 0.55をインストールします。
void setup() {
Serial.begin(9600);
}
void loop() {
char val;
val = Serial.read();
if((val>='a' && val <= 'z') || (val>='A' && val<= 'Z')){
Serial.println(val);
}
}


avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
ん? どういうことだ?
#include <IRremote.h>
IRsend irsend;
const int buttonPin = 4;
int buttonState = 0;
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
if(buttonState == HIGH){
irsend.sendNEC(0x80BFA15E, 32);
}
}


int redpin = 11;
int bluepin = 10;
int greenpin = 9;
int val;
void setup() {
pinMode(redpin, OUTPUT);
pinMode(bluepin, OUTPUT);
pinMode(greenpin, OUTPUT);
Serial.begin(9600);
}
void loop() {
for(val=255;val>0;val--){
analogWrite(11,val);
analogWrite(10,255-val);
analogWrite(9,128-val);
delay(1);
}
for(val=0; val<255; val++){
analogWrite(11,val);
analogWrite(10,255-val);
analogWrite(9,128-val);
delay(1);
}
Serial.println(val,DEC);
}

header
#ifndef dht_h
#define dht_h
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#define DHT_LIB_VERSION "0.1.00"
class dht
{
public:
int read11(uint8_t pin);
int read22(uint8_t pin);
double humidity;
double temperature;
private:
uint8_t bits[5]; // buffer to receive data
int read(uint8_t pin);
};
#endif
sketch
#include<dht.h>
dht DHT;
#define DHT11_PIN 3
void setup() {
Serial.begin(9600);
Serial.println("The realtime Temperature and Humidity is :");
}
void loop() {
int chk = DHT.read11(DHT11_PIN);
Serial.print(" Humidity: ");
Serial.print(DHT.humidity, 1);
Serial.println('%');
Serial.print(" Temperature: ");
Serial.print(DHT.temperature, 1);
Serial.println('C');
delay(2000);
}
配線はvccを5v, dataを3番ピンにつなぐ

シリアルボード
Humidity: 69.0%
Temparature 26.0C
コレ、arduinoでどうセンサーを使うかってより、各センサーの仕組みがどうなってるか理解しないと、どうにもならんな。