TWELITEでLED点灯とスイッチ入力をしてみた

TWELITE 工作


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台で通信する場合はこれらの設定はせず、ディフォルトのままでも工作することができます。

コメント  

タイトルとURLをコピーしました