#include "Servo.h" //Servo Biblothek hinzufügen
Servo Lservo; // erstellt linken Servo als Ansprechobjekt
Servo Rservo; // erstellt rechten Servo als Ansprechobjekt
int Right = 7; // definiert die rechte LED (Rot) auf PIN 7
int Left = 8; // definiert die linke LED (Gelb) auf PIN 8
int Buzz = 14; // definiert den Buzzer auf PIN 14
int eyeR = 3; // definiert rechten Bewegungssensor auf PIN 3
int eyeL = 5; // definiert linken Bewegungssensor auf PIN 7
int valL; // erstellt Variable L als änderbaren Winkelgrad für den linken Servo
int valR; // erstellt Variable R als änderbaren Winkelgrad für den rechten Servo
bool motion_detectedL = false;
bool motion_detectedR = false;
void setup() {
Lservo.attach(6); //linken Servo zu PIN 6 zuordnen
Rservo.attach(4); //rechten Servo zu PIN 4 zuordnen
pinMode(Right, OUTPUT); //rechte LED als Ausgang definieren
pinMode(Left, OUTPUT); //linke LED als Ausgang definieren
pinMode(eyeR, INPUT); //rechten Bewegungssensor als Eingang definieren
pinMode(eyeL, INPUT); //linken Bewegungssensor als Eingang definieren
}
void loop() {
//Bewegungssensor aktionen
if (digitalRead(eyeR)==HIGH) { //wenn der rechte Bewegungssensor aktiviert wird dann...
digitalWrite(Right, HIGH); //rechte LED einschalten
delay(50); //warte 0,05 sekunden
valR = 1023; //Variable R auf 512 Grad ändern
Rservo.write(valR); //rechten Servo nach Variable R drehen
}
else{ //wenn der rechte Bewegungssensor nicht aktiviert wird dann...
digitalWrite(Right, LOW); //rechte LED ausschalten
delay(500); //warte 0,5 sekunden
valR = 512; //Variable R auf 512 Grad ändern
Rservo.write(valR); //rechten Servo nach Variable R drehen (512)
delay(500); //warte 0,5 sekunden
valR = 1023; //Variable R auf 1023 Grad ändern
Rservo.write(valR); //rechten Servo nach Variable R drehen (1023)
delay(500); //warte 5 sekunden
}
if (digitalRead(eyeL)==HIGH) { //wenn der linke Bewegungssensor aktiviert wird dann...
digitalWrite(Left, HIGH); //linke LED einschalten
delay(50); //warte 0,05 sekunden
valL = 1023; //Variable L auf 512 Grad ändern
Lservo.write(valL); //linken Servo nach Variable L drehen (512)
tone(14, 262, 250); // Ton auf 262Hz für 0.250 Sekunden
tone(14, 512, 500); // Ton auf 512Hz für 0.500 Sekunden
tone(14, 262, 250); // Ton auf 262Hz für 0.250 Sekunden
tone(14, 512, 500); // Ton auf 512Hz für 0.500 Sekunden
tone(14, 262, 250); // Ton auf 262Hz für 0.250 Sekunden
}
else{ //wenn der rechte Bewegungssensor nicht aktiviert wird dann...
digitalWrite(Left, LOW); //linke LED ausschalten
delay(500); //warte 0,5 sekunden
valL = 512; //Variable L auf 512 Grad ändern
Lservo.write(valL); //linken Servo nach Variable L drehen (512)
delay(500); //warte 0,5 sekunden
valL = 1023; //Variable L auf 1023 Grad ändern
Lservo.write(valL); //linken Servo nach Variable L drehen (1023)
delay(500); //warte 5 sekunden
}
}