日曜日, 5月 15, 2016

Arduino: 7セグ時計

有機ELディスプレイってのはいいです。小さいのがいい。薄くて軽くて電池の持ちがいい。バックライトのいらない発光素子ってのはいいです。暗闇でも見えるし、それでいて消費電力が少ない。

しかしながらまだ高いのが難点です。そこで価格の安い7セグを使ってみました。7セグなら暗闇でもくっきりはっきりそれなりの雰囲気があります。


ここでは4桁の7セグを直接 Arduino とつないでみました。各セグメントへ7+1ピン、各桁へピンが4つ、あとは GND をつなぎます。注意せねばならないのは、この7セグはカソードコモンなのでドライバ用のトランジスタがGND側で必要だということです。

あとはパターンをセグメントへ送ればいいわけですが、各桁ごとパターンを消去、そしてパターンを送るというプロセスを繰り返します。書き込んで間をおかないとうまく表示されません。

空いているピンでクロック・モジュールを読み込んでいます。

まずはブレッドボードで組んでみたのですが配線が多い。のでモジュールを作ってみました。

digitalWrite() を使ってひとつひとつ書いていくと画面がちらつくので、ポートレジスタへ直接データを書き込んでみました。



コードはこちらです。

I2S プロトコル

I²S(Inter-IC Sound)は、マイコンやオーディオ機器間で音声データをやり取りするために設計された、シリアル通信プロトコルです。I²CやSPIと名前は似ていますが、I²Sは音声専用のプロトコルです。 I²Sは、以下の3つの主要な信号線を使って通信します。 BCLK (...