Introduction: Arduino Clap Sensitive Light Control (The Clapper)

About: I am a young electronics hobbyist, interested in computers, rapid prototyping and electronics.

In a spree of ordering little extras for my arduino, i picked up a sound sensor board similar to this one and i had the idea of controlling the lights in my room. During the long delivery period i started work on the code for such a project, using a button to simulate a clap. This i did fairly soon after scanning the arduino reference page to learn some new functions and i could succesfully switch an led. In the final project i linked the output to a relay capable of driving my lights and the microphone board in place of the button.

The requirements are on the next page.

Also Please vote for me in the contests ive entered if you like this project.

Step 1: Requirements

Requirements:
Arduino, needs two digital I/O
Jumpers (M-M)
Relay(necessary for the mains voltage)
Breadboard
Resistor*
LED*
Computer (I just happened to use my Pi for this one)
Arduino IDE
Attiny (not essential but for compact-ness)
*For testing.

Step 2: Breadboard Setup. (No Relay)

To set up your breadboard, copy the fritzing file. The resistor value will depend on your LED, i just happened to know what mine required. Also check your microphone board as the pinouts may be different, mine had one output pin which could be changed from analogue to digital using a potentiometer on board. If your board has analog and digital outputs make sure you wire the digital output.

Step 3: The Code

Some very simple code just copy and paste into the Arduino IDE which can be found here.

const int buttonPin = 2;
const int ledPin = 0;


int buttonstate = 0;
int ledstate = 0;

void setup() {

pinMode(ledPin, OUTPUT);

pinMode(buttonPin, INPUT);
}

void loop(){

buttonstate = digitalRead(buttonPin);
ledstate = digitalRead(ledPin);

if (ledstate == HIGH && buttonstate == LOW) {
delay(250);
digitalWrite(ledPin, LOW);
}
if (ledstate == LOW && buttonstate == LOW) {
delay(250);
digitalWrite(ledPin, HIGH);
}
}

Step 4: Troubleshooting

As a point of reference when i clap a little LED on the microphone board lights up, if you have a constant flashing LED adjust the onboard potentiometer till it stops, from this point on the sensitivity can be adjusted to your preference.

If nothing happens at all when you clap check all your connections and check that your LED is wired Correctly.

Step 5: Relay Setup

IF YOU ARE WIRING THIS TO MAINS VOLTAGE BE EXTREMELY CAREFUL, MAINS CAN KILL INSTANTLY, I AM IN NO WAY RESPONSIBLE OR LIABLE FOR ANY INJURY OR FATAL HARM THAT MAY BEFALL YOU AS A CONSEQUENCE OF FOLLOWING THIS TUTORIAL.

PURSUE AT YOUR OWN RISK

The relay version varies very little but to begin with, check your relay is for 5V.

Then check if your landlord or home owner is accepting of this project.

Switch the outlet/light switch off in the switchbox for your home, to reduce risk of electrocution.

Test your relay board before hooking it up to mains, a circuit like the one below should work.

Step 6: Condensed Version (Attiny85)

Steps on how to bootload and program your Attiny will be uploaded at a later date, in the mean time there are many tutorials out there on how to do it.

One fairly simple method that requires no extra hardware is using your arduino as an isp.

The Attiny pinout is below.

Step 7: Watch This Space

Videos and pictures of the project will be uploaded but in the mean time dont hesitate to ask questions, give opinions and feedback.
Inbox me if you have any questions.

Step 8: Gallery

123D Circuits Contest

Participated in the
123D Circuits Contest

Supercharged Contest

Participated in the
Supercharged Contest