この記事はArduino Advent Calendar 2019の14日目です。昨日は@kimio_kosakaさんのお手軽ATtiny10開発環境でした。
事の起こり
最近Aliexpressを使うようになってセンサーモジュールが安く手に入ることが知って、センサー単体ではなくモジュール単位でまとめ買いするようになったので、購入したセンサーのArduinoでの使い方をまとめておこうと思います。
どれも電源と信号線を1本つなぐだけなので簡単に使えます。
センサーモジュールの使い方いろいろ
人感センサー HC-SR501
赤外線感知式の人感センサーモジュールです。Passive Infrared Rayを略して、PIRセンサーとも言うらしいですね。人感モジュールは人でなくてもものが遮ったときなどを検知できるので活用範囲が広いと思います。
Aliexpressで送料込み100円ほどで購入しました。
センサーモジュール
接続
デジタル入力で感知結果を受け取れるのでデジタル7ピンにつないでいます。
※friztingのパーツ画像では5VとGNDが逆になっていますが、適当に読み替えてください
テストコード
人感センサーが反応すると内蔵LEDが光ります。またシリアルコンソールモニタで反応している間は1
を出力します。
int state = LOW;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(7, INPUT);
Serial.begin(9600);
}
void loop() {
state = digitalRead(7);
Serial.println(state);
if (state == HIGH) {
digitalWrite(LED_BUILTIN, HIGH);
} else {
digitalWrite(LED_BUILTIN, LOW);
}
delay(100);
}
磁気センサーモジュール
磁気を検知するスイッチ(リードスイッチ)モジュールです。デフォルトで1
が出力され、磁石が近づくと0
を出力するようになります。
ドアとドア枠にスイッチと磁石をつけることで開閉の検知や、物が置かれているかどうかの検知などに使えます。
Aliexpressで送料込み60円ほどで購入しました。
センサーモジュール
接続とテストコード
ピンの順番が違うものの、人感センサーモジュールと同様の接続、同じテストコードで動作します。
傾きセンサーモジュール
傾きを検知するスイッチ(ティルトスイッチ)モジュールです。上部に接続されている円筒形のティルトスイッチ内の鉄球がモジュール側に傾くと1
が出力され、離れると0
が出力されます。
転倒の検知や、傾きの方向が限定されているので、3つ組み合わせて箱の向きを検知することなどができます。
Aliexpressで送料込み60円ほどで購入しました。
センサーモジュール
接続とテストコード
リードスイッチモジュールと完全に互換性があります。
まとめ
今までセンサーが必要なときはセンサー単体で買ってきて、都度データシートを読みながら適切な抵抗やダイオードやコンデンサを組み合わせて使っていましたが、この価格で細かいことを気にせずにセンサーが使えるのは手間がかからないし、プロトタイピングをもっと気軽にやれるようになると思うので積極的に使っていきたいと思います。
電子工作やIoTの初心者向けにもセンサー単体の利用ではなく、まずはセンサーモジュールから利用をすすめてもいいかもと感じました。