User Tools

Site Tools


laser_tripwire_rubber_band_shooter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
laser_tripwire_rubber_band_shooter [2018/07/16 16:58]
glassgiant created
laser_tripwire_rubber_band_shooter [2018/08/09 16:38]
glassgiant [Arduino Code]
Line 1: Line 1:
 +====== How it works ======
 +A laser constantly shines on a [[https://en.wikipedia.org/wiki/Photoresistor|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.
  
 ====== Wiring Diagram ====== ====== Wiring Diagram ======
Line 6: Line 8:
 {{:workshops:rubber_band_shooter:511968d9ce395f7c54000000.png?400|}} {{:workshops:rubber_band_shooter:511968d9ce395f7c54000000.png?400|}}
  
 +====== Arduino Code ======
 +<code c>
 +#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);
 +}
 +</code>
laser_tripwire_rubber_band_shooter.txt · Last modified: 2018/08/09 16:38 by glassgiant