micro:bitで温度センサ(TMP102)の温度計測値を無線で飛ばしてみた

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を合体させてみる




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

10 + = 14