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 0import smbusimport time# Get I2C busbus = 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) - 50print(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))outnana@alice:~ $ sudo python3 temp.pyTemperature: 24.7CHumidity: 47% はんだつけたばっかりだからまだちょっと熱いか。
今他の温度計では22.8度、52%という表示。
temperture扱うコードでtempって変数名使われるとムズい。
適当に整形して、MH-Z19Bで自宅のCO2濃度を測定する。#5f6d9017afd3920000719646みたいにすればよさそう。
なんかそれっぽい気はする。
室温とかを監視したい!シリーズ