Tutorial: Photoresistor

Fra Åpen sone for eksperimentell informatikk
Gå til: navigasjon, søk
Kretsskjema
Koblebrett

Innhold

Oppførsel

Lysstyrken fra lysdioden justeres basert på spenningen over photoresistoren (lyssensoren).

Deler

  • Arduino Uno
  • koblebrett
  • strømforsyning
  • 1x 330 Ω motstand
  • 1x 1 kΩ motstand
  • 1x lysdiode (rød)
  • 1x photoresistor
  • 6x ledning

Kildekode

int LEDPIN = 9;
int SENSORPIN = 1;

int lightIn = 0;
int lightOut = 0;

void setup() {
  pinMode(LEDPIN,OUTPUT);
}

void loop() {
  lightIn = analogRead(SENSORPIN);
  lightOut = map(lightIn,0,1023,100,0);
  analogWrite(LEDPIN,lightOut);
  delay(20);
}

Forklaring

Lysstyrken på photoresistoren gjør at motstanden over denne varierer mellom cirka 200 Ω og 100 kΩ. Når motstanden over photoresistoren er lav sammenlignet med den seriekoblede motstanden (her 1 kΩ) vil spenningen på analog port 1 (punktet mellom de to motstandene) være nær 5 V. Hvis motstanden over photoresistoren er høy sammenlignet med den seriekoblede motstanden vil spenningen på analog port 1 være når 0 V. analogRead leser av denne spenningen og returnerer et tall mellom 0 (tilsvarende 0 V) og 1023 (tilsvarende 5 V), med vårt oppsett vil 0 tilsvare meget svakt lys og 1023 tilsvare meget sterkt lys.

Når lysstyrken er lest av bruker vi funksjonen map til å velge et tall (lysstyrken for lysdioden) mellom 0 og 255. Siden lysdioden er koblet til en port som støtter variabel spenning (se LED) bruker vi analogWrite til å sette lysstyrken. Vi lar deretter programmet vente i 20 millisekunder før det gjentar hele prosedyren.

Endring av måleområde for photoresistoren

Motstanden over photoresistoren varierer mellom cirka 200 Ω (direkte sollys) og 100 kΩ (mørkt rom). Vi antar at spenningskilden vår er på 5 V (jord, GND, er som vanlig definert til 0 V). Ved å endre motstanden vi kobler i serie med photoresistoren kan vi endre hvilke spenninger vi måler mellom de to resistorene. Vi bruker $R_p$ for motstanden i photoresistoren og $R_r$ for motstanden i serie med photoresistoren. Vi kobler mostandene slik at photoresistoren er koblet til 5 V. Spenningsfallene over motstandene er henholdsvis $V_p$ og $V_r$, og spenningen vi leser ut mellom de to motstandene er $V$ (merk at $V\approx V_r$).

Dersom $R_p << R_r$ vil også $V_p << V_r$, slik at $V\approx V_r\approx 5\,\text{volt}$. Dersom $R_p >> R_r$ vil også $V_p >> V_r$, slik at $V\approx 0\,\text{volt}$. Dersom $V_p = V_r$ vil $V = 5\,\text{volt} / 2 = 2.5\,\text{volt}$.

$R_p$ varierer med lysstyrken. For å få $V$ til å variere over hele spekteret av spenninger mellom $0\,\text{volt}$ og $5\,\text{volt}$ må vi velge $R_r$ slik at den ligger omtrendt midt mellom den største og den laveste verdien vi forventer at $R_p$ vil ha. Dette vil avhenge av hvilke lysforhold photoresistoren skal brukes i. Midtpunktet i intervallet for målte spenninger vil ligge ved den lysstyrken der $R_p = R_r$.

Helt presist vil den avleste spenningen være gitt ved \[ V = 5\,\text{volt}\frac{R_r}{R_r+R_p} \]

Bilder

Personlige verktøy
Navnerom

Varianter
Handlinger
Navigasjon
Kategorier
Verktøy