SparkFunというところのProMicroのクローンがAliexpressで安価に出ている。
621円で購入したものを使って見る。もはや書き込みとか含めてマイコンボード使ってしまったらプロトタイプはそれでいい気がする。裸のマイコンでもいいのだが、USBで指すだけで書き込みとかできる便利さがよい。
で、7セグのドット意外の端子を使うので、8bitが割り振られているポートを探す。
AD変換はPortFというもののようだ。デジタルピンはD0からD17まであるが、ポートフルで引き出されているものはないようだ。7bit分は一つのポートで確保できず、PB1〜PB6の6bit分とどこかで1bit確保といった感じになりそうである。
PB0:外部引き出しなし(TX LED)
PB1:D15
PB2:D16
PB3:D14
PB4:D08
PB5:D09
PB6:D10
PB7:外部引き出しなし!
PD0:D03
PD1:D02
PD2:D00(RXI)
PD3:D01(TXO)
PD4:D04
PD5:外部引き出しなし
PD6:外部引き出しなし
PD7:D06
で、仕様を考えていこうかと。
将来2桁表示になったときに対応できるように、アノードを2ch割り振っておく。2chとも一つのLEDに接続したら1桁表示と思ったのだが、ダイナミック点灯を1桁でやるとまず読めたものでは無いので、無理だった。
全体のアルゴリズムとしてはこんな感じでしょうか。待機時間を延々AD変換させまくってもいいのですが、余り意味がありませんので、そのままです。
for(){
・AD変換する
・1-5Vに対応する値を0-99に割り付ける
・10の位(10で割った商)を表示する(0.5s)
・消灯0.1s
・1の位(10で割った余り)を表示する(0.5s)
・消灯0.5s
}
では7セグのマップを作っていきませんといけません。
追記予定