Komme i gang med GPIO-pinner på Raspberry Pi (nybegynner) – RaspberryTips (2023)

GPIO-pinnene på Raspberry Pis er en viktig funksjon du trenger å vite om.
Som Linux-administrator brukte jeg først og fremst Raspberry Pi for å teste systemer og programvare de første månedene. Men for å gå videre og lage dine egne elektroniske systemer og programmer, må du lære å bruke dem.

GPIO-pinnene lar deg legge til utvidelser til en Raspberry Pi, enten med HAT-er eller mer komplekse elektroniske kretser. Den enkleste måten å bruke dem på er å lage Python-skript, eller å bruke Scratch.

I denne nybegynnerguiden skal jeg virkelig begynne med det grunnleggende, for folk som aldri har prøvd GPIO-pinner. Hvis du allerede har gjort noen tester, kan du bruke innholdstabellen nedenfor for å navigere direkte til avsnittet som interesserer deg.

Du trenger noen få elementer for å fullføre denne opplæringen. Hvis du ikke har noe ennå, ta en titt pådette utmerkede settet fra Sunfounder. Det kan være litt mye for denne opplæringen, men det vil være verdt det i det lange løp fordi du har alt du trenger for dine første prosjekter.

Grunnleggende om GPIO-pinner

La oss starte med det grunnleggende.

Hva er GPIO-pinner?

GPIO betyr «General Purpose Input/Output» (generell inngang/utgang).
Dette er de 40 pinnene du kan se på Raspberry Pi, nær kanten av brettet:

Prise en main des broches GPIO sur Raspberry Pi (débutant) – RaspberryTips (1)

Hensikten med GPIO-pinnene er å legge til utvidelser til din Raspberry Pi. For eksempel bruker de fleste Raspberry Pi-HAT-er disse pinnene for å koble til Raspberry Pi (du kan finne mine Raspberry Pi HAT-anbefalinger her hvis du vil prøve en). Du kan også lage din egen elektroniske krets ved å bruke disse GPIO pinnene med kabler, lysdioder og andre komponenter. Dette får vi se senere.

GPIO pinout

Som du kanskje har gjettet,hver pin har en spesifikk rolle, og du kan bare bruke den for den rollen.
Noen av dem er innganger/utganger, strøm (3,3 V eller 5 V) eller jord (GND).
Noen pinner har enda mer komplekse funksjoner som vi vil se senere.
Det er derfor viktig å vite "hvem gjør hva".

Her er en illustrasjon:

Prise en main des broches GPIO sur Raspberry Pi (débutant) – RaspberryTips (2)

Sidenpinout.xyzer veldig nyttig for dette.
Det gir deg den nøyaktige utformingen og rollen til hver pinne.

Hvis du ikke fikk dette med settet ditt, anbefaler jeg å skrive ut dette bildet for å bruke det senere.

Last ned juksearket mitt!
Praktisk PDF-format, med 74 kommandoer for å huske å mestre Raspberry Pi.

Konfigurasjon av Raspberry Pi

Før vi begynner å øve på GPIO-pinnene, må vi gjøre noen kontroller på Raspberry Pi for å sikre at alt er klart:

  • Start med å oppdatere systemet ditt
    sudo apt oppdatering
    sudo apt oppgradering
  • Installer rpi.gpio-pakken
    sudo apt installer rpi.gpio
  • Aktiver I2C- og SPI-protokoller i raspi-config
    Du trenger det ikke i denne opplæringen, så du kan hoppe over dette trinnet.
    Men hvis du går videre og eksperimenterer, kan det spare deg for tid, for ingen forklarer det :)
    sudo raspi-konfig
    Gå til "Grensesnittalternativer" (Alternativer for grensesnitt)
    og aktiver I2C- og SPI-protokoller i hver undermeny.

I2C- og SPI-kontaktene er spesifikke GPIO-pinner.
Du kan trenge det med visse moduler som kommuniserer via disse protokollene (en skjerm som denneFor eksempel).

Hvis Linux-kommandoer ikke er noe for deg, ikke nøl med detta en titt på denne artikkelensom forklarer kommandoene du absolutt trenger å vite. Jeg gir deg også et jukseark du kan laste ned slik at du alltid har dem for hånden!

Materialer som kreves

Her er det anbefalte materialet du trenger for å følge resten av denne opplæringen (Amazon-lenker):

Disse komponentene vil være nyttige for mange prosjekter senere, det er en lang liste over ting du trenger for å komme i gang, men du kommer til å bruke dem veldig ofte senere :)

Det er det, når alt er klart, kan du gå videre til neste del.

Bruk av testbrett

La oss starte med brødbrettet.
Hvis dette er første gang du bruker det, kan du ha problemer med å forstå hvordan det fungerer.

Montering av brettet

Hvis du bruker settet jeg anbefalte ovenfor, er det første trinnet å installere det i det blå plastdekselet.
Vanligvis må du stikke den inn i det store gapet og skru Raspberry Pi på den tilsvarende plasseringen.

På dette tidspunktet skal settet ditt se slik ut:

Prise en main des broches GPIO sur Raspberry Pi (débutant) – RaspberryTips (3)

Ikke koble til Raspberry Pi-strømkabelen nå.

Platediagram

Før du går videre, må du forstå hvordan et brødbrett fungerer.
Hvert hull er en tilkobling som du kan bruke til å plugge inn noe.

Strøminngang

På kantene av platen er det to linjer:

  • Den røde linjen tilsvarer den positive (+) tilførselen
  • Den blå linjen er for negativ (GND)

Hver port er koblet til alle pinner i samme kolonne.

Vær forsiktig, med noen testdekk (som min), er det en separasjon i midten, du kan se et gap i den røde linjen for eksempel.
Hvis du kobler noe på strømforsyningen til kolonne 0, vil det ikke kobles til kolonne 50.

Andre koblingspunkter

De andre koblingspunktene i midten av brettet brukes til alt annet (lysdioder, motstander, moduler).
Fortell deg selv "at en rød tråd forbinder dem i kolonner".
Hvis du tar et kolonnenummer på kartet, er hvert koblingspunkt i den kolonnen koblet til de andre i samme kolonne.

Plan

Det blir klarere med dette bildet:

Last ned juksearket mitt!
Praktisk PDF-format, med 74 kommandoer for å huske å mestre Raspberry Pi.

Prise en main des broches GPIO sur Raspberry Pi (débutant) – RaspberryTips (4)

Jeg har vist et eksempel på en kolonne og en rad hvor koblingspunktene er koblet til hverandre.

Den røde firkanten tilsvarer en kraftledning.
Det er fire slike linjer på bordet.
Hvis du kobler en strømforsyning til den røde sonen, for eksempel, kan du bruke den strømforsyningen fra en hvilken som helst annen tilkobling i den røde sonen.

For jordforbindelsene (GND) er det det samme (blå sone).

Det grønne området representerer en kolonne og hvordan koblingspunktene er koblet til hverandre.Dette er det samme for hver kolonne, på begge sider av midtlinjen.

Om nødvendig, her er et komplett diagram:

Prise en main des broches GPIO sur Raspberry Pi (débutant) – RaspberryTips (5)

Din første krets: blink en LED!

Ok, det er slutten på teoridelen og starten på din første ledningsopplæring.
La oss øve 🙂

Konfigurasjon av testbrettet

Som alltid, begynn å plassere komponenter uten en strømkilde tilkoblet.

For å komme i gang trenger du:

  • 1x LED
  • 2x hann/hun jumper ledninger
  • 1x motstand

Ta de to ledningene og plasser dem slik:

  • En som går fra en jordstift på Raspberry Pi (for eksempel den tredje i andre rad, pinne 6)
  • Den andre av en inngangs-/utgangspinne (for eksempel den fjerde i den første raden, pinne 7)
Prise en main des broches GPIO sur Raspberry Pi (débutant) – RaspberryTips (6)

Du har nå to kabler, koblet på hver side.
På den andre siden må du koble dem til brettet.

Koble jordledningen til breadboard-jordledningen (hvor som helst på linjen).
Koble den andre kabelen til en kolonne på brettet (hvor som helst).

Det skal se slik ut:

Prise en main des broches GPIO sur Raspberry Pi (débutant) – RaspberryTips (7)

Plasser deretter motstanden mellom jordlinjen og en andre kolonne nær den andre ledningen.
Plasser til slutt en LED med en pinne på hver kolonne, den korteste i motstandssøylen.

Noe sånt :

Prise en main des broches GPIO sur Raspberry Pi (débutant) – RaspberryTips (8)

Ja, jeg vet, motstanden min ser ut til å ha hatt dårlig tid :)

Du kan nå starte Raspberry Pi ogdu kobler til med SSH(eller bruk GUI direkte hvis du foretrekker det) for å lage Python-skriptet.
Så snart Raspberry Pi er slått på, unngå å berøre kretsen.

Skript Python

Det første skriptet vi skal skrive vil slå på LED-en for å sjekke at alt fungerer.
For å gjøre dette inkluderer Raspberry Pi OS allerede alle bibliotekene du trenger.

  • Lag en ny python-fil i en terminal, eller med din favorittkodeeditor:
    nano led_on.py
  • Lim inn disse linjene:
    #import biblioteker
    importer RPi.GPIO som GPIO
    importtid

    #Initialisering
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)

    #Vi bruker en variabel med PIN-nummeret
    #Hvis du fulgte bildene mine, er det port 7 => BCM 4


    led = 4
    #Initialisering av pinnen
    GPIO.setup(led,GPIO.OUT)

    #Slå på LED
    skriv ut "LED på"
    GPIO.output(led,1)

    #Vent 5s
    time.sleep(5)

    #Slå av LED-en
    skriv ut "LED av"
    GPIO.output(led,0)


    Jeg kommenterte alt, så det burde være klart.
    Det eneste problemet er pin-nummeret som skal brukes i LED-variabelen.
    Du kan ha en annen nummerering på settet eller breadboard-klistremerket, men du må bruke BCM-nummeret tilpinout.xyz.
  • Lagre og avslutt (CTRL+X)
  • Kjør skriptet med følgende kommando:
    python led_on.py

LED-lampen vil lyse i 5 sekunder og slå seg deretter av.
Ellers dobbeltsjekk hvert forrige trinn for å sjekke hva du gikk glipp av.
Hvis kretsen din ser bra ut, sjekk retningen til LED, det er en + og – side (Anode og katode).

Forresten, hvis du føler deg overveldet så snart Python er nødvendig for et prosjekt, anbefaler jeg deg å laste ned e-boken min "Master Python på Raspberry Pi". Det vil veilede deg trinn for trinn for å lære de essensielle konseptene (og bare de) for å gjennomføre ethvert prosjekt i fremtiden. En Raspberry Pi uten Python er som en bil uten motor, du går glipp av det beste ;-).
Få 10 % rabatt ved å laste den ned i dag!

Last ned juksearket mitt!
Praktisk PDF-format, med 74 kommandoer for å huske å mestre Raspberry Pi.

Rappel:Jeg skapteet fellesskap av Raspberry Pi-brukeresom lar deg dele fremgangen din, stille spørsmål og motta mange eksklusive fordeler (kun engelsktalende). Klikk på lenken for å finne ut mer.

Disse artiklene kan interessere deg:

  • 25 fantastiske prosjektideer for hjemmeautomatisering på Raspberry Pi
  • 15 beste distribusjoner å bruke på Raspberry Pi
  • Min bok: Mester Raspberry Pi på 30 dager

Konklusjon

Der du går, du har nå lært det grunnleggende om GPIO-pinnene og hvordan breadboardet fungerer.
Du er i stand til å bygge grunnleggende kretser og du er klar for neste nivå :)

Les neste:De 11 beste robotsettene for Raspberry Pi.

Last ned juksearket mitt!
Praktisk PDF-format, med 74 kommandoer for å huske å mestre Raspberry Pi.

Ytterligere ressurser for din Raspberry Pi

Introduksjon til Raspberry Pi-video
Hvis du nettopp har begynt og raskt vil gå opp et gir, har jeg akkurat det du trenger.
Se videoopplæringen min som vil hjelpe deg med å komme i gang, velge maskinvare, installere de beste applikasjonene og komme i gang direkte med dine første prosjekter med min hjelp.
Se videoene nå

Mestre din Raspberry Pi på 30 dager
Trenger du mer? Hvis du leter etter de beste tipsene for å bli en ekspert på Raspberry Pi, er denne boken for deg. Utvikl dine Linux-ferdigheter og øv deg gjennom en rekke prosjekter ved å følge mine trinnvise veiledninger.10% rabatt i dag!
Last ned boken i PDF-format her

Master Python på Raspberry Pi
Du trenger ikke å være et geni for å kode noen linjer for din Raspberry Pi.
Jeg lærer deg akkurat det du trenger om Python for å fullføre ethvert prosjekt. Den andre delen av boken er også viet eksempler på prosjekter hvor jeg veileder deg steg for steg.
Ikke kast bort tid, lær hva som er strengt nødvendig ogspar 10% med denne linken:
Last ned nå

Andre ressurser for å nyte din Raspberry Pi
Jeg har samlet alle mine anbefalinger for programvare, nyttige nettsteder og maskinvare på denne ressurssiden. Jeg inviterer deg til å konsultere den regelmessig for å ta de riktige valgene og holde deg oppdatert.
Besøk ressurssidene

Denne opplæringen fungerer ikke lenger 100%?Fortell megså jeg kan oppdatere den!


Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated: 16/09/2023

Views: 5597

Rating: 4.6 / 5 (66 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.