巣ごもりの準備として、
電子回路の入門キットを購入したんですが、
めちゃくちゃ便利になっていますね。
数年前は、自分でLED買ったり、抵抗買ったりブレッドボード揃えたりとLチカしたいだけなのにめちゃくちゃ大変だったんですがね😅
Lチカって?
電子工作の基本中の基本として扱われているところです。
英語で言うところの、「This is a pen. 」みたいなやつですね。
特に意味はないけど、学習の始まりみたいなものです。
やることはLEDを点灯するだけなのですが、やることが多いので、初心者のつまずきポイントだったりします。
実際、私も学生時代にやったことはあるんだけど、面倒くさかったですね。
具体的には、下のような手順ですかね。
WayInTopキット
ラズベリーパイの電子工作キットを作成しています。
使い方のマニュアルはイマドキっぽくgithubから閲覧可能ですよ。
エラーへの対処方法など丁寧に解説されており、私もまだ学習の途中ですけど、
困らずに進められていますよ~。
楽天で頼むとこんな感じで届きます。 こういう手書きフォントは好きだったり。
計算はしていないけど、単価で買うと安上がりなんだろうか。
自分でパーツを選んだりする手間を考えると個人的には「買い」かな。
初歩的な内容に注力
基本的に手順とその内容が書かれており、スムーズに動かせるようようになっています。
その反面、その他の応用方法などはとくに解説されていないので、深堀りしたい人には物足りないかも。
深堀りした内容が入ると結局混乱するだけだからそれでも全く問題はないんですけどね。
あくまで、初心者の入門向けなので、この「キットじゃないとできないこと!」みたいな特色はないと思います。
普通のことを簡単にやるためのキットで、そのためにたくさんの図や解説がついていてとてもわかり易いです。
とりあえず、回路を組んでプログラミングして動かすというところ学ぶのには丁度良い教材だと思います。
ちなみに、こういうのをしっかりとしたセミナーに参加して学ぶと数万円は飛びますからね😅
それを考えると安いものですな。
git hubにテキストは公開されているので、それを見るだけでも勉強になるはず。
早速Lチカをやってみた
早速キットを使って、Lチカをやってみました。
接続図
接続図はこんな感じ。 制御ピンから抵抗を通って、LEDに電流が流れる構成ですね。 抵抗はLEDに電流が流れすぎるのを防ぐ役割を担っています。 公式のドキュメントから拝借しました。
プログラムはgithubから入手
プログラムはgithubから入手できます。
単純にGPIOのセットアップをして、制御する簡単なものなのですが、
実例があるだけで安心感が違う。
このプログラムを関数じゃなくて、クラス化するだけでもプログラミング力は上がるはず。
import RPi.GPIO as GPIO import time ledPin = 11 # RPI Board pin11 def setup(): GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location GPIO.setup(ledPin, GPIO.OUT) # Set ledPin's mode is output GPIO.output(ledPin, GPIO.LOW) # Set ledPin low to off led print ('using pin%d'%ledPin) def loop(): while True: GPIO.output(ledPin, GPIO.HIGH) # led on print ('...led on') time.sleep(1) GPIO.output(ledPin, GPIO.LOW) # led off print ('led off...') time.sleep(1) def destroy(): GPIO.output(ledPin, GPIO.LOW) # led off GPIO.cleanup() # Release resource if __name__ == '__main__': # Program start from here setup() try: loop() except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the child program destroy() will be executed. destroy()
Lチカ!
Lチカ!しました。
読みながら、回路くんでプログラム実行るだけで行けましたね。
画像なのが申し訳ないですが、実際は1秒ごとに点滅しています。
ファイル転送はsshがオススメ
公式ドキュメントには、ラズパイへのファイル転送としてFilezillaがオススメされていますが、
単純に、sshとSCPで十分と思います。
自分はvscodeのssh接続で作業してました。
vscode だと、コーディングとファイル転送と、ターミナル操作を1手にできるので、
オススメです。
sshの有効化設定は下記の記事を見てくださると嬉しいです。
GPIOの拡張プラグがめちゃくちゃ便利
私はこのキットで使うまで使ったことがなかったのですが、
GPIOの拡張プラグがなかなかに便利です。
ラズパイのGPIOピンは単にピンが並んでいるのですが、それぞれのピンに役割が違います。
電流を流すピンだったり、信号を制御するピンといった感じですね。
このプラグをつけるまでは、「ラズパイのドキュメンを見ながらこの位置のピンの役割は・・・」と調べていましたが、
ボードにピンの役割が書かれているのでその手間が省けかなり作業効率が上がりました。
ブレッドボードに直接挿せるのもGOOD👍
GPIOピンからジャンパ線を張り巡らせると、訳がわからなくなりますからね😱