« さようならUSB-IO | トップページ | VH-210で動画 »

2015年12月19日 (土)

数珠つなぎ

I2Cで通信すると、複数の電子部品をディジーチェーン、数珠つなぎにできるらしい。
I2Cの2ピンでたくさんの部品を制御できるので、ArduinoのようにI/Oピンが少ないマイコンだと助かる。
なかなか便利そうだ。何か作って予習をしておきたいところ。クリスマスなので、ここはひとつ電飾ネタを…ということで、振ると空中に文字が表示されるというものを作ってみた。

I2cadxl

左からArduinoNANO(中華粗悪品)、I2Cな加速度センサ(ADXL345)、LED×8個、I2CなLCD(AQM0802)が並んでいる。
とはいうものの、ただの写真ではなあ…。 代わりにこれでもどうぞ。

風の音がうるさいのは、たぶんソリに乗っているからだろう。

アルゴリズムは簡単。
LEDの点灯パターンを用意しておき、加速度センサの向きにしたがって順に表示するだけ。 大きな加速度がかかったら、その方向を覚えておく。


	if( flagLeft ) {
		led = table[ ( sizeof(table)-1 ) - count ];
	}
	else {
		led = table[count];
	}
	ledSet8( led );

振っている途中で反転しても大丈夫。 反対の加速度を検出したら、カウンタを補正し、flagLeftを反転すればいい。


	ay = adxlGetY();
	if( ay<-150 ) {
		count = ( sizeof(table)-1 ) - count;
		flagLeft = 1 - flagLeft;
	}


メッセージの折り返しはなかなか斬新だった。LEDはあと4個ほど増やしてもいいかな。

 

« さようならUSB-IO | トップページ | VH-210で動画 »

お仕事」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/24707/63058408

この記事へのトラックバック一覧です: 数珠つなぎ:

« さようならUSB-IO | トップページ | VH-210で動画 »

最近のトラックバック