現在アールティの実店舗Robot Aisle(ロボット アイル)の店頭で皆様をお迎えしているおなじみネコ店長ですが、このたびそのネコ店長キャラクタグッズとしてLEDが光る基板アクセサリのストラップを発売する事になりました。
表のデザインはネコ店長がお手玉をする絵になっていて、スイッチを入れるとLEDが光が左右に動く様に点滅します。光の移動はだんだんと速くなっていき最後は… どうなるのか動画をご覧下さい。
裏側にはLED以外の部品と電池ホルダ、またシルクで当社ロゴなどが入れてあります。
可愛いネコ店長のお手玉をぜひ楽しんで下さい。Robot Aisleで販売開始しています! Webショップでも発売中、この黒い基板は初回限定バージョンになります。テスト用ボタン電池(CR2032)1個付き。また足裏の肉球部分に半田を盛っていてさわった感触もいい感じになっていますよ。
さて、ここからはちょっと技術的なお話です。今回はマイコンを搭載してLEDのアニメーションをしています。使用したマイコンはAtmel社のAVRマイコンATtiny13Aです。LEDの接続はチャーリプレクシングというマトリックス式にしています。これによって少ないピン数でLEDを駆動する事が可能です。今回はI/Oピン3本で5個のLEDを駆動しています。
プログラムはArduino IDEを使って開発しました。私の開発・公開しているbitDuinoというATtiny13用のサポートファイル集とチャーリプレクシングで6LEDまで使えるbitDuino用のライブラリを使用しています。書込み用端子も出ているので、これらを参考にハックする事も出来ますよ。(具体的な方法まではサポート出来ませんので、ご了承下さい。)
スケッチ:nekotencho2.ino
#include?<bit6LED.h> byte led[5] = {1,0,3,5,4}; byte spd=10; byte countMax=1; byte count; void effect(){ ??start6LED(); ??byte i,j; ??for(j=254;j!=255;j--){ ????for(i=0;i<5;i++){ ??????setLEDValue((led[i]),j); ????} ????delay(2); ??} ??stop6LED(); } void setup() { ??init6LED(1,3,4); ??count?=?0; } void loop() { ??byte i; ??count++; ??if(count == countMax){ ????count?=?0; ????spd--; ????countMax++; ????if(spd == 0){ ?? spd?=?10; ?? countMax?=?1; ??????TurnOffAllLEDs(); ??????effect(); ??????delay(1000); ????} ??} ?? ??for(i=0;i<4;i++){ ????TurnOn1LED(led[i]); ????delay(spd<<5); ??} ?? ??for(i=4;i>0;i--){ ????TurnOn1LED(led[i]); ????delay(spd<<5); ??} }




