Go Down

Topic: fotowiederstand anfänger frage (Read 1 time) previous topic - next topic

streamer

ich hänge irgendwie fest bei der leichten aufgabe, mit einem fotowiederstand je nach lichteinfall eine led ein oder aus zu schalten.
könnte mir da vlt jemand eienen tipp geben, wie ich den iput mit dem fotowiedertand programmieren muss?
danke im vorraus

mkl0815

Was hast Du denn bisher gemacht? Also wie hast Du den Widerstand angeschlossen und wie sieht Dein Programm aus?
Von der Theorie her, schaltest Du den Fotowiderstand und einen Zweiten Widerstand in Reihe:

+5v ---------/\/\/\/\/\-------+---------/\/\/\/\/\------- GND
               Foto-R         |         Widerstand 2
                              |
                       Arduino Analogeingang         

und  misst zwischen den beiden Widerständen die Spannung an einem der analog-Eingänge.
Da der Fotowiderstand seinen Wert ändert, je nach Beleuchtung, ändert sich auch die gemessene Spannung.
Nun brauchst Du Dir nur noch den passenden Schwellwert überlegen. Wie groß Widerstand 2 werden muss, hängt vom Wert Deines Fotowiderstandes ab.

Grüße,
Mario.

streamer

ja aber das problem habe ich mehr in der programmierung :D

madworm

Ich empfehle das beispielprogramm ' Examples / Control / IfStatementConditional ' !
• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Joghurt

Wie sieht Dein bisheriges Programm aus?

maverick1509

Hallo,
grob beschrieben etwa so:

#define LDR 15 // analoger Eingang für den Phototransistor

in der void setup den Pin deklarieren:

pinMode(LDR, INPUT);

und in der loop

ldrwert = analogRead(LDR);
if ((ldrwert > ldrgrenzwert) led aus else led ein;

stimmt natürlich von der syntax her nicht, aber so einfach ist ein LDR anzusprechen.
Gruß
Bernward


uwefed


Hallo,
grob beschrieben etwa so:
#define LDR 15 // analoger Eingang für den Phototransistor
in der void setup den Pin deklarieren:
pinMode(LDR, INPUT);
und in der loop
ldrwert = analogRead(LDR);
if ((ldrwert > ldrgrenzwert) led aus else led ein;
stimmt natürlich von der syntax her nicht, aber so einfach ist ein LDR anzusprechen.
Gruß Bernward

2 kleine Berichtigungen:
Die analogen Eingänge gehen beim Arduino UNO von A0 bis A5. 15 ist die digitale ansteuerung von A1.
Analoge Eingänge müssen nicht als Eingänge deklariert werden, wenn sie als analoge Eingänge verwendet werden.

Zusatzinfo.
Bei richtiger Wahl des 2. Widertstands und entsprechenden Spannungshub kannst Du den LDR auch an einem digitalen Eingang anschließen. Dieser mißt bei definierten Lichtintensitäten L bzw H. Wenn Du nur eine generelle Messung von Licht - nicht Licht brauchst geht das auch so.

Viele grüße Uwe 

Udo Klein

Laß den Fotowiderstand doch weg und nimm eine LED als Sensor. Wenn man es richtig macht kann man die gleiche LED als Sensor UND zum Leuchten nehmen. Wie man LEDs als Sensor nimmt findest Du bei mir: http://blog.blinkenlight.net/experiments/measurements/led-camera/. Dort findest Du ein Beispielsketch. Wie man das dann kombiniert steht im verlinkten Forschungsbericht.
Check out my experiments http://blog.blinkenlight.net

kduin

Für deine ersten LDR-Gehversuche empfehle ich dir den LDR-Wert übers Serial-Terminal anzeigen zu lassen.
Einfach "Serial.begin(9600);" in Setup und "Serial.println(ldrwert, DEC);delay(400);" in den Loop-Sketch.
Das Delay ist dafür da, dass du die zahlen auch lesen kannst und sie nicht zu schnell durchlaufen ;)

Go Up