うみの河童

16セグLEDをArduinoで実験

今月に入って、
デバイスをやる!と宣言してコツコツすすめてきました。
うすっぺらい知識で試行錯誤し、
どうにか実験成功です。

今回の実験で習得したのは、
・Arduinoのポートの増幅
・トランジスタによる電流の増幅
です。

とりあえず、今回試したことは
16セグメントLEDを16桁制御する
です。

ちなみに16セグメントLEDはこちらです。

セグメントLEDを触ったことがある方はご存知かもしれませんが、
表示させるためにダイナミック方式で制御しています。

ダイナミック方式とは、
マイコンのポートを節約できるメリットがありますが、
高速で点滅させるため、明るさが激減してしまいます。
今回の実験では、その「明るさ」との戦いだったと言っても過言ではありません。
それでは、実験スタートから成功までを書きたいと思います。

まずは、LEDを買ってきたその日に2桁は余裕で点滅させることが出来ました。

続きまして4桁。
画像なのでわからないですが、2桁のときの半分ほどの明るさになりました。

そして8桁。
ここから長い迷路がはじまりました。
さらに暗くなり、識別できないレベルまで落ちてしまいました、、、
※この画像ではなぜか識別できますw

このままでは最終的にやりたいことで
LEDの力を発揮できないため、様々なサイトを見て
秋葉原に行ってパーツを買い
ダメで
さらに秋葉原でパーツを買って
という日々を繰り返し、
回路を100回ほど組みなおし(かなり盛りましたw)やっと普通レベルの明るさが!
さらに12桁まで追加

そして目標の16桁
すると、また暗くなってしまった。。。
思い切ってLED用の抵抗をはずしたら明るくなった!
この方法が正しいかわからないけど、ダイナミック方式で高速点滅しているので
少々大きめの電流が流れても問題ない?
いや、もともとLEDが壊れるほどの電流は流れてない?
すみません。はっきりわかりませんが、明るくなったのでよしとしましょう。
※LEDが吹っ飛ぶ可能性もあるので自己責任で。

無事、点灯成功!!!ヽ( ´ ▽ ` )ノ
ってことで、数字だけでなくアルファベットも表示できるようにしました。
プログラムまでたどり着くまでに時間がかかった。。。

そして現在できているのは
[youtube]http://www.youtube.com/watch?v=HmNfoK0L7Vk[/youtube]

ランダムで文字を切り替えています。
これで表示もコントロールできるようになりました。

今回のことで、
やはりハードは難しくそして面白いことに気づきました。
プログラムだと何回もその場で修正できるけど、
ハードは間違ったら部品が吹っ飛んだり、買いにいかないといけなくなったり。
その買ったもので成功するという確信もないわけで。。。
でも楽しい!

とりあえず表示がうまくいったので
次のステップへ進みます。
また秋葉原にパーツを買いに行きます。
今度は表示部分ではなく、
入力部分を組みます。

楽しくなってきたーーーー