第15回 IoT×プログラミング教育
単純で簡単そうな部品「傾斜センサー」を使ってみます。
傾斜センサーとは?
Arduino拡張キットにコンデンサーみたいな形のセンサーが入っていました。
降ると音がして、中に球が入っているようです。
説明書には「傾斜センサー」と書かれていたので、傾きを取得してくれるのでしょう。
「ESPr Developer」を使う
傾斜センサーに反応して光る仕組みを作りますが、最終的には無線接続をしたかったので、今回は「Arduino」ではなく、Wi-Fi搭載の「ESPr Developer」をArduino互換機として使います。
以前「ESPr Developer」について予習した知識では
- アナログ入力は1つしかなく、TOUTピンを使う
- TOUTは1Vまでの入力なので分圧回路を組む
・・・ここら辺は、子供に説明できるレベルを超えているような気がして、傾斜センサーを中心に見ていきます。
傾斜センサーの回路を組む
「ESPr Developer」の下にジャンパーワイヤーを差し込んでいます。
傾斜センサーは足が2本しかないので、今まで使ったセンサーの中で最も簡単な部類に入るかと思います。片方の足に電圧をかけ、アナログ入力(TOUT)につなぐだけです。
傾きに応じて、電圧が変化すると思いきや・・・ON、OFF、スパッと切り替わります。
これは、センサーというよりスイッチでは?
傾くとスイッチが切れるようです。
アナログ入力を使う必要があるのか分かりませんが、分圧回路で510Ωと200Ωの抵抗器を使い、TOUTへ入力を1V以下に抑えています。
あとは、傾きに反応して光るよう、13ピンにLEDをつないでいます。
傾けて光らせよう
計算では・・・常時942くらいのアナログ入力値を受け取ることになると思いますが、余裕をみて800より大きい時を通常時とし、800以下を傾いたと判断します。
#define PIN 13 int val = 0; //アナログ入力値 void setup(){ pinMode(PIN, OUTPUT); } void loop(){ val = analogRead(0); if(val > 800){ //傾き無し digitalWrite(PIN,LOW); }else{ //傾き中 digitalWrite(PIN,HIGH); } delay(50); }
傾けている間、光ります。
やってみます。
傾けると・・・
光ります。
・・・これだけです。
しかし、次回は「ESPr Developer」を使ったIoTを体験できるようにします。