ラズパイ(18) スイッチでLEDの点灯を制御する

今回はLEDをスイッチで制御します。
LED点灯をRaspberry Piで制御します。
回路図は以下。タクトスイッチと抵抗(300Ω)を追加しています。
300Ωの抵抗はなくてもいいようです。


Python で制御するプログラムを書きます。
点灯状態を変数Stateに格納して、
スイッチを押すたびに点滅が入れ替わる
プログラムです。
念のため、動作確認のため、(コメントアウトしていますが、)
点灯の状態やボタンの状態を書き出しています。
$sudo vi ./raspberry_pi_led_emitting_2.py

実行します。
sudo ./raspberry_pi_led_emitting_2.py
関連
Raspberry Pi(13) 赤色LEDを点灯させる
Raspberry Pi(14) 青色LEDを点灯させる 概要
Raspberry Pi(15) 青色LEDを点灯させる 詳細
Raspberry Pi(16) LEDを点滅させる

written by gatamix

ラズパイ(16) LEDを点滅させる

回路図はLEDの点灯回路を使います。
Python のプログラムは以下です。
1秒間の点滅を5回繰り返すプログラムです。
前の記事で書きましたが、while後のインデントを
下げないとエラーとなります。
$vi sample_led3.py

実行の可能にします。
$sudo chmod +x sample_led3.py
実行
$sudo ./sample_led3.py
関連
Raspberry Pi(13) 赤色LEDを点灯させる
Raspberry Pi(14) 青色LEDを点灯させる 概要
Raspberry Pi(15) 青色LEDを点灯させる 詳細
Raspberry Pi(18) スイッチでLEDの点灯を制御する

written by gatamix

ラズパイ(15) 青色LEDを点灯させる 詳細

少し詳しく書きます。
今回使用した素子は、
LED(スタンレー製:UB3804X),
トランジスター:Tr(東芝製:2SC1815GR)を使用しました。
抵抗の設定をします。
Raspberry PI は1端子あたり16mAまでの制限あります。
そこでLEDに流す電流を10mAと決め近い値になるようにします。
R1を決める。
5(電源)-3.2(予想Vf)-0.25(VCEsat)=1.65[v]
*追記:予想VfはGaN系のバンドギャップより推測。VCEsatはデータシートより。
1.65/R1=10[mA]
R1=165Ω なので近い150Ωを使用しました。
R2を決める。
10[mA]=IB×200(hfe)
=0.05[mA]=50[μA]
三倍の余裕をとる。
50[μA]×3=150[μA]
3.3[V]-0.7(VBE)=2.6[V]
*追記:VBEはシリコン製でVB間のダイオードのVfの推測値。
2.6[V]/R2=150[uA]
R2≈17[kΩ]→15[kΩ]
赤色LED点灯時使用したプログラムでとりあえずテストしました。
テスターでLEDのVf、TrのVCEを測定したら、
それぞれ Vf=3.1[V],VCE=0.28[V]だったため、
ほぼ狙いどうりの電流がながれていると思います。
回路図は以下です。



関連
Raspberry Pi(13) 赤色LEDを点灯させる
Raspberry Pi(14) 青色LEDを点灯させる 概要
Raspberry Pi(16) LEDを点滅させる
Raspberry Pi(18) スイッチでLEDの点灯を制御する

written by gatamix

ラズパイ(14) 青色LEDを点灯させる 概要

前回は、赤色LEDを使って点灯しましたが、今回は、青色LEDを点灯します。
青色LEDはバンドギャップ(禁制帯幅)が大きい材料(GaN系)を使っているため、他のLEDよりVfが大きいです。
そのため、GPIOの出力する3.3Vではあまり電流を流すことができません。
そのため、Raspberry PI の5Vの出力ピンとトランジスタ(バイポーラトランジスター)を使ってOnとOffの制御をすることにします。
以下の点でトラブりました。
①青色LEDのアノード(+極)とカソード(ー極)の足の長さが一緒で送られてきた。
②トランジスターのピンを間違える。
③Python でのGPIO.cleanup()のエラー。
そして以下で解決しました。
①は、抵抗とLEDを5Vピンで直接点灯させました。
②エミッターとコレクターと思っていたところを5Vピンを仕替えとかしていたら、点灯したので仕様書を見直したら逆でした。
③RuntimeWarning No channels have been set up yet-nothing to clean up!
Try cleaning up at the end of your program instead!
とエラーが最後に実行を試みたらエラーがなくなった。
トランジスターを接続するだけなのにかなり手間取りました。
ブレッドボードの写真です。


関連
Raspberry Pi(13) 赤色LEDを点灯させる
Raspberry Pi(15) 青色LEDを点灯させる 詳細
Raspberry Pi(16) LEDを点滅させる
Raspberry Pi(18) スイッチでLEDの点灯を制御する

  

written by gatamix

ラズパイ(13) 赤色LEDを点灯させる

GPIOを利用して赤色LEDを点灯させます。
Phythonで行いファイル名は
sample_led.py
とします。
コードを記載します。
$sudo vi sample_led.py

コードではGPIOを有効にして
入力をHIGHにすることによって
点灯しています。
出力のGPIO4とGNDに赤色LED(D-R5CSF-RD メーカー不明)と
100Ωの抵抗を直列につないでいます。


実行します。
$./sample_led.py
(PATHを設定していれば、$sample_led.py)
関連
Raspberry Pi(14) 青色LEDを点灯させる 概要
Raspberry Pi(15) 青色LEDを点灯させる 詳細
Raspberry Pi(16) LEDを点滅させる
Raspberry Pi(18) スイッチでLEDの点灯を制御する

written by gatamix