Risposte:
È possibile utilizzare un led come sensore di luce e un emettitore di luce. Essenzialmente un led polarizzato inverso fungerà da condensatore, se viene quindi disconnesso la carica si scaricherà a una velocità approssimativamente proporzionale alla luce che lo colpisce.
Possiamo usarlo con un microcontrollore, sfruttando la capacità multi-stato delle porte.
Il resistore dovrebbe essere di circa 100 ohm, l'ho usato solo con led rossi - potrebbe funzionare con altri.
Utilizzare la seguente sequenza:
Set Port A output high
set Port B output low // this makes sure the led is discharged
wait 1mS
set Port A output low
set Port B output high // reverse bias and charge
wait 1mS
set Port B as input // Port B is high impedance input
time how long for Port B to read low
Il periodo di tempo dipenderà dalla quantità di luce che colpisce il led.
Ci sono diversi esempi di questo sul web - li elencherò qui come li trovo di nuovo:
Il LED rileva e visualizza l'intensità della luce ambientale
I LED rossi funzionano come sensori di luce
Rilevamento multi-touch tramite display a matrice di LED - video molto interessante
Rilevamento e comunicazione a costi molto bassi tramite LED bidirezionali
Ecco un buon video che descrive come i LED possono essere usati come sensore di luce http://www.youtube.com/watch?v=VZUvoLDlMS0 Anche Forest M.Mims III ha scritto di progetti semplici usando anche i LED come sensori touch.
Inoltre, ho letto che i LED SMD funzionano meglio come sensori di luce rispetto ai LED a foro passante ...
Ecco un circuito che utilizza un LED per rilevare la luce da un kit educativo:
Il LED 0 consente il passaggio di una corrente molto piccola, influenzata dalla luce, poiché la sua polarità è invertita. Accertarsi che sia verde, giallo o trasparente o che non funzioni (rosso). I transistor amplificano questa corrente quanto basta per pilotare un normale LED polarizzato (LED 1). È possibile regolare la sensibilità aggiungendo più transistor, avendo quindi una maggiore amplificazione, rispondendo a un livello di illuminazione inferiore.
Questo sito: http://www.users.waitrose.com/~robinjames/LED_as_light_sensor/LED_as_light_sensor.html mostra come misurare i livelli di luce utilizzando un LED e un opamp, per fornire una tensione proporzionale al livello di luce. Fornisce una vasta gamma di letture e funziona dall'oscurità completa alla piena luce solare. Può essere utilizzato per alimentare l'ADC di un microcontrollore come un Arduino.
Le fotocellule sono un modo estremamente semplice per rilevare la luce. La sua resistenza varia proporzionalmente alla quantità di luce che la illumina.
LadyAda ha un bellissimo scritto su fotocellule inclusa l'implementazione di Arduino: http://www.ladyada.net/learn/sensors/cds.html .