このブログを検索

2011/12/18

dotsduino

 「なんでも作っちゃう、かも。」さんとこのdotsduinoキットを販売委託先のスイッチサイエンスさんでお買い上げ。基板のバージョンは1.2dでした。
 昨日届いていたのだけど、本日会社から帰宅後にはんだづけして組み上げ。ArduinoIDEでのboardは「Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328」でOKでした。ってかそれ以外にしてたら妙なエラーが出て困ったズラ。
 やっぱ専用?に作られた基板は綺麗だし、ぴったりと8×8ドットLEDの裏にハマるし。シリアル接続用の6ピンヘッダは80度くらい曲げてみました。1個問題点があって、付属の単4アルカリ電池3本のボックスの終端についてる端子。そのままではグランドとVCCに刺さらんのだな。3端子の両端だったら良かったのに。こういう圧着?端子はどこで買うのが良いだろうか?

dotsduino。 ATmegaは裏側にきれいに嵌ってます。

2011/12/17

イルミLED追加とプログラム修正

 ツレの要望があったので、赤色LEDを2つ追加してみた。午前中にLED工作をして、リースに配線。動作確認はしなかったのだが・・・。

 夕方点灯したのをみてみたら、赤が点くと青が点かない。楽して既存の青色LEDと並列に赤色を入れたのだが・・・。赤は低ボルトで光る為、それに引っ張られて並列につながってる青が点かなくなってしまった。手抜きをして、ちゃんとアノード側にそれぞれ抵抗を入れてる訳では無く、まとめて1個の抵抗(1KΩ)をカソード側に入れてたりするので(苦笑)。
 手っ取り早く全てのLEDを光らせるには・・・。プログラムを書き換えました。ATmega168Pのpwmポートは6つあって、今のところ4つ使っているのでフル使用に変更。プログラムは汎用化(?)してあったので、追加の2ポートのpin番号の指定と、総LED数の指定でOK。
ってか、総LED数の指定なんかしたくないのだが、ArduinoのC環境にfor each無いし、uboundみたいな書き方がわからんかったので。sizeof(配列)/sizeof(配列の規定変数タイプ) ex(sizeof(array)/sizeof(int))で取れそうな気はしているが試してない。

 後記。sizeof(array) / sizeof(array[0])で行けるみたいですね。

ついでなので、CDSの観測待ち時間をちょっと多めに変更して。更に、起動時に全てのLEDを1500ミリ秒置きに順に点けていって最後に全部消す処理を追加。まぁ、こんな感じで大丈夫でしょう。PWM使っているとはいえLED1個20mAとすると6個で120mAだもんなぁ。これもあってデジタルマルチメータを今夜発注しました。サンワは高かったのでマザーツールの奴。

2011/12/16

LEDイルミのお値段

ATmega168P x 1 (200円)
CDS x 1 (25円)
LED x 4 (40円)
セラコン x 4 (40円)
電解コン x 1 (10円)
抵抗 x 3 (3円)
ブレッドボード x 1 (150円)
電源レギュレータ x 1 (50円)
電池ボックス x 1 (50円)
電池スナップ x 1 (20円)
計 588円

あと、電線とピンヘッダくらい。
ブレッドボードを使わずに生基板や空中配線にしたり、レギュレータ使わずに電池直結にすればもちっとお安くなります。