HomePage/assetList/Birthday Lamp
Birthday Lamp
880 0
Production process

Overview

Press switch, the buzzer will play pre-set Happy Birthday song and at the same time, the lamp will shine. Double press the key, it’ll stop.

Birthday-light.jpg

Schematic

System can detect if the crash switch is collided. If yes, the status including True and False will change once. When it is True, the device will play music and get lighted. conversely, it’ll stop playing music and turn off the light.

Birthday-light-sch-E.jpg

Equipment


Music birth.jpg

Preparation

  • Setup 1:Connect CoreUSB and PC with USB cable, open Arduino IDE.

CoreUSB Ble pc.jpg
  • Setup 2:Click Files > Examples > mCookie > _101_BirthdayLight, download program. Or download:

101 BirthdayLight.jpg
  • Setup 3:Select the right board card and COM port, download program.

Program description

  • Function
  • “playNote()”Volume control
  • “colorSet()”Color control
  • “blink()”Judge if the key is pressed
  • Define pin


#define PIXEL_PIN A0 //Colored led int key_Pin =2;//Key int speakerPin =6;//Buzzer
  • Check switch and see if it is pressed.
  • Use file ” key_get(key_Pin, 0)” to detect if the key is pressed. ” key_Pin ” is the pin that connects with the key, which can be change by users. “0” means triggering once pressing the key. “1” means triggering after you press and loosen the key.
  • Each time the key is detected to be “pressed”, the True and False values of ” play_pause ” will change once. Therefore, you can control the music and light according to the values of “play_pause”.


void blink(){if(key_get(key_Pin, 0))//Press the key { delay(200);//Shockproof play_pause =!play_pause;// Status changes one time. }}
  • Light change (Red-green-blue-yellow)
  • “colorSet(strip.Color(R, G,B));” R, G and B are three primary colors. Users can change that according to personal needs.


add++;if(add ==5) add =1;if(add ==1) colorSet(strip.Color(i *10, 0, 0));elseif(add ==2) colorSet(strip.Color(0, i *10, 0));elseif(add ==3) colorSet(strip.Color(0, 0, i *10));elseif(add ==4) colorSet(strip.Color(i *10, i *10, 0));
  • Play music
  • Save fixed notes and change the pitch in program definition.


int notes[]={ NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4, NOTE_C4, NOTE_C4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_AS4, NOTE_AS4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4 };

Hardware Buildup

  • Setup 1:Connect Buzzer to D6 pin of Sensorhub and Colored LED to A0, crash switch to D4.

CoreUSB Sensorhub BirthdayLight E.jpg
  • Setup 2:Connect the activated battery box to BM.

CoreUSB Ble steup2.jpg
  • Setup 3:Stack all modules together without fixed order and finish the hardware buildup.

Music birth all.jpg
  • Setup 4 :DIY your LEGO birthday lamp.

Music birth over.jpg
If modules do not work normally, please try to power off and then restart it with power supply.

Result

Press crash switch, play birthday song and get lighted. The light will get brighter and brighter. Then press the switch once more, the music and light will be turned off.
Required hardware
No data
Code show
No data
Attachment download
No data
0
Chris
Asset info

Creation time:11/08/2018

Author:chris
Course recommendation
No data
Master, don't look at it silently. Please login to help me comment.

Register now