こんにちは! なかぢです。
2018年もいよいよ数日となりました!
先週末、会社の忘年会で2次会まで参加させて頂いて11時も過ぎようとしていたので、「こりゃ、終電ないな~」と諦めかけていた時、「電車遅れているみたいで終電間に合いますよ!」と某Tさんから連絡があり、無事お家に帰れました!(やっぱ、悪運が強い・・・w)
さて、今日のお勉強は、前回の、RaspberryPiのLED制御に続き、応用偏として「光センサーによるLED制御」です。
光センサーとは?
光の有無あるいはその強度を電圧に変換して出力するセンサーのことで、
簡単に言うと、光の強さや、明るいor暗いに反応するセンサーの事を言います。
身近な例では、プリンタの用紙切れ状態を検出したり、スマートフォンなどが人の顔に接近したことを検出してタッチパネルの表示をオフにするなどに使われています。
さて、この光センサーを利用して、センサーが暗くなったなら、LEDを光るような仕組みのものを作りたいと思います。
一番シンプルな配線図は、こんな感じ
これに、抵抗やらなんやら足すとこんな感じになります。
では、さっそく動かしてみましょう!
ん? んんん???? んんんんん???? あれ~????
センサーを暗くすると、LEDが発光するする想定だったのに、センサーを暗くするとLEDも消灯しちゃったYO!
失敗w失敗w
気を取り直して、配線図をいろんなサイトを参考にしながら作り直して、さらに
プログラムを書いてプログラム通りに動くか検証してみました。
配線図は、こんな感じ
次に動作させるためのプログラムを作成しました。内容としては次の通りになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(23,GPIO.OUT) GPIO.setup(24,GPIO.IN) try: while True: if GPIO.input(24) == GPIO.HIGH: GPIO.output(23,GPIO.LOW) else: GPIO.output(23,GPIO.HIGH) except KeyBoardInterrupt: pass |
では、さっそく動かしてみましょう!
できた!できた!想定通りの動きになりました。
如何でしたでしょうか? 一つ一つの機能をどうやって動作させるかをメインにやっていきたいと思います。機能を検証して実証した内容が溜まっていけば、あとは合わせ技で、実現したい目標を立てればできそうな気がしています。 なかぢでした。