6つのDG12B VFDをダイナミック点灯することで、6桁の数字が表示できるようになりました。
タスクでダイナミック点灯
ESP32のタスクを使います。各桁を順番に点灯するタスクをコア0で実行します。これにより、勝手にVFDがダイナミック点灯します。
表示する内容は、文字列で指定できるようにしました。数字だけでなく、シングルクォーテーションやドット、スペースにも対応しています。
’1234.56と指定した場合の表示例です。最上位の桁に'と1が同時に点灯しています。また、4.5と指定しているので4と.が同時に点灯しています。表示したい内容を文字列で指定できるので、とても便利です。
VFDは、管の中の立体的な構造物がかっこいいですね。
明るさの調整もできるよ
ダイナミック点灯するプログラムには、各セグメント毎に32段階のPWM点灯ができる機能も入っています。現在のプログラムでは、すべてのセグメントが一括で変更され、全体の明るさが0〜100%に変更できます。
上のプログラムは、徐々に明るくなって、徐々に暗くなります。
(i*i)>>8 とすることで明るさの値が2乗で値が変化し、人の目で見て明るさがリニアに変化しているように見えます。
2023.11.30 追加
「(i*i)>>8」は1が0〜255の場合に使える式でした。
今回はiが100までなので「(i*i)/100」が正しい式となります。
「(i*i)>>8」は1が0〜255の場合に使える式でした。
今回はiが100までなので「(i*i)/100」が正しい式となります。
上記のプログラムを実行して、’1234.56の明るさを変化させている動画です。VFDの色いいですねぇ。
さて次回は
タスクを使ってダイナミック点灯できるようになったので、数字が変化する時のアニメーションの機能を追加したいと思います。
2023.11.30 続きは下のリンクよりどうぞ。
これまでの履歴です。
コメント