Do all Raspberry Pi boards have the same pin out?

Raspberry Pi GPIO: Din guide til at komme i gang

29/06/2025

★★★★★Rating: 4.27 (14972 votes)
Indholdsfortegnelse

Introduktion til Raspberry Pi GPIO

Raspberry Pi er mere end blot en lille computer til at teste systemer og software. Dens sande potentiale ligger i dens evne til at interagere med den fysiske verden gennem dens General Purpose Input/Output (GPIO) pins. Disse 40 pins er din gateway til at bygge alt fra simple blinkende lys til komplekse robotter og IoT-enheder. Uanset om du er en erfaren Linux-administrator eller en komplet nybegynder inden for elektronik, vil denne guide hjælpe dig med at forstå og mestre Raspberry Pi's GPIO-pins.

How many GPIO pins does a Raspberry Pi have?
Okay, let’s talk Raspberry Pi GPIO pins. Every member of the current Raspberry Pi lineup has a 40-pin “GPIO header” — a place to put GPIO pins — on it. Most models of Raspberry Pi also have the pins themselves. The exceptions are the Pi Zero and Pi Zero W, which have “unpopulated” (read: no pins!) GPIO headers.

Hvad er GPIO Pins?

GPIO står for General Purpose Input/Output. Som navnet antyder, er disse pins alsidige og kan konfigureres til enten at sende signaler ud (output) eller modtage signaler ind (input). De 40 pins, der sidder langs kanten af de fleste Raspberry Pi-modeller, fungerer som grænsefladen mellem din Pi og omverdenen. Du kan bruge dem til at tilslutte eksterne komponenter som LED'er, sensorer, knapper, motorer og endda andre enheder via HATs (Hardware Attached on Top).

Hvorfor bruge GPIO Pins?

GPIO-pins åbner op for en verden af muligheder for at udvide funktionaliteten af din Raspberry Pi. Du kan:

  • Skabe interaktive projekter: Byg din egen vejrstation, en dørklokke med kamera, eller et system til at overvåge planter.
  • Automatisere opgaver: Styr lys, motorer eller andre apparater baseret på tid, sensorinput eller netværkskommandoer.
  • Lære om elektronik: Få praktisk erfaring med at arbejde med kredsløb, komponenter og programmering.
  • Tilslutte specifik hardware: Brug pins til kommunikationsprotokoller som I2C og SPI til at forbinde med mere avancerede sensorer og skærme.

GPIO Pinout: Forstå dine pins

Det er afgørende at kende den specifikke funktion af hver GPIO-pin. Hver pin har en unik rolle, som kan være input/output, strømforsyning (3.3V eller 5V) eller jord (Ground). At forstå pinout-diagrammet er det første skridt til succesfuld GPIO-programmering.

Moderne Raspberry Pi (40 pins)

De fleste nyere Raspberry Pi-modeller (fra Raspberry Pi 1 Model B+ og frem, inklusive Pi 2, 3, 4, Zero og Zero W) har en 40-pin GPIO-header. Her er en generel oversigt:

Pin Nummer (BOARD)Pin Nummer (BCM)Funktion
1 (3.3V)-3.3V Strøm
2 (5V)-5V Strøm
32GPIO 2 (SCL for I2C)
4-Jord (Ground)
53GPIO 3 (SDA for I2C)
6-Jord (Ground)
74GPIO 4
814GPIO 14 (TXD for UART)
9-Jord (Ground)
1015GPIO 15 (RXD for UART)
1117GPIO 17
1218GPIO 18 (PWM0)
1327GPIO 27
14-Jord (Ground)
1522GPIO 22
1623GPIO 23
17-3.3V Strøm
1824GPIO 24
1925GPIO 25
20-Jord (Ground)
215GPIO 5
226GPIO 6
2312GPIO 12 (PWM0)
2416GPIO 16
2526GPIO 26
26-Jord (Ground)
2717GPIO 17
2813GPIO 13 (PWM1)
2919GPIO 19 (MISO for SPI)
30-Jord (Ground)
3126GPIO 26
3220GPIO 20 (MOSI for SPI)
3312GPIO 12 (PWM0)
34-Jord (Ground)
3519GPIO 19 (MISO for SPI)
3616GPIO 16
3726GPIO 26
3821GPIO 21 (CE0 for SPI)
39-Jord (Ground)
408GPIO 8 (CE1 for SPI)

Det er vigtigt at bemærke, at der findes to primære nummereringssystemer: BOARD og BCM. BOARD refererer til den fysiske placering af pinnen på headeren, mens BCM (Broadcom) refererer til chipens interne kanalnummer. For programmering er det ofte mest praktisk at bruge BCM-nummereringen. Du kan bruge kommandoen pinout i terminalen på din Raspberry Pi for at se et interaktivt diagram.

How to use GPIO pins on Raspberry Pi?
But to go further and create your own electronics and programs, you need to learn how to use the GPIO pins. The GPIO pins allow adding extensions to your Raspberry Pi, whether with HATs or to create circuits. The easiest way to use the GPIO pins is to create Python scripts, but Scratch or other software are also good options to consider.

Ældre Raspberry Pi-modeller (26 pins)

Tidligere modeller af Raspberry Pi havde en 26-pin GPIO-header. Selvom de er mindre almindelige i dag, er det godt at kende forskellen:

Pin Nummer (BOARD)Pin Nummer (BCM)Funktion
1 (3.3V)-3.3V Strøm
2 (5V)-5V Strøm
30GPIO 0
4-Jord (Ground)
517GPIO 17
6-Jord (Ground)
74GPIO 4
814GPIO 14 (TXD)
9-Jord (Ground)
1015GPIO 15 (RXD)
1118GPIO 18
1212GPIO 12
1327GPIO 27
14-Jord (Ground)
1522GPIO 22
1623GPIO 23
17-3.3V Strøm
1824GPIO 24
1925GPIO 25
20-Jord (Ground)
215GPIO 5
226GPIO 6
2313GPIO 13
2419GPIO 19 (MOSI)
2526GPIO 26
26-Jord (Ground)

Forberedelse af din Raspberry Pi

Før du kan begynde at lege med GPIO-pins, er det en god idé at sikre, at dit system er opdateret og har de nødvendige biblioteker installeret. Åbn en terminal og kør følgende kommandoer:

sudo apt update sudo apt upgrade 

Selvom python3-gpiozero ofte er forudinstalleret, kan du sikre dig, at det er der med:

sudo apt install python3-gpiozero 

For mere avancerede projekter kan det være nyttigt at aktivere I2C og SPI-protokollerne via raspi-config. Dette gøres ved at køre:

sudo raspi-config 

Naviger derefter til "Interface Options" og aktivér I2C og SPI.

Nødvendigt Hardware til Grundlæggende Projekter

For at komme i gang med dit første GPIO-projekt, skal du bruge følgende:

  • Raspberry Pi: Enhver model med GPIO-pins fungerer.
  • Breadboard: Et breadboard er et "solderless" prototypebræt, der gør det nemt at oprette forbindelser.
  • Jumper Wires: Male-til-female jumper wires til at forbinde Raspberry Pi'ens GPIO-pins til breadboardet, og male-til-male wires til forbindelser på selve breadboardet.
  • LEDs: Lysdioder er perfekte til at visualisere output fra dine pins.
  • Resistorer: Modstande er nødvendige for at beskytte LEDs mod for høj strøm. En typisk værdi for en standard LED med 3.3V output er omkring 220-330 Ohm.

Et godt start-kit, som f.eks. fra Sunfounder, kan indeholde alt dette og mere, hvilket kan spare dig for besværet med at finde individuelle komponenter.

Breadboard Grundprincipper

Et breadboard er designet til hurtig prototyping uden lodning. Forståelse af dets layout er essentiel:

  • Strømrails: De lodrette linjer langs kanterne (ofte markeret med rød og blå) er forbundet lodret. Den røde linje bruges typisk til positiv strøm (f.eks. 3.3V eller 5V), og den blå bruges til jord (Ground). Vær opmærksom på, at nogle breadboards har en adskillelse i midten af disse rails.
  • Kolonner: De vandrette rækker af huller i midten er forbundet i kolonner. Hver kolonne er uafhængig af de andre, medmindre du forbinder dem med en jumper wire eller en komponent. Der er typisk en adskillelse i midten af breadboardet (dalen), som betyder, at kolonnerne på den ene side af dalen ikke er forbundet med kolonnerne på den anden side.

Dit Første Kredsløb: Blinkende LED

Lad os nu lave vores første praktiske projekt: At få en LED til at blinke.

How many GPIO pins does a Raspberry Pi have?

Opsætning af Kredsløbet

  1. Sluk for Raspberry Pi: Afbryd strømmen, før du arbejder med kredsløbet.
  2. Tilslut Jord: Brug en male-til-female jumper wire til at forbinde en jord-pin (f.eks. pin 6 eller 9) på din Raspberry Pi til en af strømrailsene på breadboardet (den blå linje).
  3. Tilslut GPIO-pin: Brug en anden jumper wire til at forbinde en GPIO-pin (lad os bruge GPIO 17, som er BOARD pin 11) til en tom kolonne på breadboardet.
  4. Tilslut Modstand: Sæt den ene ende af en 220-330 Ohm modstand i samme kolonne som den GPIO-forbundne jumper wire. Sæt den anden ende af modstanden i en ny, tom kolonne.
  5. Tilslut LED: LEDs har polaritet. Den længere ben (anoden, +) skal forbindes til den kolonne, hvor modstanden sidder. Det kortere ben (katoden, -) skal forbindes til den samme strømrail som jord-kablet (den blå linje). Hvis LED'en ikke virker, prøv at vende den om.

Python-kode til at styre LED'en

Opret en ny Python-fil, f.eks. blink_led.py, og indsæt følgende kode:

from gpiozero import LED from time import sleep # Brug BCM-nummerering for GPIO pins led = LED(17) # GPIO 17 print("Starter LED blink...") while True: led.on() # Tænd LED sleep(1) # Vent 1 sekund led.off() # Sluk LED sleep(1) # Vent 1 sekund 

Gem filen og kør den fra terminalen med:

python3 blink_led.py 

Din LED skulle nu blinke med et sekunds mellemrum. Tryk på CTRL+C for at stoppe scriptet.

Avancerede Pins: SPI, I2C, PWM

Udover standard input/output har visse GPIO-pins specielle funktioner:

  • SPI (Serial Peripheral Interface): Bruges til hurtig kommunikation mellem flere enheder, ofte til skærme eller sensorer. Kræver flere pins samtidigt (MOSI, MISO, SCLK, CE).
  • I2C (Inter-Integrated Circuit): En to-leder kommunikationsprotokol, der er ideel til at forbinde flere enheder (som sensorer) med færre pins (SDA, SCL).
  • PWM (Pulse Width Modulation): Bruges til at styre hastigheden på motorer eller lysstyrken på LEDs ved at variere bredden af et digitalt signal.
  • UART (Universal Asynchronous Receiver-Transmitter): Bruges til seriel kommunikation, ofte til at forbinde med andre mikrokontrollere eller GPS-moduler.

Brug af Raspberry Pi Accessories: Sense HAT

En populær måde at udnytte GPIO-pins på er ved at bruge specielle add-on boards kaldet HATs. Sense HAT er et fremragende eksempel, der indeholder en 8x8 LED-matrix, joystick og flere sensorer (temperatur, fugtighed, tryk, accelerometer, gyroskop). Den tilsluttes direkte til Raspberry Pi'ens 40-pin GPIO-header.

Eksempel: Temperaturmåling med Sense HAT

Først skal du installere Sense HAT-softwaren:

sudo apt update sudo apt install sense-hat 

Opret derefter en fil, f.eks. temp_sense.py, med følgende kode:

from sense_hat import SenseHat import time sense = SenseHat() sense.clear() try: while True: temp = sense.get_temperature() # Formater temperaturen til én decimal og erstat punktum med komma for dansk format temp_formatted = "{:.1f}".format(temp).replace('.', ',') # Vis temperaturen på LED-matrix (simpel visning) # Kan være begrænset for komplekse tal message = f"Temp: {temp_formatted} C" sense.show_message(message, scroll_speed=0.05, text_colour=[255, 255, 255], back_colour=[0, 0, 0]) # Alternativt kan temperaturen bare printes til konsollen # print(f"Temperaturen er: {temp:.2f} grader Celsius") time.sleep(1) except KeyboardInterrupt: sense.clear() print("Program stoppet.") 

Kør scriptet med:

python3 temp_sense.py 

Du vil nu se temperaturen rulle hen over Sense HAT'ens LED-matrix. Tryk CTRL+C for at stoppe.

Vigtige Overvejelser og Fejlfinding

  • Strømstyrke: Vær opmærksom på, hvor meget strøm dine tilsluttede enheder trækker. Raspberry Pi'ens 5V og 3.3V pins har begrænsninger. For enheder, der kræver meget strøm (f.eks. motorer), brug en ekstern strømforsyning.
  • Pin-nummerering: Vær konsekvent med enten BOARD eller BCM-nummerering. BCM bruges oftest i kode.
  • Korrekt Tilslutning: Dobbelttjek altid dine ledningsføringer. En forkert forbindelse kan potentielt beskadige din Raspberry Pi.
  • Beskyttelse: Brug altid passende modstande til LEDs for at forhindre, at de brænder af.
  • Softwarebiblioteker: Sørg for, at de korrekte Python-biblioteker (som gpiozero eller specifikke biblioteker til HATs) er installeret.

Ofte Stillede Spørgsmål (FAQ)

  • Hvor mange GPIO-pins har en Raspberry Pi? De fleste moderne Raspberry Pi-modeller har 40 GPIO-pins. Ældre modeller havde 26 pins.
  • Hvilken programmeringssprog kan jeg bruge med GPIO? Python er det mest populære og bedst understøttede sprog, men du kan også bruge C/C++, Node.js og andre.
  • Kan jeg beskadige min Raspberry Pi med GPIO? Ja, det er muligt, hvis du forbinder komponenter forkert, kortslutter pins, eller sender for høj spænding ind i en pin. Vær forsigtig og dobbelttjek altid dine forbindelser.
  • Hvad er forskellen på BOARD og BCM pin-nummerering? BOARD refererer til den fysiske placering af pinnen på headeren, mens BCM refererer til den interne kanalnummerering fra Broadcom-chippen.
  • Hvad er en HAT? En HAT (Hardware Attached on Top) er et add-on board, der monteres oven på Raspberry Pi'ens GPIO-header for at tilføje ekstra funktionalitet som sensorer, displays eller motorcontrollere.

Konklusion

Raspberry Pi'ens GPIO-pins er en utrolig kraftfuld ressource, der giver dig mulighed for at bygge alt fra simple elektronikprojekter til komplekse, interaktive systemer. Ved at forstå pinout, bruge et breadboard korrekt og mestre grundlæggende Python-programmering, er du godt på vej til at udforske den fascinerende verden af maker-kultur og embedded systems. Fortsæt med at eksperimentere og byg videre på din viden – mulighederne er næsten uendelige!

Hvis du vil læse andre artikler, der ligner Raspberry Pi GPIO: Din guide til at komme i gang, kan du besøge kategorien Tøj.

Go up