Untitled

 avatar
unknown
c_cpp
5 months ago
3.0 kB
10
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