チャコメーター1に湿度表示機能を追加しました。
7セグLEDに表示させましたが、夜中眩しくていけません。
夜、部屋の照明を消灯すと、表示が暗くなる機能を追加したいと思います。
部品
手持ちのTSL2561で照度を測ります。
照度センサーをLEDの横に置くのはどうかと思いましたが、とりあえずブレッドボードの空いている箇所に設置しました。
i2cdetect
配線後、「再起動しないとダメかな」と思いつつi2cdetectすると、39ありました!
さすがラズパイ(の互換機)。
linaro@KK:/mnt/usb/work/7seg$ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- 39 -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
tsl2561ドライバ をインストール
pipでtsl2561ドライバをインストールします。
linaro@KK:/mnt/usb/work/7seg$ sudo pip install tsl2561 Looking in indexes: https://pypi.org/simple, https://www.piwheels.hostedpi.com/simple Collecting tsl2561 Downloading https://files.pythonhosted.org/packages/c6/6d/56f17e30c1121c80de7c1fd984680f76395d712561f7bc4c63ea4db00412/tsl2561-3.4.0-py3-none-any.whl Installing collected packages: tsl2561 Successfully installed tsl2561-3.4.0
照度測定
ドライバーをインポートし、「tsl = TSL2561(debug=True)」で照度を測定できま した。
from tsl2561 import TSL2561 tsl = TSL2561(debug=True) print(tsl.lux())
PM2:00ごろ、明るい昼間、80lux、
PM6:00ごろ、23lux、電気をつけて、60lux程度
夜、電気を消すと、2luxでした。
明るさ調整機能
1分に1回照度を測定し、10lux未満の場合は点灯時間を短くするようにしました。
for m in range(5): tsl = TSL2561(debug=True) #<--- 照度測定 if tsl.lux() < 10: #<--- 10lux未満の場合、点灯時間を短くする On_Time = 0.0001 else: On_Time = 0.0004 Of_Time = 0.0010 - On_Time for n in range(20000): #<--- About 60sec for j in range(3): a = digit[ d[j] ] for i in range(8): if a[i] == 1: GPIO.output(Pin_A[i], GPIO.HIGH) else: GPIO.output(Pin_A[i], GPIO.LOW) if j == 1: GPIO.output(239, GPIO.HIGH) GPIO.output(Pin_C[j], GPIO.HIGH) time.sleep(On_Time) GPIO.output(Pin_C[j], GPIO.LOW) time.sleep(Of_Time)
完成
夜、電気を消すと、表示も暗くなりました。