愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。
以前こちらの記事で、Raspberry piを使いLEDを点灯させるという事に挑戦しました。スマート製品、IoT製品の基礎の基礎ですね。
今回はただ光らせるだけでなく、チカチカと点滅させたいと思います。このLEDをチカチカ制御する事を、電子工作業界では『Lチカ』と言ったりして、最初の課題とされるくらいの基本の技術だったりします。
あと、チカチカさせるためにはプログラムを組む必要があって、今回は『Python』というプログラミング言語を使います。Pythonの入門と呼べるくらいの簡単なプログラムですので、ご安心ください。
Raspberry pi でLチカするために準備するもの
- Raspberry pi一式
- LED
- 抵抗
- ブレッドボード
- ジャンプワイヤ
下記記事で準備したものを、そのまま使います。また、Raspberry pi やLEDなどを繋げた回路もこの記事で作ったものを変更していきます。
Lチカのための回路変更
Raspberry pi とブレッドボードをジャンプワイヤで繋いでいますが、Raspberry pi の繋いでいる場所、GPIOの接続箇所を変更します。
現在、『3V3』という端子に繋がっているジャンプワイヤを、その隣のGPIO02という端子に繋ぎ変えてください。図で説明すると、下記の赤い矢印のような感じです。
写真だとこんな感じ。
GPIOは、簡単に言うとプログラムでONやOFFを制御できる端子です。今回は点滅させたいので、ON・OFFを繰り返すプログラムを作ります。
PythonでLチカのプログラミング
それでは、Pythonというプログラミング言語を使って、LEDを点滅させるプログラムをつくりましょう。Pythonはできることがたくさんあって、”ライブラリ”というものがそれを支えています。が、今回はそこまで複雑なライブラリは使いません。
Pythonを使うためのツール立ち上げ
今回は『Thonny Python IDE』というエディタを使って、Pythonのプログラムを作ります。Raspbianのインストールの際に、フルサイズ版をインストールしていれば、この『Thonny Python IDE』も一緒にインストールされると思います。
スタートメニューのプログラミングメニューにある『Thonny Python IDE』を起動します。
立ち上げた画面がこちら。
上記のようにテキストエリアにプログラムを書いていきます。
プログラムを書く
では、以下のプログラムをエディタで書いてください。下記からコピペで問題ありません。プログラムの詳細は後述します。
import RPi.GPIO as GPIO *1)
import time *2)
GPIO.setmode(GPIO.BCM) *3)
GPIO.setup(2, GPIO.OUT) *4)
while True: *5)
GPIO.output(2, GPIO.HIGH) *6)
time.sleep(0.5) *7)
GPIO.output(2, GPIO.LOW) *6)
time.sleep(0.5) *7)
Pythonで書いたプログラムを実行
では、Pythonで作ったプログラムを実行しましょう。実行方法は、エディタに再生ボタンがあり、これをクリックするとプログラムが実行されます。
どうでしょうか。LEDがチカチカと点滅したでしょうか?もし点滅しないよ、という人がいたら、プログラムを間違えていないか、回路の繋ぎ方が間違っていないか、確認してください。
Pythonプログラムの説明
それでは、プログラムの説明です。*1)から*7)に分けて説明します。
*1) GPIOを制御するためのライブラリをインポート
*2) 待ち時間を設定するためのライブラリとインポート
*3) モードを指定。GPIO02などの役割で制御したい場合には BCM というモードを指定。
*4) GPIO02が、出力(OUT)ですよ、と指定。
*5) ずっと繰り返すために、while True: を記述。
*6) GPIO02 に HIGH,LOW の信号を送る(HIGH:点灯、LOW:消灯という信号をOUTする)
*7) 0.5秒間隔毎に点灯⇔消灯を繰り返すように待ち時間を設定
さいごに
今回はRaspberry piとPythonというプログラミング言語を使って、LEDを点滅させるLチカを試しました。
これを応用すると、ある温度になったらLEDを光らせる、ある時間になったらLEDを消すなどのシステムを作ることができるようになりますので、色々と試してみましょう。
コメント