AHT10
温度と湿度を測るセンサ。
I2Cで取れるらしいが……見えない!
ピンのうえにのっけただけではもしかしてダメ? と思って、ついてきたピンにはんだ付けして繋いでみたらちゃんと見えた。
temp.py
# -*- coding: utf-8 -*-
#!/usr/bin/python3
#https://github.com/Thinary/AHT10/blob/master/src/Thinary_AHT10.cpp
#https://myhydropi.com/raspberry-pi-i2c-temperature-sensor
#i2cdetect -y 0
import smbus
import time
# Get I2C bus
bus = smbus.SMBus(1)
config = [0x08, 0x00]
bus.write_i2c_block_data(0x38, 0xE1, config)
time.sleep(0.5)
byt = bus.read_byte(0x38)
#print(byt&0x68)
MeasureCmd = [0x33, 0x00]
bus.write_i2c_block_data(0x38, 0xAC, MeasureCmd)
time.sleep(0.5)
data = bus.read_i2c_block_data(0x38,0x00)
#print(data)
temp = ((data[3] & 0x0F) << 16) | (data[4] << 8) | data[5]
ctemp = ((temp*200) / 1048576) - 50
print(u'Temperature: {0:.1f}C'.format(ctemp))
tmp = ((data[1] << 16) | (data[2] << 8) | data[3]) >> 4
#print(tmp)
ctmp = int(tmp * 100 / 1048576)
print(u'Humidity: {0}%'.format(ctmp))
out
nana@alice:~ $ sudo python3 temp.py
Temperature: 24.7C
Humidity: 47%
はんだつけたばっかりだからまだちょっと熱いか。
今他の温度計では22.8度、52%という表示。
temperture扱うコードでtempって変数名使われるとムズい。
適当に整形して、MH-Z19Bで自宅のCO2濃度を測定する。#5f6d9017afd3920000719646みたいにすればよさそう。
なんかそれっぽい気はする。
室温とかを監視したい!シリーズ