Guten Abend allerseits,
Ich verzweie seit Tagen an einem Problem mit meiner schaltung.
In Kurzfassung muss ich eine Spannung messen und diese dann auswerten treu dem Motto wenn Spannung so dann mach so etc, soweit so gut ich habe nur die ganze zeit schwankende Werte, das Problem konnte ich jetzt auf ein seltsames verhalten meines analog Pins zurück verfolgen wenn ich ohne alles andere an Code nur den analogen pin Auslese habe ich einen Wert der bei 0 startet dann auf 1023 steigt und wieder auf 0 sinkt und so weiter. Ich hoffe mir kann hier wer was dazu erzählen ich weiß langsam nicht mehr weiter.
Hier mein Code zum auslesen:
void setup() {
Serial.begin(9600);
pinMode(A0,INPUT);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(100);
}
Und hier der gesamtcode welcher aufgrund des oben beschriebenen Problems nicht funktioniert:
#include <Servo.h>
#define Projektor A0
#define Mitte 90
#define Up 180
#define Down 0
#define HIGHVOLTAGE 3
#define LOWVOLTAGE 1
Servo myServo;
int servoDel = 1000;
int Position = myServo.read();
bool SignalAusErhalten = false;
bool SignalAnErhalten = false;
void setup() {
pinMode (Projektor,INPUT);
myServo.attach(11);
Serial.begin(9600);
myServo.write(Mitte);
delay(5000);
}
void loop() {
//+++++++++++++++++++++++++++++++++++++++++Servosteuerung Leinwand++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Spannungsmessung
int Voltage = analogRead(Projektor);
float V = Voltage * (5/1023.00);
delay(100);
Serial.print("V");
Serial.println(V);
delay(1000);
//Projektor Signal an
if ((V > HIGHVOLTAGE) && (SignalAnErhalten == false)) {
Serial.println("Signal Erkannt+++++++++++++++++++++++++++++++++++++++++++++++++++");
Serial.println(myServo.read());
myServo.write(Up);
delay(servoDel);
myServo.write(Mitte);
delay(servoDel);
Serial.println(myServo.read());
SignalAnErhalten = true;
}
//Projektor signal aus
else if ((V < LOWVOLTAGE) && (SignalAusErhalten == false) && (SignalAnErhalten == true)){
Serial.print("Signal Fehlend+++++++++++++++++++++++++++++++++++++++++++++++");
Serial.println(myServo.read());
myServo.write(Down);
delay(servoDel);
myServo.write(Mitte);
delay(servoDel);
Serial.println(myServo.read());
SignalAusErhalten = true;
}
else {
Serial.println("Warten auf Signal");
}
//++++++++++++++++++++++++++++++++++++++++Fernsehermechanik++++++++++++++++++++++++++++++++++++++++++++++++++++++
}
Ich bedanke mich im voraus