ikkei blog

電子工作やパズルのブログです。主にLEDを使った電子工作をやっています。

Windows Update

2010年02月12日 12時11分42秒 | PC
今朝Excelファイルを開いたら、書いたはずのグラフが消えています。
そう言えば、昨日の朝PCが勝手に再起動していました。
どうやら、Windows Updateの仕業です。
脆弱性か何か知らないけど、人が寝てる間に保存もしないで勝手に再起動してしまうなんて、それはないでしょう。
こういう場合、FireFoxは落ちる前の状態に復帰しましょうかと言ってくれたけど、Excelは何も言わない。自分のやった後始末も出来ないなんて...orz

どうすれば、このWindows Updateをやめさせるか、調べたあげく自動更新を無効にしました。
でも以前、Updateしろと言うしつこい警告表示を出さないようにしたはずなのに、おかしいなぁ。

Charlieplexing

2010年02月12日 00時03分43秒 | Arduino
WKNさんから教えてもらったCharlieplexingですが、ここを見ていたらちょっとアイデアを思い付いてしまいました、
これをどうしても確認してみたくなって作ってみました。


配線は従来とあまり変わらないのですが、気をつけないと間違ってしまいます。


7セグメントLEDを1桁ずつ点けるためには、このようにダイオードを入れれば出来ます。回路図は小さいので分かりにくいと思いますが、雰囲気で見て下さい。



ただ、AVRは1端子で20mAまでしか流せませんので、「8」と「1」では輝度が違ってくるはず。
上の写真では抵抗は180Ωなので、1セグメントに18mAくらい流れているはずなのですが、あまり分かりません。
「1」がわずかに明るく、「6」がわずかに暗い程度ですね。


このダイオードをトランジスタに替えるとこうなります。




確かにこちらの方が均一に光っている様に見えます。
予想では、ダイオードではドライブしきれずに、もっと輝度ムラが出ると思ったのですが、残念。
でもトランジスタにすると効果が有ることは確認できました。

Charlieplexingによって、確かに配線を減らすことができますね。
DPを表示しなければ、8桁まで8本でいけます。
しかし、これは回路屋の発想では絶対に出てこないですね。というのは、制御をハードでやるには複雑すぎるからです。

でも、通常IOポートは8ビットなので、7セグだと1ビット余りますが、この1本を使うだけで8桁まで出来るのはなかなか良いかもしれません。
今回は、とりあえず実験のために1~8を表示するだけのソフトを組んだだけなので、実際のソフトがどうなるか分かりませんが、ドライバをうまく作れれば、この方法はアリかもしれません。