Guide: Få led til at virke
Du skal bruge følgende:
- Et breadboard
- En Raspberry Pi Pico Microcontroller
- En Lysdiode
- En modstand på 120 ohm
Beskrivelse af led på et breadboard
Næste ting vi skal prøve er at bygge en led op på et breadboard og styre den med en anden pin på picoen.
Kredsløbet, der skal bygges er det nedenstående, hvor vi bruger en 120 ohm modstand (brun-rød-brun) i seriekredsløb med en lysdiode. Modstanden bruges for at begrænse strømmen gennem og spændingen over lysdioden. Husk at lysdioden skal vendes rigtigt, sådan at det længste ben vender mod + og sidder i samme række som modstanden.
Vi vælger at bruge GP4 (rød ledning) på picoen (ben 6 på venstre side, når vi tæller fra usb-porten) og derudover skal vi bruge GND (Stel eller 0V), som vi kan hente på ben 3.
Prøv at bygge kredsløbet på breadboardet og forbind picoen til usb-porten på din computer:
Sørg for at vælge Micropython (Raspberry Pi Pico) i nederste højre hjørne i Thonny.
Skriv følgende program i Thonny og prøv det:
import machine
import utime
led = machine.Pin(4, machine.Pin.OUT)
while True:
led.value(1)
utime.sleep(1)
led.value(0)
utime.sleep(1)
Beskrivelse af koden
- For at få adgang til alle picoens benforbindelser og forskellige måder at styre dens hardware på skal vi importere biblioteket, machine
- Derudover skal vi bruge utime biblioteket, import utime – for at kunne holde pauser, når vi blinker med lysdioden – (tænd, pause, sluk, pause).
- Vi sætter en variabel, led, til at være lig med GP4 fra vores machine bibliotek ved at skrive tallet 4, og sætter samtidig den pin til at være output, da vi jo gerne vil kunne tænde og slukke lysdioden direkte fra Pin’en.
- Derefter laver vi et uendeligt loop med while True:
- Først tændes led’en. 1-tallet betyder at udgangen bliver HIGH – altså 3.3V, og dermed tænder vi lysdioden.
- Derefter holder vi en pause i 1 sekund med.
- Og så slukker vi led’en igen.
- Til sidst holder vi endnu en pause på 1 sekund, for at led’en når at være slukket inden vi tænder den igen, når vi looper tilbage til starten af while True: loopet.