IT系夫婦がRaspberry Piをかじってみた。②LED制御編
こんにちは。カーチャンです。
小さなコンピュータ「Raspberry Pi(ラズベリーパイ、略してラズパイ)」を操作するシリーズ、
第2回は電子工作の基本であるLED制御を行います。
外部機器を操作する基本を学びましょう。
=>関連記事
IT系夫婦がRaspberry Piをかじってみた。①導入編 - オカンハック
IT系エンジニア夫婦2人でRaspberry Piをかじってみました。③センサー制御編 - オカンハック
使用するパーツ
電子部品セットとジャンパーピン、ブレッドボードを購入しました。
ELEGOO Arduino用電子部品 エレクトロニクス キット Arduino用電子LearningキットE0
- 出版社/メーカー: ELEGOO
- メディア:
- この商品を含むブログを見る
ELEGOO 50 PCS オスメスジャンパーワイヤ200mm (無料 170 タイポイント ブレッドボード)
- 出版社/メーカー: ELEGOO
- メディア:
- この商品を含むブログを見る
ELEGOO Arduino用170タイポイント Miniブレッドボード6PCS
- 出版社/メーカー: ELEGOO
- メディア:
- この商品を含むブログを見る
ちなみにブレッドボードとは、実験用の基盤です。
下図のように、縦の穴同士が電気的につながっていて、電子部品を穴に差し込むだけで配線ができます。
ハンダが不要なので、何度でもやり直せます。
電子部品を繋ぐにはGPIO端子を使う
導入編では、カメラモジュールをつないでセットアップをしただけで、簡単にカメラが使えるようになりました。
では、センサーやLEDなどを使って自作した電子部品を制御するにはどうすればよいでしょうか?
ラズパイにはGPIO(general-purpose input/output:標準入出力)端子がついています。
ゲジゲジみたいな足が端子となっており、ジャンパー線で電子回路と繋ぐことができます。
上の段は左から 2、4、6……
下の段は左から 1、3、5……
とピン番号が振られています。
ピンにはそれぞれ役割があります。
https://www.raspberrypi.org/documentation/usage/gpio/README.md
黒がGND(マイナス極)、赤および番号がないオレンジ色の丸がプラス極です。
上図で番号が振られた端子はGPIOピンと呼ばれプログラムから電気のON・OFFを制御したり、信号を受け取ったりすることができます。
ピン番号とGPIO番号がごっちゃになりがちですが、
ピン番号が物理位置、GPIO番号が論理的なアドレスと考えると良さそうです。
LEDを光らせる
それでは、電子工作の基本のキである「Lパカ(LED点灯)」をやってみます。
LED、そして電圧調整のための抵抗器を階段のように刺します。
この時、LEDの短い方の端子がGND(マイナス極側)になるように挿してください。
LEDは色によって抵抗値や流せる最大電流・電圧が異なります。*1
電圧が強すぎるとLEDやラズパイが壊れる恐れがあるし、
電圧が弱すぎると光りません。
そのため抵抗器を使って電圧を調整します。
抵抗値の計算は、オームの法則「E = IR」で求めます。
ここを参照してね。
中学で習った記憶「だけ」ある……
LEDを点滅させてみる
次はLパカをプログラムで制御して「Lチカ(LED点滅)」をやってみます。
参考にしたのはこちら。
プログラミング初心者でも簡単!Raspberry Pi + PythonでLチカさせる方法 | Tech Blog | 株式会社INDETAIL - インディテール
参考サイトではGPIO18(12番ピン)を使っていたので、
GPIO2(3番ピン)に書き換えて実行しました。
動画を貼り付けられないのが残念ですが、ちゃんとピカピカ点滅させることができました!
流れとしては、
最初に使用するピンを出力用に初期化し(GPIO.setup(18, GPIO.OUT))
ピンの電流をOn / Offし(GPIO.output(18, True))
最後にピンの定義を解放する(GPIO.cleanup())
処理となります。
これをたくさん並べて、それぞれの点滅時間を制御すれば、駅や店先で見かける電光掲示板を作ることができます。
動いて光る LED メッセージ ボード 動画 サイン ボード 日本語対応 電光掲示板 看板 USB 専用ソフト付属 多機能 店舗装飾 非充電式電源
- 出版社/メーカー: CXGD sign
- メディア: オフィス用品
- この商品を含むブログを見る
まとめ
普段は別ジャンルの仕事をしているので、制御系プログラムを初めて書きました。
以前お世話になった元制御系プログラマさんが、
「電子部品はハードウェア設計者とソフトウェア設計者のチームプレイだからね。」
と、言っていましたが、確かにハードウェアとソフトウェアは一体だわ。ここだけの話、バグの押し付け合いでHWチームとSWチームで喧嘩になることもあるそうな。
次は、センサーを使ったプログラミングをします。
関連商品
今回使用したパーツです。
電子工作を行う上では、最低限必要なものばかりです。
ELEGOO Arduino用電子部品 エレクトロニクス キット Arduino用電子LearningキットE0
- 出版社/メーカー: ELEGOO
- メディア:
- この商品を含むブログを見る
ELEGOO 50 PCS オスメスジャンパーワイヤ200mm (無料 170 タイポイント ブレッドボード)
- 出版社/メーカー: ELEGOO
- メディア:
- この商品を含むブログを見る
ELEGOO Arduino用170タイポイント Miniブレッドボード6PCS
- 出版社/メーカー: ELEGOO
- メディア:
- この商品を含むブログを見る