micro:bitで温度センサ(TMP102)の温度計測値を無線で飛ばしてみた。
昨日の温度センサの話の続きだ。

プログラムは次のように書いてみた。
import radio
from microbit import display, Image, sleep, i2c, pin19, pin20
display.show(Image.HAPPY)
radio.on()
i2c.init(freq=10000, sda=pin20, scl=pin19)
addr = 0x49
while True:
i2c.write(addr, b'\x00')
data1, data2 = i2c.read(addr, 2)
d = (data1*256+data2)/16
if data1 >= 128:
t1 = (d-4096)*128/2047
else:
t1 = d*128/2047
s = "t = "+str(t1)+"\n\r"
radio.send_bytes(s)
sleep(5000)
前に作ったmicro:bitで温度測定して無線通信するプログラムを改造して、TMP102の温度計測用プログラムの計測部分に差し替えて作ってみた。
受信側は前と一緒のプログラムを使う。
import radio
from microbit import display, Image, sleep, uart
display.show(Image.HAPPY)
radio.on()
uart.init(baudrate=9600, bits=8, parity=None, stop=1)
while True:
if uart.any():
s=uart.read()
radio.send_bytes(s)
t=radio.receive_bytes()
if t is not None:
uart.write(t)
受信側のプログラムを動作させたmicro:bitはPCに接続し、PCでTeraTermなどのターミナルソフトで通信内容を受信する。
あるいはPCで受信する代わりにM5stackを使って受信させるというのもよいだろう。
→ M5Stackとmicro:bitを合体させてみる