• 5/7

Hardware, Raspberry Pi Pico og Python

Picoens pins
For at kunne forbinde picoen med andet hardware, er det vigtigt med en oversigt over dens benforbindelser (pinout) – hvilke der er forsyning (GND, 3,3V eller 5V), samt hvilke der er digitale input eller output eller analoge inputs.

Se den originale PDF fil her:
Pico: https://datasheets.raspberrypi.com/pico/Pico-R3-A4-Pinout.pdf 
Pico W: https://datasheets.raspberrypi.com/picow/PicoW-A4-Pinout.pdf

Som man kan se kan de fleste pins eller ben sættes op til at have forskellige funktioner, alt efter hvad man gerne vil bruge dem til. Det er derfor man kalder dem GP (general purpose).

Mere om det senere 🙂

Pico eller Pico Wifi? Eksemplet med den indbyggede LED er forskellig alt efter om det er Pico W eller Pico (se de to kodeeksempler).

Lysdiode (Led)
De følgende eksempler viser hvordan man først får den indbyggede lysdiode (led) på picoen til at blinke, og hvordan man efterfølgende kan bygge et kredsløb med en lysdiode og få den til at blinke.

Indbygget Lysdiode
Den indbyggede lysdiode i picoen er, som man kan se af pinout diagrammet, placeret lige ved siden af USB-porten. Programmet for at få led’en til at blinke kan ses til højre.

import machine
import utime
led = machine.Pin(“LED”, machine.Pin.OUT)
while True:
	led.value(1)
	utime.sleep(1)
	led.value(0)
	utime.sleep(1)

Eller hvis det er en Pico Wifi:

import machine
import utime
led = machine.Pin(25, machine.Pin.OUT)
while True:
led.value(1)
	utime.sleep(1)
	led.value(0)
	utime.sleep(1)

Kode beskrivelse

  1. For at få adgang til alle picoens benforbindelser og forskellige måder at styre dens hardware på skal vi importere biblioteket, machine
  2. Derudover skal vi bruge utime biblioteket, import utime – for at kunne holde pauser, når vi blinker med lysdioden – (tænd, pause, sluk, pause).
  3. Vi sætter en variabel, led, til at være lig med “LED” fra vores machine bibliotek (eller 25 hvis det er en Pico W), 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.
  4. Derefter laver vi et uendeligt loop med while True:
  5. Først tændes led’en. 1-tallet betyder at udgangen bliver HIGH – altså 3.3V, og dermed tænder vi lysdioden.
  6. Derefter holder vi en pause i 1 sekund med.
  7. Og så slukker vi led’en igen.
  8. 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.

Opgave: Forsøg at anvende toggle-funktionen istedet.

import machine
import utime
led = machine.Pin(25, machine.Pin.OUT)
# Eller for pico W
# led = machine.Pin(“LED”, machine.Pin.OUT)

while True:
led.toggle()
utime.sleep(1)