Devices & Components
Arduino Uno Rev3
Resistor 330 ohm
Jumper wires (generic)
Photo resistor
Buzzer
Breadboard (generic)
Laser pointer
5 mm LED: Red
Pushbutton
Software & Tools
Arduino IDE
Project description
Code
Laser Alarm
c_cpp
Just adjust the sensivity to match your laser pointer's power. To reset the alarm just push the button.
1/* 2A laser pointer is needed to make a light beam that will be detected by the ldr 3Make Sure you line up the beam and the ldr properly 4*/ 5const int sensivity = 400; // 0-1023 a lower value means a more powerful laser 6 7#define ldr A0 8#define redLed 7 9#define blueLed 8 10#define buzzer 9 11#define buttonPin A2 12 13 14int buttonState; 15int state = 0; 16 17 18void setup() { 19 alarmOFF(); 20 Serial.begin(9600); 21 pinMode(redLed, OUTPUT); 22 pinMode(blueLed, OUTPUT); 23 pinMode(buzzer, OUTPUT); 24} 25 26void loop() { 27 int light = analogRead(ldr); 28 int button = analogRead(buttonPin); 29 Serial.print("button = "); 30 Serial.print(button); 31 Serial.print("\ 32"); 33 Serial.print("light = "); 34 Serial.print(light); 35 Serial.print("\ 36"); 37 Serial.print("state = "); 38 Serial.print(state); 39 Serial.print("\ 40"); 41 Serial.print("\ 42"); 43 if (button >= 1020) { 44 state = 0; 45 } 46 if (light > sensivity) { 47 state = 1; 48 } 49 if ((light <= sensivity) && (state == 0)) { 50 alarmOFF(); 51 } 52 if (state == 1) { 53 alarmON(); 54 } 55} 56 57 58void alarmON() { 59 tone(buzzer, 1760); 60 digitalWrite(redLed, HIGH); 61 digitalWrite(blueLed, LOW); 62 delay(500); 63 tone(buzzer, 1319); 64 digitalWrite(blueLed, HIGH); 65 digitalWrite(redLed, LOW); 66 delay(500); 67} 68 69void alarmOFF() { 70 noTone(buzzer); 71 digitalWrite(redLed, LOW); 72 digitalWrite(blueLed, LOW); 73}
Laser Alarm
c_cpp
Just adjust the sensivity to match your laser pointer's power. To reset the alarm just push the button.
1/* 2A laser pointer is needed to make a light beam that will be detected by the ldr 3Make Sure you line up the beam and the ldr properly 4*/ 5const int sensivity = 400; // 0-1023 a lower value means a more powerful laser 6 7#define ldr A0 8#define redLed 7 9#define blueLed 8 10#define buzzer 9 11#define buttonPin A2 12 13 14int buttonState; 15int state = 0; 16 17 18void setup() { 19 alarmOFF(); 20 Serial.begin(9600); 21 pinMode(redLed, OUTPUT); 22 pinMode(blueLed, OUTPUT); 23 pinMode(buzzer, OUTPUT); 24} 25 26void loop() { 27 int light = analogRead(ldr); 28 int button = analogRead(buttonPin); 29 Serial.print("button = "); 30 Serial.print(button); 31 Serial.print("\ 32"); 33 Serial.print("light = "); 34 Serial.print(light); 35 Serial.print("\ 36"); 37 Serial.print("state = "); 38 Serial.print(state); 39 Serial.print("\ 40"); 41 Serial.print("\ 42"); 43 if (button >= 1020) { 44 state = 0; 45 } 46 if (light > sensivity) { 47 state = 1; 48 } 49 if ((light <= sensivity) && (state == 0)) { 50 alarmOFF(); 51 } 52 if (state == 1) { 53 alarmON(); 54 } 55} 56 57 58void alarmON() { 59 tone(buzzer, 1760); 60 digitalWrite(redLed, HIGH); 61 digitalWrite(blueLed, LOW); 62 delay(500); 63 tone(buzzer, 1319); 64 digitalWrite(blueLed, HIGH); 65 digitalWrite(redLed, LOW); 66 delay(500); 67} 68 69void alarmOFF() { 70 noTone(buzzer); 71 digitalWrite(redLed, LOW); 72 digitalWrite(blueLed, LOW); 73}
Downloadable files
Laser Alarm Schematic
Laser Alarm Schematic
Laser Alarm Schematic
Laser Alarm Schematic

Laser Alarm Schematic
Laser Alarm Schematic
Comments
Only logged in users can leave comments