
Guide: Få lyssensoren til at virke
Du skal bruge følgende:
- Kredsløb fra opgave 5B
- Lydsensor (LDR)
Beskrivelse af Lyssensor (LDR)
Lyssensoren er ligesom knappen en sensor. Den store forskel med lyssensoren, er at det er en analog sensor, som kan give varieret input til picoen. I lyssensorens tilfælde er input’et afhængigt af styrken af det lys der rammer den. Knappen derimod er en digital sensor, som kun har to forskellige tilstande den kan skiftes imellem, nemlig tændt og slukket, høj eller lav, 0 eller 1.
LDR står for Light Dependent Resistor, hvilket på dansk betyder lysafhængig modstand. Det vil sige den ændrer modstand afhængigt af, hvor kraftigt lys der rammer den. Til at læse analoge signaler (spændinger) har picoen ADC0 (GP26), ADC1 (GP27) og ADC2 (GP28), som konverterer en analog værdi til et digitalt tal (A/D konvertering). Picoen har en 16bit A/D-konverter. Det vil sige at de spændinger vi giver den (mellem 0 og
3,3V) på enten ADC0, ADC1 eller ADC2 bliver konverteret til et tal mellem 0 og 65.535. 0V = 0 og 3,3V = 65.535. For at man kan omsætte modstandsændringen fra LDR-modstanden til en spændingsændring som kan læses af picoen bruger vi en spændingsdeler, hvor vi sætter LDR-modstanden i serie med en fast modstand på 10 kohm (brun-sort-orange).
Prøv at bygge dette kredsløb:

Beskrivelse af blokkene
- Vi starter igen med en forevig løkke.
- Herefter udskriver vi læs analog input på Pin 26.
- Til slut lader vi mikrocontrolleren sove i en kort stund.
Opgave A: Prøv at dække for LDR-sensoren, så det bliver helt mørkt. Hvilken værdi kan du få den ned på i BIPES?
Opgave B: Prøv også at lyse på LDR-modstanden. Hvilken værdi kan du få den op på?
Beskrivelse af blokkene
- Først anvender vi blokken Sæt PWM SIgnal på Pin 6. Hvor Frequency = 1000 og Duty Cycle = 0.
- Herefter laver vi en forevig løkke.
- I vores løkke sætter vi variablen ldr til at være værdien som vi får fra læs analog input på Pin 26.
- Derefter sætter vi Duty Cycle til at være lig med ldr
- Til slut lader vi mikrocontrolleren sover i en kort stund.
Beskrivelse af PMW-funktionen
PWM funktionen betyder at vi sætter GP4 Pin’en op til at kunne bruge Pulsbreddemodulation (Pulse Width Modulation eller forkortet PWM) til at skrue op og ned for lysstyrken på led’en. I praksis tænder og slukker man bare for led’en så hurtigt at øjet ikke kan opfange det – led.freq(1000) – nemlig 1000 gange i sekundet, og så justerer man på hvor lang tid led’en er tændt ift hvor lang tid den er slukket (Duty Cycle). Når led’en har en Duty Cycle på 50% er den tændt og slukket lige lang tid, og derfor ser det ud som om den lyser med halv styrke. Hvis Duty Cycle er 75% er led’en tændt 75% af tiden og slukket de sidste 25% – så ser det ud som om den lyser ved næsten fuld styrke.

Svaret: se nedenstående kodeeksempel
Beskrivelse af blokkene
- Her har vi trækker vi ldr fra den størst mulige værdi, den kan have, nemlig 65535 for at få den til skrue ned for lyset. Jo kraftigere lyset er på LDR-sensoren, jo mere lyser LED.