Untitled
unknown
c_cpp
a year ago
3.0 kB
12
Indexable
#include "Servo.h"
Servo Servomotor;
const int relaisAugen = 5; // Augen
const int relaisVerschub = 6; // Verschub
const int relaisArme = 7; // Arme
const int soundPin = 4; // Sound-Modul (DY-SV8F)
const int ledPin = 13; // Onboard-LED an Pin 13 (optional)
unsigned long timestamp; // für später das man die zeitmacht
// Funktion für die Kopfbewegung
void Kopfschuetteln() {
// Position 2 mit dem Winkel 55° ansteuern
Servomotor.write(55);
delay(100);
// Position 4 mit dem Winkel 145° ansteuern
Servomotor.write(145);
delay(1500);
// Position 2 mit dem Winkel 55° ansteuern
Servomotor.write(55);
delay(1400);
// Position 4 mit dem Winkel 145° ansteuern
Servomotor.write(145);
delay(400);
// Zur Mitte zurückkehren (90°)
Servomotor.write(100);
}
// Funktion zum Heben der Arme
void armeheben() {
digitalWrite(relaisArme, LOW);
delay(500);
//Serial.println("Arme Relais eingeschaltet");
}
// Funktion zum Senken der Arme
void armesenken() {
digitalWrite(relaisArme, HIGH);
delay(500);
//Serial.println("Arme Relais ausgeschaltet");
}
// Verschub raus
void verschubraus() {
digitalWrite(relaisVerschub, LOW);
//Serial.println("Verschub ausgefahren");
}
// Verschub raus
void verschubrein() {
digitalWrite(relaisVerschub, HIGH);
//Serial.println("Verschub eingefahren");
}
// sound starten
void soundstarten() {
digitalWrite(soundPin, LOW); // Sound starten
//Serial.println("Sound abgespielt");
}
// sound stoppen
void soundstoppen() {
digitalWrite(soundPin, HIGH); // Sound starten
//Serial.println("Sound stoppen");
}
void augenan() {
digitalWrite(relaisAugen, LOW);
//Serial.println("Augen Relais ausgeschaltet");
}
void augenaus() {
digitalWrite(relaisAugen, HIGH);
//Serial.println("Augen Relais ausgeschaltet");
}
void setup() {
// Setze die Pins als Ausgänge
pinMode(relaisAugen, OUTPUT);
pinMode(relaisVerschub, OUTPUT);
pinMode(relaisArme, OUTPUT);
pinMode(soundPin, OUTPUT); // Sound-Pin als Ausgang
pinMode(ledPin, OUTPUT);
// Starte mit ausgeschalteten Relais, Sound und LED
digitalWrite(soundPin, HIGH); // Sound-Modul auf LOW
digitalWrite(ledPin, LOW);
Servomotor.attach(8);
//Serial.begin(9600); // Serielle Ausgabe zur Überwachung starten
// wird die zeit von mikrocontoller gespeichert
timestamp = millis();
}
void loop() {
if((millis()-timestamp)>= 2000){
augenan();
delay(2500);
Kopfschuetteln();
soundstarten();
armeheben();
verschubraus();
delay(1000);
//Augenschuetteln(); // hab ich in der methode nicht gesehe??????
armesenken();
armeheben();
armesenken();
armeheben();
verschubrein();
delay(6000);
armesenken();
soundstoppen();
augenaus();
delay(5000);
}
}Editor is loading...
Leave a Comment