Maker Pi RP2040には7つのGroveコネクタがあり、様々なGroveデバイスを接続することが出来ます。Grove DHT20温湿度センサー(Grove - Temperature&Humidity Sensor DHT20 )を接続して温度・湿度を計測するには、以下の手順を実行します。
〇Maker Pi RP2040と接続したGrove DHT20温湿度センサー(Grove - Temperature&Humidity Sensor DHT20 )
実行手順
1. Maker Pi RP2040をパソコンにUSBで接続して、Mu Editorを起動します。
2. 以下のリポジトリ(Adafruit_CircuitPython_AHTx0)からCircuitPython用のDHT20ドライバクラスを取得します。
https://github.com/adafruit/Adafruit_CircuitPython_AHTx0
以下のpythonソースをダウンロードして、Maker Pi RP2040のlibディレクトリ以下にエクスプローラーなどを用いてコピーします。
https://github.com/adafruit/Adafruit_CircuitPython_AHTx0/blob/main/adafruit_ahtx0.py
3. code.pyを開いて、以下のプログラムを書き込みます。
シリアルに温度・湿度の計測値を出力し、温度が高いほどRGB LED0を明るく赤色に点灯させ、湿度が高いほどRGB LED1を明るく青色に点灯します。
DHT20温湿度センサーはGrove2コネクタに接続します。
※circuit python 7.2.5以降にアップグレードしてから実行してください。
※Mu Editorを使用せず、code.pyを直接エクスプローラーなどから保存する事も出来ます。
import board
import time
import digitalio
import adafruit_ahtx0
import busio
import neopixel_write
# RGB LEDを初期化
dio18 = digitalio.DigitalInOut(board.GP18)
dio18.direction = digitalio.Direction.OUTPUT
pixel_buf = bytearray([0, 0, 0, 0, 0, 0])
neopixel_write.neopixel_write(dio18, pixel_buf)
# DHT20初期化
i2c = busio.I2C(board.GP3, board.GP2, frequency=1000000)
dht20 = adafruit_ahtx0.AHTx0(i2c)
while True:
# 温度が高いほど明るい赤で表示
temp = dht20.temperature
print("Temp: %0.1f C" % temp)
temp = 0 if temp < 0 else temp
temp = 40 if temp > 40 else temp
# 湿度が高いほど明るい青で表示
humi = dht20.relative_humidity
print("Humidity: %0.1f %%" % humi)
humi = int(humi/100*255)
pixel_buf = bytearray([0, int(temp/40*255), 0, 0, 0, humi])
neopixel_write.neopixel_write(dio18, pixel_buf)
time.sleep(1)
関連情報
・Maker Pi RP2040に関する他の情報は
こちらを参照してください。
・Mu Editorに関する他の情報は
こちらを参照してください。