読者です 読者をやめる 読者になる 読者になる

yutaponのブログ

javascript界隈の興味あるネタを備忘録的に残しておく場所

ダンボーの目を七色に光らせる【LED換装】

Arduinoとほぼ同時にこのダンボーも購入していて、
実はずっとダンボーの目を七色に光らせることを目標にやってきてました。

とりあえずもともと付いている白色LEDから
フルカラーLEDへの換装ができたので作業ログとしてまとめておきます。


ダンボーについて

f:id:sskyu:20131212014452j:plain

このダンボー、ミニっていうくらいなのでとても小さい。
そのためこの頭部にLEDを仕込むのはなかなか大変でした。

体の部分は中身が空洞なわけではないので、何かを組み込むなら
頭部の空間内に収まるように考えなくてはなりません。

楽をするなら普通サイズのダンボーを買って、そちらからいろいろいじっていくのが正解かも。


フルカラーLEDを2つ点灯できるようにする

f:id:sskyu:20140219225316j:plain

前に作った回路に、もう一つフルカラーLEDを並列につないでみて、
このままダンボーの目に移植できそうか確認している図。

Arduinode使って距離センサーとフルカラーLEDを組み合わせる - yutaponのブログ

並列なので、Arduinoのデジタルポート(PWM)は3つしか占有しません。
あとで気づくのですが、上の写真では抵抗を6つ使っていますが3つで十分でした。
それぞれのLEDに電流が届く前に適切な抵抗を挟んであげれば良いみたい(自信ない)。


ユニバーサル基盤にLEDを取り付け筐体に収まるか確認する

f:id:sskyu:20140219234535j:plain

使ったユニバーサル基板はArduino用のユニバーサル基板の余りです。
Arduino用ユニバーサル基板: パーツ一般 秋月電子通商 電子部品 ネット通販

余りっていうのは、この基板、パキッと割って2つに分けることができて、
小さい方はArduinoに取り付けるとき不要な部分なのでこれを使うことにしました。

まずはどのくらいのサイズに切ればわからなかったのでダンボーの横幅に
あわせてユニバーサル基板をカットしました。
Pカッターがあればだいぶ楽をできたのですが、普通のカッターしかなかったので
何度も切り込みをいれて割りました。


ダンボーの目の位置を確認しながら、基板上のどこにLEDを設置すればいいか
確認しているのが上の写真です。


蓋をしてみたところ、全然閉まる気配がなく、さらに基盤を小さくする必要がでました。
最終的にピン穴で数えて、横14ピン・縦3ピンのサイズでなんとか
筐体内に収まることがわかりました。


また、蓋のボタン電池がついていた部分が基盤と干渉して
蓋が閉められなかったのでこの部分をカッターで削って取り除きました。

f:id:sskyu:20140219235710j:plain
f:id:sskyu:20140220221430j:plain

電源は外部から引いて取るので、できた穴はケーブルを引く時に丁度いい感じになりました。


LEDを基盤にハンダ付けし、回路の確認をする

f:id:sskyu:20140220230025j:plain

LEDを基盤にハンダ付けして、この回路で動作しているか確認している図。

抵抗3つで2つのLEDが光るのかをここで確認しています。
すごくごちゃごちゃしているのは深夜の作業で疲れていたため。


今振り返ると、ここでちょっとしたミスをしています。
端子が4つあるフルカラーLEDには向きがあり、
配線のしやすさからLEDの向きを片方だけ逆にしました。
LEDを真上から見れば気がついたんですが、
LEDの中でそれぞれの色が発光する場所が微妙に違うようなので、
LEDの向きは同じにしたほうが統一感があってよかったと後悔してます。


ダンカンばかやろう

f:id:sskyu:20140221233447j:plain

ハンダ付けもおわり、あとはケーブルを引いて動作確認という手前で、
一度ダンボーに入れてみました。

そしたら首が曲がってしまうことに気付きました。

基盤と蓋の干渉がとれていないみたいで、蓋が平行に閉まっていないためです。

このダンボーを見て、ビートたけしみたいだな、と直感的に思い、
「ビート君」と名づけました。


2つのLEDの同じ端子同士をハンダ付けしケーブルを引く

f:id:sskyu:20140222023811j:plain

この14x3ピンの基板上に抵抗を置くのは無理と判断し、ダンボーの頭の中では
フルカラーLED2つを基盤に載せるだけになりました。


まずフルカラーLED(カソードコモン)のR, GND, B, Gそれぞれの端子を
固いジャンパーワイヤーでつないでハンダ付けをしました。


ArduinoからLEDまで繋ぐケーブルをつくるために、
適当な色のジャンパーワイヤーを同じ長さに揃えて、
蓋に穴がある方のLED側で、基盤と半田付けをしました。

それが上の写真です。


(一度完成したときにGNDとBlue同士を相互に繋ぐハンダ付けを間違えてやり直したのでここですごく確認しておくこと!)


ビート君始動

f:id:sskyu:20140222024528j:plain

ビート君から出ているケーブルとArduinoの間に抵抗を入れて繋いで、
距離センサーの例のプログラムを動かしているのが上の写真。

無理やり蓋を押してたらいい感じハマってビートっぽさがでなくなってしまった。


写真を見ると青い発光体の位置が微妙に違う気がしますよね。
LEDを逆にして付けるとこんなことになるので気をつけて下さい。


おわりに

ビート君というガジェットが手に入ったので今後は
WebとつなげてNotiを表示できるようにしていく。
Notiといっても、数種類の色で表現できる範囲ではあるけど。


それとLEDを並列で繋いだので、片目だけ点灯させるなど、
LED1つずつの制御はできないです。
これをするにはPWMのデジタルポートを6つ使えばできますが、
Arduinoが持つPWMポート全部使うし、ダンボーと繋ぐケーブルが+3本だし・・
と今回はしませんでした。

数十個のLEDを制御したいときはシフトレジスタとか使えばできるっぽいですが、
回路側を組むのも大変そうだし、制御するのも大変そう。
電子工作はまだまだわからないことだらけ。