Untitled
unknown
c_cpp
a year ago
2.9 kB
10
Indexable
// Definiere die Pins für die Relais, die Onboard-LED und das Sound-Modul
const int relaisKopf = 5; // Kopf
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)
#include "Servo.h"
Servo Servomotor;
// 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");
}
// alles aus
void allesaus() {
armesenken();
digitalWrite(soundPin, LOW); // Sound starten
Serial.println("Alles aus");
}
void augenan() {
digitalWrite(relaisKopf, LOW);
Serial.println("Kopf Relais ausgeschaltet");
}
void augenaus() {
digitalWrite(relaisKopf, HIGH);
Serial.println("Kopf Relais ausgeschaltet");
}
void setup() {
// Setze die Pins als Ausgänge
pinMode(relaisKopf, 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
}
void loop() {
augenan();
delay(2500);
kopfschuetteln();
soundstarten();
armeheben();
verschubraus();
delay(1000);
kopfschuetteln();
armesenken();
armeheben();
armesenken();
armeheben();
verschubrein();
delay(6000);
armesenken();
soundstoppen();
augenaus();
delay(5000);
}
Editor is loading...
Leave a Comment