ベッドサイドLEDライト
2018年9月3日

1.作ったもの
ベッドサイドの照明として
1.明るさをディップスイッチで調整できて
2.ふわっと点灯、消灯できて
3.タッチセンサーで2個所からONOFFできて
4.12VのLEDテープを使う(5Vだと暗い)


2.必要なもの
・ArduinoNANO
・SSR(今回は余っていたOMRON G3TBを使用)
・ディップスイッチ
・タッチセンサー2枚
・12V電源アダプター
・DC-DC変換器
3.回路図

4.スケッチ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
//BED用 LED12V // //D11,12 タッチパッド //(タッチパッド 真ん中→VCC 両端→GND,SIG) // //D9 SSR LOAD PWMに接続すること //ゆっくり点灯(3,5,6,9,10,11pinがPWMに対応) //タッチパッドモーメンタリ // //ディップスイッチで点灯を階調できるように // //注)タッチパッド使うときは基盤の裏に絶縁プラ板貼ること。そうしないと勝手にonoffしやすい? int j = 0;//LED階調0 void setup() { pinMode(11, INPUT);//タッチパッド1をD11番に接続 pinMode(12, INPUT);//タッチパッド2をD12番に接続 pinMode(9, OUTPUT);//SSR LOADをD9番に接続 pinMode(2, INPUT_PULLUP);//ロータリディップ 1 pinMode(3, INPUT_PULLUP);//ロータリディップ 2 pinMode(4, INPUT_PULLUP);//ロータリディップ 4 pinMode(5, INPUT_PULLUP);//ロータリディップ 8 Serial.begin(9600); } void loop(){ //----ロータリーディップ設定---- int a = ( !digitalRead(5) * 8 + !digitalRead(4) * 4 + !digitalRead(3) * 2 + !digitalRead(2))*15 + 30;//明るさ 16*15=240 30~255 Serial.print("a = "); Serial.println(a); //----タッチパッドモーメンタリプログラム---- if(digitalRead(11)== HIGH || digitalRead(12)== HIGH) {//タッチパッドがオンして if(j < 20) {//SSR消えていたらON。モーメンタリスイッチにする。1回押せばON。digitalRead(9) ==LOW Serial.println("SSR ON"); // jの値を0~255で変化させる for (j=0; j<a; j++){ // jの値でLEDをゆっくり点灯させる analogWrite(9, j); delay(30);//点灯の速さ。つくときは消える時より早く感じる } } else {//もう一度押せばOFF Serial.println("SSR OFF"); // jの値を255~0で変化させる for (j=a; j>-1; j--){ // jの値でLEDを点灯させる analogWrite(9, j); delay(10);//消灯のはやさ } } } delay(1000); //0.5秒でループ } |
5.操作方法など
ディップスイッチにて明るさの調整できます。
一番明るいものでは本も読めますし、一番暗いのはほんのり明かる程度。
ふわっと点灯、ふわっと消灯は高級感が出て非常にいい感じです。
タッチセンサーを2か所につけると地味に便利です。