電子工作知識ゼロのWeb系エンジニアがIoTに挑戦。
今回はまだ、インターネットにはつながりません。
JavaScriptで動くマイコン「Espruino」を人感センサー(焦電センサー)と繋いで、人の接近を感知してLEDを光らせる装置を作ってみたいと思います。
Espruinoのセットアップ等は、↓で記事にしています。
Espruinoに接続してプログラムを実行
準備するもの
- Espruino
- 日本ではELEFINEから通販で入手可能
- 人感センサー(焦電センサー)
- 今回はSB412Aというモジュールを使用しています
- LED
- ブレッドボード
- ジャンパワイヤ(オス-オス)
- ピンヘッダ
- はんだごて
- USBケーブル(A-マイクロB)
手順
ピンヘッダのはんだ付け
Espruinoをブレッドボードで使えるようにするため、ピンヘッダをはんだでくっつけます。
GND、Bat、3.3は電気を通すために必ずつけておく必要があります(両サイド、中央部にありますが、とりあえず片方のサイドのみでOK)。
それ以外にはA0〜C15と書かれた穴がありますが、これらはセンサやLEDなどとデータのやりとりをするのに使うものです。今回はA0とA1しか使いませんが、ブレッドボード上で安定させるために余分につけておくと良いです。今回はB8までつけました。
配線
- Espruinoを、ブレッドボード上の適当なところに、ピンが縦に並ぶように挿す
- その隣に、人感センサーモジュールを挿す
- LEDの足の長い方をEspruinoの「A1」と同じ並びに、足の短い方をブレッドボードの「−」の列に挿す
- ジャンパワイヤを使って接続していく
- Espruinoの「3.3」(と並んだどこか)と、ブレッドボードの「+」の列
- Espruinoの「GND」(と並んだどこか)と、ブレッドボードの「−」の列
- センサモジュールの「+」(と並んだどこか)と、ブレッドボードの「+」の列
- センサモジュールの「−」(と並んだどこか)と、ブレッドボードの「−」の列
- センサモジュールの中央のピン(と並んだとこか)と、ブレッドボードの「A0」の列
- EspruinoとPCをUSBで接続する
プログラミング
Espruino IDEを使って、以下のJSをEspruinoに送り込みます。
setWatch(function() {
A1.write(1);
}, A0, {repeat:true, edge:"rising", debounce:0});
setWatch(function() {
A1.write(0);
}, A0, {repeat:true, edge:"falling", debounce:0});
setWatchというのはEspruino独自の、センサーに適した関数で、こちらに詳しい解説(英語)が載っています。
↑では、センサー(A1)が感知したらLED(A0)をつける、感知しなくなったらLEDを消す、ということを書いています。
実験
ブレッドボードを少し離れた場所に置いて、近付いてみたり遠ざかってみたり(あるいはじっと静止してみたり)すると、LEDがついたり消えたりしました。大成功。
今のところ、電気回路の知識がなくてもなんとかなっています。
次回はいよいよ、この装置をインターネットにつなげてみたいと思います!
マイコンをインターネットにつなぐ前に必要な、WiFiモジュールのセットアップについてはこちら↓
ESP-WROOM-02からWiFi接続してIoTなHello World