# Grab Alarm Using Arduino + LDR + Piezo Buzzer

17,853

27

10

This small project will teach you, how to make a simple Grab alarm using an LDR ( light dependent resistor).When you try to move your hand over the LDR, there is a loud alarm that goes on , and the alarm turns off as soon as you move your hand away from the LDR. The LDR works on the following principle " WHEN LIGHT FALLING ON THE LDR IS HIGH;RESISTANCE IS LOW ." and vice-versa. Basically for an LDR , light is inversely proportional to the Resistance.

### Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

## Step 1: REQUIREMENTS:

1. LDR ( you can choose any variant ), these come in various sizes ,usually based on the size of the area on which the light falls.
2. Piezo buzzer (PCB MOUNT).
3. Resistor (220ohm /1kohm)
4. Connecting wires or Jumper cables
5. Arduino UNO R3
6. USB cable

## Step 2: Procedure

1. Connect one terminal of the piezo buzzer to Digital pin 9(you can choose and PWM enabled pin) , and connect the other terminal to ground . Your buzzer connection is now complete.

2. Now make the connections similar to that given in the picture

• the black wire goes to ground
• the green wire goes to pin A0 on the Arduino
• the red wire goes to the 5v pin on the Arduino

## Step 4: SOURCE CODE :

`int rcvpin=A0;`
```int buzzpin=9;
void setup()
{
pinMode(rcvpin,INPUT);
pinMode(buzzpin,OUTPUT);
buzz(200);
buzz(200);
buzz(200);
delay(2000);
Serial.begin(9600);

}```
```void loop()
{
Serial.println(ldrval);
if(ldrval>=900)
{
buzz(50);
}
}

void buzz(unsigned char time)
{
analogWrite(buzzpin,170);
delay(time);
analogWrite(buzzpin,0);
delay(time);
}```

## Step 5: DISCUSSIONS :

1. I have used ldrval variable to store the value being sent by the LRD connected to the arduino
2. The value is then printed on the serial monitor . This following part is very crucial .
3. After you have fully connected your circuit , you should upload your sketch to the arduino and then open the Serial monitor from the tools section on your arduino platform .
4. If your sketch is working properly then it should send back some values to your serial monitor .
5. Try to place your hand closer to the serial monitor and observe the readings changing .
6. In this manner you have to decide what your threshold value will be ; crossing which your buzzer will start.In my case ,this value was 900. Try to play around with this value , as this decides the sensitivity of the Alarm going on.
7. See the source code line 28 : you can also play around with the value . In my case i put it to 170 . You can use values ranging from 0-255 , where 0 represents off .

## Step 6: PROJECT VIDEO

Participated in the
Teach It! Contest Sponsored by Dremel

Participated in the
Epilog Challenge VI

## Recommendations

• ### Internet of Things Class

22,853 Enrolled

## 10 Discussions

do the usb cable should be always connected with laptop/computer to work

hello shorbonB i love this project i want to know that where to set the secure code please tell me how to do it ...................if possible please send me a video..........how to set the secure code...................did i have to connect the the ardunio to the computer by usb

Love this project :)!

try building the circuit with circuito.io - you'll get a detailed schematic and code.

Thanks a lot yanais , for appreciating my efforts :)

Thanks for appreciating my work . This instructable now includes detailed circuit diagrams and schematics to make it easy for creating your own Project.

Thanks again :)

Sir,my alarm keeps buzzing all the time even when i remove the LDR.. Plz help..

Sir,my alarm keepd buzzing all the time plz help

Sir,my alarm keeps beeping all the time even when i remove the ldr.plz help

Thanks for this. I am using it to tell me when a charging light for a lipo battery GOES OFF. Perfect. I set the threshold to 200 and left the rest. Next step to add code that tells me how long it took to charge the battery. That's a bit more coding knowledge than I have. I'll have to look at loop and counting codes and see if I can integrate an if then statement to stop the count. Any clues?