ブレッドボード上にいざ配線(実装)。
実装後、思ったこと。
- 配線図通りに実装できない
- 買った抵抗が大きすぎた(配線図上で抵抗の大きさを考慮できていなかった)
- 抵抗が小さかったとしても、抵抗の近傍の配線は難しく、実装スペースを考慮できていなかった
- 配線図で使っていたブレッドボードより、購入したブレッドボードのサイズが小さかった
- コードが柔らかい撚線タイプでよかった。硬線タイプだったら破綻してたかも
というわけで初めのうちは余裕のある配線図が必要。四苦八苦しながら、なんとか配線した。そしてラズパイの電源ON。緊張の電源投入。
立ち上げ直後から7セグには「3.」の表示。まだ何もプログラムしていないのになぜ・・・?まあ配線間違いとかで燃えなくてよかった。7セグLEDの4pinと2pinが光っていないようだが。配線はされている。
まずドットの部分の表示、GPIO12をプログラムで制御してみよう。
参考サイトはこれ
ところが思ったようにうまくいかず・・
以下のような点がうまくいっていない
- ラズパイをシャットダウンしてもセグメントA,B,C,D,G,DPは淡く光る
- GPIO16を制御しても何もつかない
- GPIO26を制御するとBが光り、Cが弱く光る
- 上に書いたように、ラズパイ起動時にぼやっと光っていた
- それ以外は正常(に見える)
あと、全部光らせた状態で何A流れてるかも測りたい。
テスターでの電圧測定なども交えて色々調査したところ、抵抗の足どうしが接触(ショート)していたことが判明。これで一部が解消した。
さらなる調査。
各箇所にテスターを当てていくと、GPIO端子をlowにしていてもGPIO端子に0.8Vほど電圧がかかっている。プログラムのほうもいじってみた結果、GPIOを1回exportすると暗いLED表示は解消されることが分かった。前回のGPIO設定が残っているのか、あるいはGPIO OUTではなくGPIO INがデフォルトだったのかもしれない。(1部のGPIOだけそうなのは不思議だが)
その後、Pythonのプログラム上からも無事7セグチカに成功。プログラムの参考は下記。
プログラムを使って分かったのは、GPIOをcleanupしてもやはり前回の設定が残っていそうだということ。このあたりはもう少し実験してみたいが、ほかの興味が先行するので後回し。
7セグチカが成功したので、次は温湿度モジュールか、7セグのI2C通信による表示かな。