A laser constantly shines on a photoresistor. The Arduino constantly reads the voltage from a voltage divider made from a photoresistor and a 20k resistor. When a person interrupts the laser beam, the resistance of the photoresistor drops. The Arduino detects this as a change in voltage and sends a signal to the servo to change positions, releasing a rubber band.
#include <Servo.h> int lightPin = A0; //define a pin for Photo resistor int ledPin=13; //define a pin for LED int threshold = 800; //define threshold value. Below this, the beam is assumed to be broken int servoPin = 11; //define a pin for the servo int fireposition = 40; int homeposition = 150; Servo myservo; void setup() { Serial.begin(9600); //Begin serial communcation pinMode( ledPin, OUTPUT ); myservo.attach(servoPin); myservo.write(homeposition); //move servo to home position delay(10000); //10 second delay at startup } void loop() { myservo.write(homeposition); delay(1000); while (analogRead(lightPin) > threshold){ Serial.println(analogRead(lightPin)); //Write the value of the photoresistor to the serial monitor. digitalWrite(ledPin, 1); delay(10); } myservo.write(fireposition); digitalWrite(ledPin, 0); delay(1000); }