https://blog.with2.net/link/?1965529

RGB LEDでランプを作ってみた

https://blog.with2.net/link/?1965529

さて、Arduinoを使っての新しい分野のモノづくりネタです。

走りモノ、音モノの後は光モノです。

テープ状のLEDランプというものがあります。赤青緑の三原色を組み合わせて任意の色を再現しようというものだそうです、これをArduinoで制御してみようというものです。

自室に昔々手作りした高さ80㎝ほどのランプがあります。もともとはCDラックだったものにランプを組み込んで使っていたものです。プラスチック板で裏打ちした和紙を内面に使っていますが、なかなか情緒のる色を演出してくれていましたが最近はほとんど点灯されることもなく埃をかぶっています。これにLEDを組み込んでみようという構想です。

まずはLEDのお勉強からです、5050という1mあたりにLEDが60個ついたものが使い易そうです。

RGBテープLEDを発色させるスケッチはHP上にいくらでも見つけることができます。

選択したLEDは14.4W 仕様なのでArduinoで直接駆動することはできないため、2SK2232(MOS-N型)というFETを使ってみます。

回路図はいたってシンプルです。

d0335326_09044085.png
とりあえずは仮配線で回路を作って赤青緑を順番に発色させるスケッチを試してみます。
void setup() {

}
void loop() {
int H ;
int R , G , B ;

/* HSVのH値を0-360で回します */
for (H=0 ; H<=360 ; H++) {
/* HSVのH値を各LEDのアナログ出力値(0-255)に変換する処理 */
if (H <= 120) {
/* H値(0-120) 赤-黄-緑 */
R = map(H,0,120,255,0) ; // 赤LED R←→G
G = map(H,0,120,0,255) ; // 緑LED G←→R
B = 0 ;
} else if (H <= 240) {
/* H値(120-240) 緑-水色-青 */
G = map(H,120,240,255,0) ; // 緑LED G←→B
B = map(H,120,240,0,255) ; // 青LED B←→G
R = 0 ;
} else {
/* H値(240-360) 青-紫-赤 */
B = map(H,240,360,255,0) ; // 青LED B←→R
R = map(H,240,360,0,255) ; // 青LED R←→B
G= 0 ;
}
/* RGBLEDに出力する処理 */
analogWrite(11,R) ; //  9番ピンから赤LEDの出力
analogWrite(10,G) ; // 11番ピンから緑LEDの出力
analogWrite(9,B) ; // 10番ピンから青LEDの出力
delay(1000) ;
}
}

机上では難なく作動しましたので、早速くだんのランプに取り付けてみました。Arduino周りは仮配線ですが、なかなかムードのあるランプが出来上がりました。

回路に問題はなさそうなので、さくさくと基板を作り、適当なケースに入れてみました。

シェアする

フォローする