39ギター

35年ぶりに弾き始めたクラシックギター
神経痛と戦いながら
どこまでバッハに迫れるか
蝶も花もアーチェリーもあるよ

I/Oエキスパンダ2個で7セグメント2桁表示(micro:bit)だよ

2019-05-17 22:50:53 | 日記

こんばんは

 

今日の電子工作は7セグメントの2桁表示

本やネットを見ると専用のICでやっているのが多いのですが、そちらの方はよくわからないことも多いので、とりあえず自分のできる技術を使ってなんとか実現しようと頑張ってみました

I/Oエキスパンダを2個使って一つはユニットの選択にもう一つを各セグメントの信号に使っています

信号は共通で両方に届くんですが、ユニットをどちらか一方を選択してそれを高速で切り替えるようにすればデータが混じることはありません

全体はこんな感じです

ブレッドボードの上でケーブルの隙間から見えるのがI/Oエキスパンダ、2個あります

小さなブレッドボードに7セグメントを2こ置いて両方に同じ信号を流しています黄色のワイヤーがユニットの選択用でそれぞれの3番と8番のピンに入っています

結果は5と3を分けて表示できましたが、チラチラしています

写真に撮るとタイミングでどちらかが消えてしまいます

micro:bitの性能の限界かと少し諦め気味だったんですが、プログラムでできるだけ高速化してみようと頑張ってみました

それぞれのユニットで数字を表示したあとインターバルを1msほど入れてありましたがこれを0.01msに設定して、おそらくこれ以上は設定しても変化がないだろうと思います

インターバルも挿入する場所を吟味してしかも最初は4つ入れていたのを2個にしました

数字の表示を連続すると滲んだようになってしまうので間に空白(何も表示しない)を置いて見るとこれが意外と効果ありで数字がくっきりとしてきました

写真では綺麗に写っているようですが、実際はまだチラチラしています

0から15までの数字をセグメントに対応した2進数にしてそれを整数にする関数が毎回入っているのでこれをやめればかなりいい感じになるのではと思っています

このセグメントの利用する場面でその数字の変換がどの程度頻繁に起きるのか、そのところが結局表示性能を左右するように思います

まあ、とりあえず2桁まで表示できたので次は4桁にチャレンジです

4桁は一つのユニットになっているので配線も少なくなり、案外効率的に動くかもしれません

お楽しみです

 

 

今日のカープはまたまた劇的な逆転勝利でした

7回まではなんとなく「阪神にやられたな」そんな雰囲気だったんですが、8回で見事逆転9回はなんと7点も取ってしまいました

カープは先発が降りてからが勝負、そんな感じですね

最近のカープの勢いは去年と同じイケイケムードです

5月中に首位奪回、できないですかねぇ・・・