Introduction: Clap Light: Good for Home Decor and TOUCH FREE!

About: I love to make stuff, including food, crafts, and especially electronics.

This is a useful lamp in no-touch rooms.

It uses a sound sensor and an Arduino to detect sounds(also claps) to light the LEDs up.

It can be customized to your liking and can also be used as a bed lamp if revised.

Supplies

Arduino(any, best if Uno, Leonardo, Nano/MKR, like small ones)

SMD LEDs(white)

Cardboard

Copper tape

Soldering iron and solder

Jumper wires

Sound sensor: "Big Sound"

Piece of paper, but best if semi transparent like a square of toilet paper

Optional used(or not) screen protector, glass.

Tape, and vinyl(or paint)

Step 1: Wire the LED!

First, take a small piece of cardboard. Put a tiny bit of copper tape, two sides, in parallel. The gap should be very small.

Put solder, put the LED on, heat solder.

It's easier with a breadboard and through hole LEDs.

Connect wires.

Step 2: Connect the Sensor:

First, connect A0 to Analog 0, GND to GND, + to 5V, and D0 to pin 7.

Both lights should light up once powered.

If only one is lit(LED1), rotate the potentiometer slowly clockwise until the light turns on.

Step 3: Calibration and Sensing:

Once done, upload this code:

int sensorAnalogPin = A0;

int sensorDigitalPin = 7;

int analogValue = 0;

int digitalValue;

void setup() {

Serial.begin(9600);

pinMode(sensorDigitalPin,INPUT);

pinMode(Led13,OUTPUT);

}

void loop(){

analogValue = analogRead(sensorAnalogPin);

digitalValue=digitalRead(sensorDigitalPin);

Serial.println(analogValue);

delay(50);

}

If any mistakes are there please contact me. It's a bit hard to format here.

Upload the code, open serial plotter.

On Mac, go to Tools>Serial Plotter.

Not sure about linux/windows.

There should be a steady line or alternating one, jumping up and down in a pattern. Clap to the sensor and see where it jumps. Try to have a number slightly above the resting volume.

For me, I chose 496. CHANGE THE NUMBER IN THE CODE!!!

Step 4: Connect the LED

Connect + to pin 13, and ground to GND.

Use this code:

int sensorAnalogPin = A0;
int sensorDigitalPin = 7;

int analogValue = 0;

int digitalValue;

void setup() {

pinMode(13, OUTPUT);

Serial.begin(9600);

pinMode(sensorDigitalPin,INPUT); }

void loop(){

analogValue = analogRead(sensorAnalogPin);

digitalValue=digitalRead(sensorDigitalPin);

if (analogValue > 496) { //THIS NUMBER: My sensitivity is set to highest, and serial plotter gives about 496 for //any claps. Adjust accordingly.

digitalWrite(13, HIGH); delay(60000);

//set to 1 minute, can change any way you want. 1000 = 1 second. (ms)

}

else{ digitalWrite(13, LOW); }

}


CHANGE THE NUMBERS ACCORDINGLY!!!

Step 5: OPTIONAL Marble Texture

Take screen protector, and hopefully it's already cracked. Over a trash can or sink, crack it so only small pieces remain on the plastic. Rinse and dry. BEWARE OF SMALL GLASS FRAGMENTS

Step 6: CASE:

This step is pretty self explanatory.

I had a tissue box from a hotpot delivery. I used this. Cut out a bit for the glass, fold the glass if needed. Tape on, and put a tissue or toilet paper square behind the screen protector. Make sure the face that goes against the screen(plastic) faces out, for safety.

Put the circuit inside, cut out holes for USB and 9V, and put vinyl or paint the outside. Image is on the top.

Have fun!

Step 7: TEST

As shown in the video, (it will be downloaded), when I say "Hi" it activates. After it shuts down, I also hit the table lightly, and it also reacted to the vibration.

"Can't Touch This" Family Contest

Participated in the
"Can't Touch This" Family Contest