2016-11-11 22 views
0

Ich habe an einem Projekt mit Arduino gearbeitet und bin auf etwas gestoßen, das ich faszinierend/verwirrend finde. Also musste ich etwas testen, bevor ich dieses Projekt aufbaute. Ich habe eine einfache Schaltung gebaut, die nur aus einer LED und einem Fotowiderstand besteht. Was ich testen musste, war, ob der Fotowiderstand in der Lage war, die Helligkeit einer LED zu bestimmen, die durch PWM gedimmt wurde. Meine anfängliche Erwartung war, dass dies nicht funktionieren würde (der Fotowiderstand würde entweder 1023 oder 0 lesen, weil PWM digital erreicht wird). Zu meiner Überraschung konnte der Fotowiderstand die Helligkeit der LED genau ablesen (genau in gewissem Maße - dies beruht einfach auf dem Vergleich der scheinbaren Helligkeit der PWM-LED mit einer LED in Reihe mit einem bestimmten Widerstand)! Das ist genau das, was ich wollte, aber ich bin nur neugierig, warum das funktioniert. Ich bin mir nicht sicher, ob meine ursprünglichen Zweifel auf ein Missverständnis von Fotowiderständen oder PWM zurückzuführen waren. Jede Hilfe würde sehr geschätzt werden. Vielen Dank! HierArduino: Mit analogRead() auf Photowiderstand LED mit PWM lesen

ist der Code Ich verwende (Ich bin nicht mit der analogWrite() Funktion, weil das Projekt an dem ich arbeite mich erfordert ein gewisses Maß an Kontrolle über die PWM haben):

const int LED_PIN = 9; 
const int PHOTO_PIN = 0; 

//These values have been altered and tested 
const int HIGH_TIME = 250; 
const int LOW_TIME = 2750; 

void setup() 
{ 
    pinMode(LED_PIN, OUTPUT); 
    pinMode(PHOTO_PIN, INPUT); 

    Serial.begin(9600); 
} 

void loop() 
{ 
digitalWrite(LED_PIN, HIGH); 
delayMicroseconds(HIGH_TIME); 
digitalWrite(LED_PIN, LOW); 
delayMicroseconds(LOW_TIME); 

Serial.println(analogRead(PHOTO_PIN)); 
} 

Antwort

0

A "Photowiderstand" ist ein variabler Widerstand. Das ist der einfachste Weg, es zu sagen.

Stellen Sie sich einfach Ihr Potentiometer vor, Sie können seinen Widerstand steuern, indem Sie den kleinen Knopf drehen und dann analogRead es. Der Fotowiderstand auf der anderen Seite ändert seinen Widerstand in Abhängigkeit von der Lichtintensität. Aus diesem Grund wird der Widerstand abhängig von Ihrer LED hoch und runter gehen.

Für "wie" es tatsächlich funktioniert, siehe here. Jetzt

, gibt es ein paar Faktoren zu berücksichtigen:

1 - Das Umgebungslicht Ihres Zimmers.

2 - Der Abstand zwischen den LED-

So hoffe ich half Ihnen ein wenig mehr über Fotowiderstände lernen!

0

Die Reaktionszeit des Fotowiderstands ist viel langsamer als die von Ihnen verwendeten PWM-Frequenzen. Es misst also die Ein- und Ausschaltzeiten der LED und gibt einen Widerstand proportional zum durchschnittlichen Licht. Wenn Sie eine Fotodiode mit einer schnellen Reaktionszeit verwenden würden, wäre es in der Lage zu sehen, dass die LED an und aus geht.

Ich schlage vor, dass Sie nicht versuchen, jedes Mal auf die serielle Schnittstelle zu schreiben, da es schnell bei 9600 Baud fallen wird. Vielleicht schreibe alle 500 mal durch die Schleife.