raspberry-piで初期設定が終わったら、まずLチカがやりたいかと思います。
でもなんだかよくわかりませんよね。
とりあえず、何でもいいので光らせてみたいと思います。
Lチカとは?
人にはききにくいですよね。
なんということはありません。プログラム制御でLEDを光らせることです。
ラズパイの他に必要なものは?
まずはLEDと、抵抗と、ジャンパーピンです。
※ ジャンパーピンは要するに電気の線です。オスメスのものを用意します。
オスメスとは、片方は針金(表現がまずいか?)が出ていて、片方は差し込まれる形状のものということです。
※ 抵抗は100Ωだそうです。よくわからなくても100Ω以上なら大丈夫です。
LEDが暗く光るだけです(笑)
ちなみに抵抗をつけないと、LEDが爆発します!!危険です。
ただ、こういったものの入手も困難かもしれません。
Amazonなんかでも全部セットとかにして売っているので、それで購入してもいいと思います。
ブレッドボードもあるといいです
はんだ付けをする人なら、前述の部品でLチカできます。
でもそうゆうのは面倒な方はこれです。
穴の中に金属板が入っているので、配線をブスブスと穴に差し込めば、簡易的な実験ができます。
NOはんだです。
配線について
まずはLED
LEDは足の長いほうがプラスです。
抵抗はどちら向きでも大丈夫です。
配線イメージ
直接つなぐとこのような形になります。
GNDという言葉が出てきました。これはグラウンドのこと。
マイナス端子をつなぐ場所なんです。
ラズパイではどこにあるか説明しますね。
ラズパイのピン配置
図上がラズパイの外側です。
黒丸がGNDです。どれにつないでも同じです。
番号の書いてあるところにプラスをつなげて、プログラムで制御します。
後述しますが、この番号はプログラムでBCMというものになります。
※ 赤丸は5V、オレンジは3.3Vが直接取れます。制御しないもの。例えば、冷却ファンなどを取り付けるといいです。
つないでみます
今回はミニブレッドボードを使いました
普通のブレッドボードと、少し説明します。
ミニブレッドボードは、この通りプラスもマイナスも何も書いていません。
でもご心配なく。
中身は横に金属板が埋め込まれているだけです。
行ごとにプラスとマイナスを分けて指せばいいだけなんです。
今回はプラスを18番につなぎます
上の図で18番を見るとGNDの隣にあります。つないだ理由はそれだけです(笑)
ブレッドボードはこんな感じです。
次はラズパイでの作業になります。
プログラムしてみます
ラズパイでは、pythonというプログラム言語を使います。
何でプログラムを記述するのかといいますと、nanoというエディターを使って記述します。
nanoは、何というかメモ帳に近いものです。
とりあえず、nanoというものがあるよでいいです。
ラズパイでターミナルを開きます
画面左上の黒い四角をクリックです。
ターミナルの画面が出ます。
nanoと打ち込んで、エンターを押します。
ターミナルと同じような黒い画面なんですが、これがnano
写真はプログラムを書き込んだところです。
内容はこちら。
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.OUT)
while 1:
GPIO.output(18,True)
time.sleep(1.0)
GPIO.output(18,False)
time.sleep(1.0)
なんだかよくわからない。となれば、ラズパイのブラウザでこのブログをひらいて、コピペしてもいいです。
理屈は後(笑)光らなければ面白くない!
プログラムを保存します
nanoの画面の下に説明があるんです。
終了するにはXなんですね、操作方法は、キーボードのCtrlとXを押します。
保存の確認です。キーボードのYを押します。
書き込むファイルとは名前を付けるということです。
今回は、lthika.pyにしました。
名前は何でもいいのですが、pythonのプログラムの場合は、必ず最後を.pyにします。
なんで?
まぁいいじゃないですか、細かいこと(笑)
プログラムを実行します
ターミナルで、先ほど保存したファイル名を実行します。
python lthika.py
でエンターです。
これだけで光りました。
少しだけ解説
根がいい加減なので、変な解説ですいません!!
#!/usr/bin/python #おまじないみたいなもの毎回書きます。
import RPi.GPIO as GPIO #GPIOピン使いますよ宣言。
import time #時間を制御します宣言。
GPIO.setwarnings(False) #以前のGPIOの記憶は関係ないぜ宣言。
GPIO.setmode(GPIO.BCM) #BCMの並びを使う宣言。
#(上の図がBCMの並び。ピンの順番で制御するにはBOARDと書きます。)
GPIO.setup(18,GPIO.OUT) #18番ピンからプラスの電流流すぜ宣言。
while 1: #無限ループします。
GPIO.output(18,True)
time.sleep(1.0) #1秒光ります。
GPIO.output(18,False)
time.sleep(1.0) #1秒休みます
ちなみに停止は、キーボードのCtrl+Cです。
試してみてください!
コメント