ich versuche gerade die Analogen Pins zu benutzen, habe aber eine Frage da ich sie bisher nicht gebraucht habe:
Ich habe einen Fotowiderstand von VCC zu A4 verbunden, und gebe das Ergebnis über die Serielle Schnittstelle aus.
Egal ob ich den Widerstand verdunkle oder nicht, es kommt immer 1023 heraus. Ziehe ich den Jumper vom Breadboard
ab, kommen Werte wie 952,894 etc. heraus. Woran kann das liegen?
void setup() {
Serial.begin(9600);
}
void loop() {
int get = analogRead(A4);
Serial.println(get);
delay(1000);
}
Hallo,
dein Schaltplan funktioniert so nicht.
Du benötigst noch einen Widerstand (z.B. 10k), damit ein Spannungsteiler entsteht.
So habe ich meinen Fotowiderstand immer angeschlossen.
Leider kann das so nicht funktionieren. Da Du nur einen Widerstand hast, fallen die 5V IMMER über dem Widerstand ab, egal welche Größe der gerade aufgrund des Lichteinfalls hat.
Was Du brauchst ist ein Spannungsteiler (siehe Wikipedia).
Also 2 Widerstände, einen festen und den lichtempfindlichen. Die Spannung misst Du dann über dem veränderlichen Widerstand.
Siehe auch hier: http://www.arduino-tutorial.de/2010/06/analog-in/
Mario.
mkl0815:
.....Da Du nur einen Widerstand hast, fallen die 5V IMMER über dem Widerstand ab, .....
Einspruch: Über dem Widerstand fällt KEINE nennenswerte Spannung ab, da er so gut wie nicht belastet ist.
Die restlichen Informationen mit dem Spannungsteiler sind korrekt. Ich gehe davon aus, daß Mario schon das Richtige gemeint hat. Die von Addi gepostete Schaltung belastet den LDR nicht. An einem unbelasteten Widerstand kann keine Spannung abfallen.
Edit: Daher auch der ständige Wert (1023) am Analogeingang, egal welchen Widerstandswert der LDR im Moment hat.
Als zweiten Widerstand für den Spannungsteiler könnte man auch den internen Pullup mit digitalWrite(A4, HIGH) aktivieren. Ob das klappt hängt vom Widerstandsbereich des LDR ab.
Da dieser Widerstand fertigungsbedingt aber sehr ungenau ist ( Werte zwischen 20 und 50kOhm sind laut Datenblatt möglich) ist die Scaltschwelle für jeden Eingang experimentell zu finden.