|
Post by alexpierce on May 27, 2015 21:01:05 GMT
Hi Conor,
Sorry for the late reply. Our code is below:
#include <Servo.h>
Servo myservo;
int pos = 149;
const int lockPin = 6;
void setup() {
pinMode(A0, INPUT);
myservo.attach(9);
myservo.write(149);
Serial.begin(9600);
}
void loop() {
int sound = analogRead(A0);
if (sound > 1000)
{
Serial.println("knock detected");
digitalWrite(lockPin, LOW);
delay (3000);
for (pos = 149; pos >= 45; pos -= 1) // goes from 149 degrees to 45 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(5);
}
for (pos = 45; pos <= 149; pos += 1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(5);
}
delay(3000);
digitalWrite(lockPin, HIGH);
}
}
Thanks,
Alex
|
|