Huvud Ny & nästa En rundtur i Raspberry Pi GPIO
Ny & nästa

En rundtur i Raspberry Pi GPIO

En rundtur i Raspberry Pi GPIO
Anonim

Vad gör varje typ av GPIO-stift

  • 5G trådlös
  • 3D-design
  • Allra senaste
  • 3d-utskrivning
  • Smart hem
  • avRichard Saville

    Teknikförfattare med fokus på dator och programmering.

    37

    37 personer tyckte att den här artikeln var till hjälp

    01

    av 09

    En introduktion till Raspberry Pi's pins

    Termen GPIO (Allmän Input Output) är inte exklusivt för Raspberry Pi. Ingångs- och utgångsstift finns på de flesta mikrokontroller som Arduino, Beaglebone och mer.

    När vi pratar om GPIO med Raspberry Pi, hänvisar vi till det långa stiftblocket längst upp till vänster på brädet. Äldre modeller hade 26 stift, men de flesta av oss kommer att använda en aktuell modell med 40.

    Du kan ansluta komponenter och andra hårdvara till dessa stift och använda kod för att kontrollera vad de gör. Det är en viktig del av Raspberry Pi och ett utmärkt sätt att lära sig om elektronik.

    Efter några mjukvaruprojekt kommer du sannolikt att du experimenterar med dessa stift, ivrigt att blanda din kod med hårdvara för att få saker att hända i "verkliga livet".

    Denna process kan vara skrämmande om du är ny på scenen och med tanke på att ett felaktigt drag kan skada din Raspberry Pi, är det förståeligt att det är ett nervöst område för nybörjare att utforska.

    Den här artikeln kommer att förklara vad varje typ av GPIO-pin gör och deras begränsningar.

    02

    av 09

    GPIO

    Låt oss först titta på GPIO som helhet. Stiften kan se lika ut men de har alla olika funktioner. Bilden ovan visar dessa funktioner i olika färger som vi kommer att förklara i följande steg.

    Varje stift är numrerat från 1 till 40 med början längst ner till vänster. Dessa är de fysiska stiftnumren, men det finns också numrerings- / märkningskonventioner som "BCM" som används när du skriver kod.

    03

    av 09

    Kraft och mark

    Röd markerad är kraftstift märkta '3' eller '5' för 3, 3V eller 5V.

    Med dessa stift kan du direkt skicka ström till en enhet utan att behöva någon kod. Det finns inget sätt att stänga av dessa heller.

    Det finns 2 kraftskenor - 3, 3 volt och 5 volt. 3, 3V-skenan är begränsad till 50 mA strömdragning, medan 5V-räcket kan ge vilken strömkapacitet som finns kvar från din strömförsörjning efter att Pi har tagit det den behöver.

    Markerade bruna är markstiften (GND). Dessa stift är exakt vad de säger - jordstift - som är en viktig del av alla elektronikprojekt.

    (5V GPIO-stift är fysiska nummer 2 och 4. 3.3V GPIO-stift är fysiska nummer 1 och 17. Jord-GPIO-stift är fysiska nummer 6, 9, 14, 20, 25, 30, 34 och 39)

    04

    av 09

    In- / utgångspinnar

    De gröna stiften är "generiska" in / utstift. Dessa kan enkelt användas som ingångar eller utgångar utan att oroa dig för att kollidera med andra funktioner som I2C, SPI eller UART.

    Det här är stiften som kan skicka ström till en LED, summer eller andra komponenter, eller användas som en ingång för att läsa sensorer, switchar eller andra ingångsenheter.

    Utgångseffekten för dessa stift är 3, 3V. Varje stift ska inte överstiga 16 mA ström, varken sjunka eller köpa, och hela uppsättningen GPIO-stift ska inte överskrida mer än 50 mA vid en gång. Detta kan vara begränsande, så du kanske måste bli kreativ i vissa projekt.

    (Generiska GPIO-stift är fysiska nummer 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 och 40)

    05

    av 09

    I2C-stift

    I gult har vi I2C-stiften. I2C är ett kommunikationsprotokoll som i enkla termer gör det möjligt för enheter att kommunicera med Raspberry Pi. Dessa stift kan också användas som "generiska" GPIO-stift.

    Ett bra exempel på att använda I2C är det mycket populära MCP23017 port expanderchipet, som kan ge dig fler input / output stift genom detta I2C-protokoll.

    (I2C GPIO-stift är fysiska stiftnummer 3 och 5)

    06

    av 09

    UART (serie) stift

    I grått är UART-stiften. Dessa stift är ett annat kommunikationsprotokoll som erbjuder seriella anslutningar och kan också användas som "generiska" GPIO-ingångar / -utgångar också.

    En användning för UART är att aktivera en seriell anslutning från en Pi till en bärbar dator via USB. Detta kan uppnås med tilläggskort eller enkla kablar och tar bort behovet av en skärm eller internetanslutning för att komma åt din Pi.

    (UART GPIO-stift är fysiska stiftnummer 8 och 10)

    07

    av 09

    SPI-stift

    I rosa färger har vi SPI-stiften. SPI är en gränssnittsbuss som skickar data mellan Pi och annan hårdvara / kringutrustning. Det används ofta för kedja av enheter som en LED-matris eller display.

    Liksom andra kan dessa stift också användas som "generiska" GPIO-ingångar / -utgångar.

    (SPI GPIO-stift är fysiska stiftnummer 19, 21, 23, 24 och 26)

    08

    av 09

    DNC-stift

    Slutligen är två stift i blått som för närvarande är märkta som DNC som står för 'Anslut inte'. Detta kan förändras i framtiden om Raspberry Pi Foundation ändrar korten / programvaran.

    (DNC GPIO-stift är fysiska stiftnummer 27 och 28)

    09

    av 09

    GPIO-numreringskonventioner

    När du kodar med GPIO har du valet att importera GPIO-biblioteket på ett av två sätt - BCM eller BOARD .

    Det första alternativet är GPIO BCM . Detta är Broadcom-numreringskonventionen och den används oftare i projekt och tillägg till hårdvara.

    Det andra alternativet är GPIO BOARD . Den här metoden använder istället de fysiska stiftnumren, vilket är praktiskt när du räknar stift, men du hittar att det används mindre i projektexempel.

    GPIO-läget ställs in vid import av GPIO-biblioteket:

    Så här importerar du som BCM:

    Så här importerar du som BOARD:

    Båda dessa metoder gör exakt samma jobb, det är bara en fråga om numrering.

    Du kan använda praktiska GPIO-etikettkort som RasPiO Portsplus (bild) för att kontrollera vilka stift jag också ansluter ledningar. Den ena sidan visar BCM-numreringskonventionen, den andra visar BOARD - så du är täckt för alla projekt du hittar.