コロナ禍の冬、室内の湿度をチェックする機会が増えています。
チャコメーター1に7セグLEDを付け、直接湿度を読めるようにします。
前回、Fritzingで回路を設計しました。
回路を組む前に、Tinker BoardのGPIOの練習をしたいと思います。
回路
Pin11(io=164)にLEDを接続しました。
テストプログラム
なぜかPython3でGPIOを駆動できません。
色々調べて原因がわからなかったのですが、Python2で試すとすんなり制御できてしまいました。
特に拘りも無いのでPython2で組みました。
DBから最新のデータを読み込んで、電池電圧が4.8V未満の場合にLEDを点灯します。
import ASUS.GPIO as GPIO import time import sqlite3 import datetime pin=164 GPIO.setmode(GPIO.ASUS) GPIO.setup(Pin, GPIO.OUT) dbname = 'esp32-3a.db' c=0 while 1: con = sqlite3.connect(dbname) cur = con.cursor() cur.execute('SELECT * FROM BME280 order by timestamp desc limit 1') val = cur.fetchone() print 'Humid=', val[3] print 'Vcell=', val[1] cur.close() con.close() if val[1] < 4.8: GPIO.output(Pin, GPIO.HIGH) print 'H' else: GPIO.output(Pin, GPIO.LOW) print 'L' time.sleep(600); c=c+1
プログラム実行
電池電圧は4.8Vを切っているので、LEDが点灯しました。
湿度値もちゃんと読めています。