TWELITE DIPにLEDとタクトスイッチを接続して、LED点灯の制御とタクトスイッチ操作による信号レベル変化をMONOSTICKを使ってリモートから実施してみました。
工作する回路はモノワイヤレスのTWELITE DIPクイックマニュアルに記載されている回路を参照しています。手持ち部品の関係からLEDに接続する抵抗値が異なっています。
LEDは電源ONだけで点灯する白LED(電源LED)とDO1に緑LEDの2つを配線しました。緑LEDのアノードは470Ωで電池ボックスプラス線(VCC)に配線し、カソードをDO1に接続しています。
タクトスイッチはDI1にしました。スイッチのもう一端は電池ボックスマイナス線(GND)に配線しています。
この配線を回路図にするとこんな感じになります。この回路図は水魚堂さんのBSch3Vで書いています。
ブレッドボード上の配線をクローズアップするとこんな感じになっています。
PCのUSBコネクタに差さっているMONOSTICKを通して、PCからLEDをON/OFFするPythonプログラムは以下の感じです。LED ONのコメント行の下を実行するとLEDが点灯し、LED OFFのコメント行の下を実行するとLEDが消灯します。TWELITE DIPのDO1に対応する値がピンクでマーカーされているところになります。この部分の出力フォーマットについてはモノワイヤレスのホームページに詳しく書かれています。
コードの後半はTWELITE DIPの状態を読み取っています。
なお、私のPCではMONOSTICKがCOM6に接続されていましたので、COMポートはCOM6でオープンしています。
import serial
# MONOSTICKが接続されているCOMポートのオープン
s = serial.Serial(“COM6”, 115200, timeout=5)
# LED ON
bs = ‘:03800101010000000000000000XX\r\n’
# LED OFF
# bs = ‘:03800100010000000000000000XX\r\n’
# TWELITE DIPへの信号出力
s.write(bs.encode())
# TWELITE DIPからの状態の読み取りと出力
line = s.readline()
line = line.decode(‘utf-8’)
print(“\n%s” % line)
# MONOSTICKが接続されているCOMポートのクローズ
s.close()
タクトスイッチをON/OFFしながらこのブログラム(工作室ではled-on-win.pyと命名)を実行するとスイッチの状態を取得することができます。ピンクでマーカーされているところがDI1の状態を表しています。状態の詳細についてはモノワイヤレスのホームページに詳しく書かれています。
P> python led-on-win.py
:0381150175810CCE18007771000B961B8000FFFFFFFFFF5F
> python led-on-win.py
:0381150184810CCE1800791D000B961B8101FFFFFFFFFFA0
> python led-on-win.py
:038115018D810CCE18007AAD000B961B8001FFFFFFFFFF07
なお、ここの工作で使っているTWELITE DIPはDevice IDを3にセットしています。状態データの先頭の値が03になっていますが、これはDevice ID = 3からの状態データだということを表しています。このほかにもApplication IDも設定しています。Application IDについてはこちら、Device IDについてはこちらに詳しく書いています。なお、子機1台で通信する場合はこれらの設定はせず、ディフォルトのままでも工作することができます。
コメント