Hexe

 avatar
StefanPraetzel
plain_text
5 months ago
2.9 kB
4
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