Raspberry Pi 3 pigpioを使ってLピカ

スポンサーリンク

※2017/10/1 構成図一部修正、回路図追加

※2017/11/21 一部画像リンク切れのため削除

やりたいこと

今回はRaspberry Pi 3(以降ラズパイ3)とpigpioを使ってLピカをやります。

LピカとはただLEDを光らせることだそうです。

簡単に見えますが、電子工作初心者にはただ光らせるだけでも難しいです。

ただ光らせるだけではつまらないので、3.3V、5V、GPIOの3つの同時に実行して光の強さを見比べようと思います。

まずはラズパイ3のGPIOの限界を知る

GPIOには限界値があります。これを知らずに回路を組むと最悪ラズパイが壊れます・・・

※実際私は1度回路から焦げ臭いにおいがして急いで電源ケーブルを抜いた経験があります。壊れてなくて良かった・・・

こちらのサイトを参考にすると

GPIOピン1本あたりの最大電流は16mA
複数本のGPIOピンを使用する場合、同時に流せる電流の合計は50mAまで
5Vピンは、マイクロUSBの電源 - 1400mA - IOピンの電流 と考えましょう
3.3Vはレギュレータの本体の余りなので、100mA程度と考えましょう。

これすごく大事です。GPIOピンは1本あたり頑張っても16mAまで。

16mA以上出そうと思えば出せるようですが、無茶しているので回路が壊れるみたいです。

またこちらのサイトを参考にするとGPIOピンは3.3Vのようです。

電子回路初心者に優しいサイトがこちら。参考になります。。

pigpioのインストール

GPIOでLピカするのにpigpioを使いました。まあLピカ、Lチカには必要ないのですが、

この後にPWMを使うのでpigpioを使っています。

こちらのブログ様を参考にさせていただきました。

使用部材

今回使用したLEDや抵抗は家で眠っていたこちらのセットのものです。

初心者にはこういったセットがおすすめです。

LEDはこちらのものを使用。安くて壊しても安心ですね。

抵抗はこちらを使用。

※秋月電子さんは個人的には通販がおすすめです。秋葉の土日はすごく混んでます・・・

使用部材の計算について

こちらを参考にしています。

LEDは標準電流20mAなのでこれより多くの電流を流さないようにします。

といよりラズパイ3のGPIO1本あたりの限界である16mA以下にしないとラブパイ3が逝きます。

電源電圧5Vと3.3Vの場合に最低何Ωの抵抗が必要か?

また330Ωで流れる電流は16mA以下かを確認しています。

なんで330Ωなのかって? 手元にある良さげな抵抗がこれしかないからです・・・

あ、ちなみに私は計算も苦手です。間違ってたら優しく教えてくださいorz

電源電圧5Vの場合

電源電圧5V、順方向電圧加工2V、順方向電流20mAの場合必要な抵抗は

(5-2)/0.020=150Ω
最低でも150Ωは必要。

抵抗値330Ωを使っているから何mA流れる?
(5-2)/X=330
(5-2)/330=X
X=0.009090909=0.01=10mA

※16mA以下だから大丈夫!

電源電圧3.3Vの場合

電源電圧3.3V、順方向電圧加工2V、順方向電流20mAの場合必要な抵抗は

(3.3-2)/0.020=65Ω
最低でも65Ωは必要。

抵抗値330Ωを使っているから何mA流れる?
(3.3-2)/X=330
(3.3-2)/330=X
X=0.003939393=0.004=4mA
※16mA以下だから大丈夫だけど、こんなんで光るのかな?

どちらも大丈夫そうなので実際に光らせてみたいと思います。

構成図

fritzingを使用して書いています。

サイトから「No Donation」(寄付しない)を選択して使いたいOSのものをダウンロード。

解凍してFritzing.exeを起動させるだけ。

起動したらブレッドボードを選んでパーツから虫眼鏡を選んで文字列検索したらRaspberry Piも出てくる。

今回3つのLEDを使ってます。

右上:GPIO(4ピン)

右下:5V(2ピン)

左下:3.3V(1ピン)

回路図

回路図を書いてみました。ってfritzingで構成図書けばほぼ完成なんですけどね。

私のような電子工作初心者にはハードルが高いですが参考までに載せておきます。

※LED635nmとありますが使用したのは640nmです。

fritzingで選択できる一番近いものを選んでます。

pythonのプログラム

右上のLEDを光らせるためにpythonでプログラムを書いてます。

・・・書いてますってほとんど参考にさせていただいたままなんですが。。

参考にさせていただいたのはこちらの2サイト様です。

実際のpythonのコードがこちら。

実行前に$ sudo pigpiodを実行してから$ python Lpika.py

実行方法はこちら。

実行結果

まず5Vと3.3Vは電源ケーブルを接続した時点で光ります。

GPIOは上記pythonを実行したあとに光ります。

実際の写真がこちら。

・・・わかりますでしょうか・・・?

右下だけ光が強いんです。そして3.3VとGPIOの光は同じ強さでした。

この結果からもGPIOは3.3Vとわかりますね。

次回予告

次回はLチカを頑張ってみます。

あと動画を載せてみたいな・・・

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする