Fotoresistor og fotodiode

Beskriving
Ein fotoresistor er ein motstand der verdien blir bestemd av intensiteten på lyset som treffer han. Jo meir lys som treffer, jo lågare motstandsverdi i ohm (mørke gir typisk 300 kΩ, sterkt lys 100 Ω). Det betyr ingen ting kva veg han blir kopla inn i kretsen.
Ein fotodiode er ein halvleiarkomponent som genererer ein elektrisk straum når han blir utsett for lys. Han fungerer på fotovoltaisk prinsipp, noko som betyr at han produserer ein elektrisk straum som respons på lysinntrenging.
Når lys treffer fotodioden, blir det oppretta elektronhol-par i halvleiarmaterialet, og dette fører til ein straum som kan målast.
Bruksområde
Vi bruker denne typen komponentar der vi ønsker å styre ein funksjon ved hjelp av lysstyrke, til dømes å tenne lys når mørket fell på, eller i teljeapparat der ein lysstråle blir broten når nokon går gjennom døra.
Fotoreistorar er enkle å bruke og krev inga ekstern straumkjelde, men dei har ein langsamare respons enn fotodiodar. Dei blir ofte brukte i applikasjonar som lysstyringskrinsar og lysdimmarar.
Fotodiodar er aktive einingar og har ein rask respons på endringar i lysintensitet. Dei blir ofte brukte i applikasjonar som lyssensorar, fotoceller og optiske kommunikasjonssystem.
Kopling
Når du skal kople ein fotoresistor eller fotodiode, er det viktig at du nyttar ein analog inngang. Desse sensorane gir jo eit variabelt signal, og ikkje berre av og på.

Koplingsskjema
Symbolet for ein fotoresistor er ein resistor med piler som peiker ned på denne. Symbolet for ein fotodiode viser ein diode med piler som peiker ned på han frå venstre. Pilene angir at resistoren eller dioden kan forandre verdi ved ytre påverknad, i dette tilfellet lys.
I koplingsskjemaet under ser vi det er brukt ein fotodiode, men kopling av ein fotodiode og ein fotoresistor er det same.

Programmering
int sensorPin = A0; //Velje pinne for å lese data frå sensoren
int sensorValue = 0; //Lag ein variabel for å lagre avlesen verdi i, og gir denne starverdien 0
void setup(void) {
Serial.begin(9600); //Opnar for å skrive på serial port
pinMode(sensorPin, INPUT); //Konfigurerer pinnen til å lese data
}
void loop(void) {
sensorValue = analogRead(sensorPin); //Les verdi frå sensoren og lagrar han i variabelen.
Serial.println(sensorValue); //Skriv verdien som er lagra i variabelen til serial monitor
}