View difference between Paste ID: tGUmSVjD and JT656Wnw
SHOW: | | - or go back to the newest paste.
1
#include <Servo.h> 
2
 
3
Servo myservo;  // create servo object to control a servo 
4
                // a maximum of eight servo objects can be created 
5
 
6
int pos = 0;    // variable to store the servo position
7
int ledPin = 4;                // choose the pin for the LED
8
int inputPin = 2;               // choose the input pin (for PIR sensor)
9
int pirState = LOW;             // we start, assuming no motion detected
10
int val = 0;                    // variable for reading the pin status
11
int sevloco = 0;
12
int pin13 = 13;
13
14
 
15
void setup() 
16
{ 
17
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
18
  pinMode(ledPin, OUTPUT);      // declare LED as output
19
  pinMode(inputPin, INPUT);     // declare sensor as input 
20
  Serial.begin(9600);
21
} 
22
 
23
 
24
void loop() 
25
{ 
26
  for(pos = 0; pos < 90; pos += 1)  // goes from 0 degrees to 180 degrees 
27
  {
28
  if (digitalRead(inputPin) == HIGH) {
29
    myservo.write(pos);
30
    delay(30); //wait for move
31
  }
32
  }
33
  for(pos = 90; pos < 90; pos += 1) //goes from 180 to 0
34
  {
35
  if (inputPin <= 0) {
36
   myservo.write(pos); //tell servo to move
37
  delay(30); //wait
38
  }
39
  
40
}    
41
 val = digitalRead(inputPin);  // read input value
42
  if (val == HIGH) {            // check if the input is HIGH  
43
    if (pirState == LOW) {
44
      // we have just turned on
45
      Serial.println("Motion detected!");
46
      
47
      digitalWrite(ledPin, HIGH); 
48
      delay(3500);
49
      // We only want to print on the output change, not state
50
      pirState = HIGH;
51
      
52
    }
53
  } else {
54
    digitalWrite(ledPin, LOW); // turn LED OFF
55
    if (pirState == HIGH){
56
      // we have just turned of
57
      Serial.println("Motion ended!");
58
      
59
      // We only want to print on the output change, not state
60
      pirState = LOW;
61
    }
62
  }
63
}