LED関係   

 LED点灯に関係する制作物です。


 3 7セグ4桁LEDユニット赤(UART)2011.11.09
 2 7セグ4桁LEDユニット青(UART)2011.11.07
 1 ルーレット(インチキ付き) 2011.10.31













 3 7セグ4桁LEDユニット赤(UART) 

下に書いた「7セグ4桁LEDユニット青(UART)」の原型で以前に作ったものですが物理的に安定な形に改良したものです。
プログラムも一部変更して、通信速度も私の標準の 19200bps に変えました。
3.3V電源にすると消費表示が少し暗くなりますが消費電流は半分近くまで少なくなるようです。ドライブトランジスタ無しでもいけるかもしれません。





以下は最初に作ったときの記述です。
 LED表示は読みやすいディスプレイなのですが、4桁であっても12本のポートが必要なのとその割り振りに悩むことがあるので使いにくいときがあります。以前に、それを回避することも考えて I2C や SPI 通信によるLED表示を作りました。
今回のUART通信によるものは、ほとんどのmcuがUART機能をハードウエア的に持っていることと、データ流し込み方式だと信号線は1本で済ませられること、mcuが低価格で入手できること、LEDの消費電力からmcuが2つになっても影響がないこと、趣味の自作では考え方が単純な方がいいこと、などから作ってみた次第です。

mcuはこれからは新規採用しない 90S2313 としました。新しく買うならtiny2313の方が安くて振動子も要らないのですが、手持ちを消化するために使っています。完成度を考えるならSOICにすると収まりが良くなります。

通信は、数字以外の文字を受けると数字受付の初期化を行い、続けて4桁の数字プラス小数点の位置を表す数字(最高位が1)の5桁の数値を表す文字を受け付けます。
数字以外の文字に続く5個の数字文字を受けると表示文字列として処理します。このとき数字5個が続かないと表示ルーチンには送られません。
試行錯誤の結果プログラムはこのような形になりました。         筆者メモ F:\prA\_2011\led4keta_s2313

  3 7セグ4桁LEDユニット赤(UART)おわり



 2 7セグ4桁LEDユニット青(UART) 

高輝度の青色7セグメントLED表示器を秋月で購入しました。低い駆動電流で実用になるそうです。そこで 3.3V電源で、IOポート直接駆動を目論みました。
事前に電流を調べると、3.3V電源で220Ω制限抵抗を付けてエレメントを発光させると 2.1mA の電流でやや輝度が小さい感じがしますが実用になりそうです。2.1mA×8エレメントで 17mA ですからポートの出力容量に収まりそうです。
tiny2313の出力電圧とVf=3.3Vの条件が気がかりでしたが、無理なら5Vでもいいと考えて試作しました。





以前にも書きましたが4桁LEDはドライブに8+4=12のポートを必要としますので他のポートを多く使いたいときに配置に苦労しますし、また連続したポートを取りにくいケースがありますのでtiny23131個が余分に必要にはなりますがメインボードではTXD1ポートで駆動できることで試作がらくになります。

写真のようにすっきりしたものになりました。桁ドライブのトランジスタ4個とベース抵抗4本は以外と場所と手間を必要としますが今回はそれが無いので製作もらくになっています。電源の電流計が約20mAを示しています。かなりの誤差はありますがIOポートが酷使されていることは無いでしょう。輝度はやや低めですが室内では十分実用になりそうです。
物珍しさで青色を選びましたが数値を読みとるという機能からは赤や緑が適しているように思いました。赤は危険の色、緑は安全の色という概念がありますが「灯り」に関しては赤が自然なのかもしれません。余談ですが車のヘッドライトに1万ケルビンを超えるものがありますが私は嫌悪感を持ちます。6000ケルビン以下が落ち着きます。
さし当たっての用途はありませんが実験パーツとして利用しようと考えています。
プログラムです。     筆者メモ: F:\prA\_2011\led4keta_blue

  2 7セグ4桁LEDユニット青(UART)おわり



 1 ルーレット(インチキ付き) 

 MCUとは例えばこのようなものですよ、と見てもらうために作ってみました。配線が見えるように穴無し基板で、すべてを表面に実装してみました。


スタートボタン(リセットボタン)で遅い回転から速くなり最後は40msで1周します。ストップボタンで回転が遅くなりあるスピードになると止まります。ボタン押下から停止までの移動回数は一定になっていますからボタンを押すときに数値が決まりますが5msで次の数値に変わりますから意図的に決めることはできないと考え乱数になると思います。
付け加えたのは『インチキ機能』です。クイズ番組などで回答者が電子ルーレットできまる(座席にランプが順について止まる)ものがありますが、あれは偶然とは考えにくいものです。誰に当たるか分からなくては打ち合わせもできません。見ている者には偶然のように感じさせますがきっとうち合わせで決まっているのでしょう。
物理的なルーレットでは難しいことですが、知らない人は電子機器を信用しますが電子機器故に簡単に人為的な行為ができるサンプルとして付けてみました。
丸ピンソケットを利用した簡易スイッチで番号を指定しますとその番号で止まります。本来は隠しスイッチにするものでしょうがあえて前面に出しています。

mcuは手持ちの内でIOポートの多いmega48を使いました。ポートBでインチキスイッチを検出し、ポートDでLEDを点灯しています。ポートC0にストップスイッチを付けました。電源は裏面に平たいLi-ion電池を貼り付けています。
プログラム                    筆者メモ F:\prA\_2011\m48_roulette

  1 ルーレット(インチキ付き)おわり























工事中 inserted by FC2 system