Fotoresistor og fotodiode

Beskrivelse
En fotoresistor er en motstand der verdien bestemmes av intensiteten på lyset som treffer den. Jo mer lys som treffer, jo lavere motstandsverdi i ohm (mørke gir typisk 300 kΩ, sterkt lys 100 Ω). Det betyr ingen ting hvilken vei den koples inn i kretsen.
En fotodiode er en halvlederkomponent som genererer en elektrisk strøm når den blir utsatt for lys. Den fungerer på fotovoltaisk prinsipp, noe som betyr at den produserer en elektrisk strøm som respons på lysinntrenging.
Når lys treffer fotodioden, opprettes det elektronhull-par i halvledermaterialet, og dette fører til en strøm som kan måles.
Bruksområder
Vi bruker denne typen komponenter der vi ønsker å styre en funksjon ved hjelp av lysstyrke, for eksempel å tenne lys når mørket faller på, eller i telleapparater hvor en lysstråle brytes når noen går gjennom døra.
Fotoresistorer er enkle å bruke og krever ingen ekstern strømkilde, men de har en langsommere respons enn fotodioder. De brukes ofte i applikasjoner som lysstyringskretser og lysdimmere.
Fotodioder er aktive enheter og har en rask respons på endringer i lysintensitet. De brukes ofte i applikasjoner som lyssensorer, fotoceller og optiske kommunikasjonssystemer.
Kopling
Når du skal kople en fotoresistor eller fotodiode, er det viktig at du benytter en analog inngang. Disse sensorene gir jo et variabelt signal, og ikke bare av og på.

Koplingsskjema
Symbolet for en fotoresistor er en resistor med piler som peker ned på denne. Symbolet for en fotodiode viser en diode med piler som peker ned på den fra venstre. Pilene angir at resistoren eller dioden kan endre verdi ved ytre påvirkning, i dette tilfellet lys.
I koplingsskjemaet under ser vi det er brukt en fotodiode, men kopling av en fotodiode og en fotoresistor er det samme.

Programmering
int sensorPin = A0; //Velge pinne for å lese data fra sensoren
int sensorValue = 0; //Lag en variabel for å lagre avlest verdi i, og gir denne starverdien 0
void setup(void) {
Serial.begin(9600); //Åpner for å skrive på serial port
pinMode(sensorPin, INPUT); //Konfigurerer pinnen til å lese data
}
void loop(void) {
sensorValue = analogRead(sensorPin); //Leser verdi fra sensoren og lagrer den i variabelen.
Serial.println(sensorValue); //Skriver verdien som er lagra i variabelen til serial monitor
}