Findo1:
Das kling doch schonmal vielversprechend. Hast du vllt auch ein Codebeispiel , wie man dann testen kann ob es "high" ist.
Ich habe mich bis jetzt nicht sehr viel mit den Inputs beschäftigt,
Ich glaube, Du hast Dich noch überhaupt nicht mit dem Arduino beschäftigt.
Das müßtest Du dringend mal nachholen.
Abfrage digital mit Klingel an D8 Pin:
#define KLINGEL 8 // Klingel an Pin-8
#define LED 13 // UNO hat eine Board-LED an Pin-13
void setup() {
pinMode(KLINGEL,INPUT); // KLINGEL als INPUT setzen
pinMode(LED,OUTPUT); // LED als OUTPUT setzen
}
void loop() {
if (digitalRead(KLINGEL)==HIGH)
digitalWrite(LED,HIGH);
else
digitalWrite(LED,LOW);
}
Abfrage analog mit Klingel an A0 Pin:
#define KLINGEL A0 // Klingel an Analogeingang A0
#define LED 13 // UNO hat eine Board-LED an Pin-13
void setup() {
pinMode(KLINGEL,INPUT); // KLINGEL als INPUT setzen
pinMode(LED,OUTPUT); // LED als OUTPUT setzen
}
void loop() {
if (analogRead(KLINGEL)>250)
digitalWrite(LED,HIGH);
else
digitalWrite(LED,LOW);
}
Die "Klingel" muss dazu am Wecker nicht ausgebaut oder abgelötet werden, sondern kann weiterhin eingebaut und angeschlossen bleiben. Du müßtest aber mit einem Multimeter herausbekommen, welches die "Plus" Seite der Klingel ist, denn dort muß der Arduino-Eingang angeschlossen werden. Eventuell kann man auch direkt sehen, ob die Minusseite der Klingel irgendwo direkt an Minus (Ground, GND, Masse) angeschlossen ist, dann ist die andere Seite der Pluspol. Im Notfall kannst Du es ausprobieren: Da Du den Anschluss an einem INPUT am Arduino vornimmst, darf der Pegel zwischen 0V und 5V sein, ohne dass ein Kurzschluss entsteht.
Eine extra LED brauchst Du nicht anschließen, die beiden Beispiele arbeiten mit der Board-LED an Pin-13. Wenn Du nicht weißt, wo die auf dem Arduino-Board ist, lade Dir das "Blink" Beispielprogramm drauf und lasse sie testweise blinken.
Der Unterschied zwischen beiden Programmen ist: Mit der digitalRead-Abfrage wird abgefragt, ob der Pin HIGH gesetzt ist. Das ist üblicherweise bei einer Spannung zwischen 3 und 5 Volt zuverlässig der Fall, ggf. auch mit etwas niedrigerer Spannung.
Beim anderen Programm mit der analogRead-Abfrage wird die Spannung am Pin abgelesen, und zwar in 1024 Stufen zwischen 0 und 5V. D.h. ein analogRead von 0 entspricht 0.0 Volt und ein Wert von 1023 entspricht der Betriebsspannung des Arduino, die ca. 5,0 Volt beträgt. Die Abfrage:
if (analogRead(KLINGEL)>250)
fragt also daraufhin ab, ob der Messwert größer als 250 ist, entsprechend ca. 5V *250/1023= 1,2 Volt.
Das zweite Programm würde die Board-LED also bereits einschalten, wenn mehr als ca. 1.2 Volt an der Klingel anliegen.
Findo1:
Nun möchte ich Abfragen , das eine LED an Pin 13 , dann Leuten soll , wenn die Voltzahl (in dem Fall die Variable volts) , über 1.5 geht.
Scheint mit einer ganz normalen If abfrage nicht zu klappen : if(volts > 1.5){ }
Wenn Du irgendwelche Fragen hast: Erkläre genau, was das Problem ist UND POSTE DEN CODE!
So kann man nur raten. Ich rate mal: Du hast den LED-Pin in der setup() -Funktion nicht auf OUTPUT gesetzt, und daher leuchtet die LED nicht, wenn Du den LED-Pin auf HIGH setzt?