プログラミング教室「プロラボ唐津」では、電子工作やIoTなどモノづくりのプログラミング教育も行っています。
電子工作といえば、一から作るイメージがあるかもしれませんが、既製品の機器を使って、最短でやりたいことを実現することもできます。
今回は、家電や照明などのスイッチを遠隔操作できる「SwitchBot」というスマートデバイス(IoT機器)を使って、簡単に操作する方法を説明していきます。
IoTとは、モノとインターネットをつなぐ技術のことで、「モノのインターネット」とも呼ばれています。
この「SwitchBot」は、スマートフォンからスイッチをON・OFFできるIoT機器です。
自宅でも、照明のスイッチを自動ON/OFFするために利用しています。
ただし、スマートフォンから毎回タップして照明をON/OFFするのではなく、センサを使って、自動でON/OFFするプログラムを作っている途中です。
「SwitchBot」は、市販で販売されている商品ですので、基本的にはスマホ操作で完結します。
スマホ操作は決まった方法での操作となり、細かい制御ができません。
しかし、「SwitchBot」の開発元が提供しているAPIを利用すると、細かい制御を実現することができます。
APIとは、色々なプログラム言語と「SwitchBot」を橋渡しするプログラムで、SwitchBotAPIを利用すれば、PythonやC++言語で操作できます。
左側にあるのが、ESP-WROOM-32(ESP32)といって、WiFiやBluetooth接続ができる電子機器です。
こちらのESP32とSwitchBotAPIを使って、「SwitchBot」を操作するプログラムを作っていきます。
こちらは少し分かりづらいですが、SwitchBotAPIを使って、遠隔で「SwitchBot」を操作しています。
スマートフォンから操作しておらず、スイッチが自動で動いているのが分かりますよね?
SwitchBotAPIを使って、ESP32から自動操作をしています。
これだけだと、単にスマホ操作とあまり変わりません。
そこで、このプログラムにセンサを拡張させ、カスタマイズしていきます。
まずは、光センサです。
動画では、部屋が明るくなってから「SwitchBot」が動いているのが分かります。
さらに、照明のON/OFFが分かるように、黄色LEDを光らせています。
部屋が暗くなると、また「SwitchBot」が動いて、黄色LEDが消えます。
このように、光の明るさで「SwitchBot」を自動制御してます。
これならわざわざ、スマホから操作しなくても済みますし、便利ですよね。
これを実現してるのが、上の方に刺さっている「光センサ」です。
こちらは、CdSセルという光センサで、光の当たる量によって抵抗値が変化します。
てっぺんの受光部に当たる光の量が多ければ、抵抗値が小さくなり、少なくなれば抵抗値が大きくなります。
この抵抗値をチェックして、「SwitchBot」を自動操作していたというわけです。
こちらは、赤外線距離センサを利用した別の方法です。
赤外線距離センサは、赤外線を使って、物体の距離を測るセンサです。
こちらは、特定の距離まで物体が来たら「SwitchBot」を動かすようプログラミングしています。
センサといっても色々なセンサがあり、使い方や条件の設定は様々です。
実は、すでにそのようなセンサを搭載している商品が販売されています。
こちらの商品も、赤外線距離センサが搭載されており、「SwitchBot」と連動するようになっています。
実際にこちらの商品を持っているのですが、自分がやりたい細かい命令ができませんでした。
そこで、そのセンサ部分を自作で作っているというわけです。
電子工作の知識であれば、自分で何でも作ることができ、自由にカスタマイズできます。
これが、電子工作の醍醐味です。
電子工作にはまると、モノづくりがすごく楽しくなります。
子供たちには、その楽しさを知ってほしいです。