• 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:
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 🙂

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)

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, 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.