Hallo,
ich hab mir einen Code gebastelt mit dem ich zwei Servos mit jeweils einem Taster steuern kann.
hier der Code:
#include <Servo.h>
//#include <LiquidCrystal.h>
//LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int tasterGrossPin1 = 8; //Taster1 an Pin 8 angeschlossen
int tasterKleinPin2 = 9; //Taster2 an Pin 7 angeschlossen
int tasterStatus1, tasterStatus2; // Variablen Tasterzustand
//________Servo deffinieren
Servo meinServoGross; // ServoGross Initialisieren
Servo meinServoKlein; //ServoKlein Initialisieren
void setup()
{
//________Serialausgabe starten
Serial.begin(9600); // Serialausgabe starten
Serial.println("WC Gestartet");
delay(1000);
Serial.println("Initialisiere I/O");
//________Taster pullup einschalten
pinMode(tasterGrossPin1, INPUT_PULLUP); // tasterPin1 (Pin 8) wird als INPUT definiert
pinMode(tasterKleinPin2, INPUT_PULLUP); // tasterPin2 (Pin 7) wird als INPUT definiert
//________Servos Pinbelegung
meinServoGross.attach(10); // ServomotorGross wurde an Pin 9 angeschlossen
meinServoKlein.attach(11); // ServomotorKlein wurde an Pin 10 angeschlossen
//________Servos beim Start fixieren
meinServoGross.write(10); // Dreht ServoGross beim start auf "Geschlossen"
meinServoKlein.write(10); // Dreht ServoKlein beim start auf "Geschlossen"
delay(1000);
Serial.println("Initialisierung fertig!,warte auf Eingabe");
}
void loop()
{
tasterStatus1 = digitalRead(tasterGrossPin1); // Tasterstatus Gross
tasterStatus2 = digitalRead(tasterKleinPin2); // Tasterstatus Klein
//____________________________Aktion bei Taster Gross
if (tasterStatus1 == 0)
{
meinServoGross.write(170); // Langes spülen öffnen (Servo 170 Grad anfahren)
Serial.println("Spuelung gross gestartet!");
delay(5000); // Warte 5 sekunden
meinServoGross.write(15); // schließen (Servo 15 Grad anfahren)
Serial.println("Gross fertig!");
delay(100);
}
//____________________________Aktion bei Taster klein
if (tasterStatus2 == 0)
{
meinServoKlein.write(170); // Kurzes spülen öffnen (Servo 170 Grad anfahren)
Serial.println("Spuelung klein gestartet!");
delay(5000); // Warte 5 sekunden
meinServoKlein.write(15); // schließen (Servo 15 Grad anfahren)
Serial.println("Klein fertig!");
delay(100);
}
}
Dies klappt wunderbar,jedoch stelle ich mir die Frage,ist es möglich den Ausfall eines oder beider Servos per Code über
serial oder led Anzeige zu detektieren?
Dies soll dafür da sein,um Störungen anzuzeigen ohne das ich die Servos aus dem Gehäuse ausbauen muss.
Oder macht es keinen Sinn?
Gg. könnte vielleicht einer den Code überfliegen,bin für jeden Tip zu Verbesserung dankbar
Mfg.
Haustechno