En introduktion till Raspberry Pis Pins
Termen "GPIO" (Allmänna Input Output) är inte exklusiv för Raspberry Pi. Ingångs- och utgångsstift kan hittas 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 blocket av stiften i det övre vänstra hörnet av brädet. Äldre modeller hade 26 stift, men de flesta av oss kommer att använda en nuvarande modell med 40.
Du kan ansluta komponenter och andra hårdvaruaggregat till dessa stiften, och använd kod för att styra 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 försöka experimentera med dessa stiften, ivriga att blanda din kod med hårdvara för att få saker att hända i "riktigt liv".
Denna process kan vara skrämmande om du är ny på scenen, och med tanke på att en falsk rörelse kan skada din Raspberry Pi är det förståeligt att det är ett nervöst område för nybörjare att utforska.
Denna artikel kommer att förklara vad varje typ av GPIO-stift gör och deras begränsningar.
02 av 09GPIO
Låt oss först titta på GPIO som helhet. Stiften kan se ut på samma sätt 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 numrerad från 1 till 40 och börjar längst ned till vänster. Dessa är de fysiska stiftnumren, men det finns också nummerering / märkningskonventioner som "BCM" som används vid skrivning av kod.
03 av 09Power & Ground
Markerad röd, är pinnena märkta '3' eller '5' för 3.3V eller 5V.
Med dessa stiften 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 strömskenor - 3,3 volt och 5 volt. Enligt denna artikel är 3.3V-skenan begränsad till 50mA strömdragning, medan 5V-skenan kan ge vilken strömkapacitet som helst kvar från din nätaggregat efter att Pi har tagit det som behövs.
Markerad brunär markpinnarna (GND). Dessa stiften är precis vad de säger - markpinnar - som är en viktig del av något elektronikprojekt.
(5V GPIO-stift är fysiska nummer 2 och 4. 3.3V GPIO-stift är fysiska nummer 1 och 17. Ground GPIO-stiften är fysiska nummer 6, 9, 14, 20, 25, 30, 34 och 39)
04 av 09Ingång / utgångspinne
De gröna stiften är vad jag kallar "generiska" ingångs- / utgångsstift. Dessa kan enkelt användas som ingångar eller utgångar utan några bekymmer om att kollapsar med andra funktioner som I2C, SPI eller UART.
Dessa ä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 av sensorer, växlar eller annan ingångsenhet.
Utgångseffekten hos dessa stift är 3,3 V. Varje stift bör inte överstiga 16mA av ström, antingen sjunker eller sourcing, och hela uppsättningen GPIO-stiften får inte överstiga mer än 50mA vid en gång. Det kan vara restriktivt, 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 09I2C Pins
I gult har vi I2C-stiften. I2C är ett kommunikationsprotokoll som enkelt tillåter enheter att kommunicera med Raspberry Pi. Dessa stift kan också användas som "generiska" GPIO-stiften.
Ett bra exempel på att använda I2C är det mycket populära MCP23017 port expander-chipet, som kan ge dig fler ingångs- / utmatningsstift genom detta I2C-protokoll.
(I2C GPIO-stift är fysiska stiftnummer 3 och 5)
06 av 09UART (Serial) Pins
I grå är UART-stiften. Dessa stiften är ett annat kommunikationsprotokoll som erbjuder seriella anslutningar och kan även användas som "generiska" GPIO-ingångar / utgångar.
Min favoritanvändning för UART är att möjliggöra en seriell anslutning från min Pi till min bärbara dator via USB. Detta kan uppnås med hjälp av tilläggskort eller enkla kablar och tar bort behovet av en skärm eller internetanslutning för att komma åt din Pi.
(UART GPIO-stiften är fysiska stiftnummer 8 och 10)
07 av 09SPI Pins
I rosa, vi har SPI-stiften. SPI är en gränssnittsbuss som skickar data mellan Pi och annan hårdvara / kringutrustning. Den används vanligtvis för kedje 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 09DNC-stift
Slutligen finns två pins i blått som för närvarande är märkta som DNC som står för "Do Not Connect". Detta kan förändras i framtiden om Raspberry Pi Foundation ändrar styrelserna / programvaran.
(DNC GPIO-stift är fysiska stiftnummer 27 och 28)
09 av 09GPIO nummereringskonventioner
När du kodar med GPIO har du valet att importera GPIO-biblioteket på ett av två sätt - BCM eller BOARD.
Det alternativ jag föredrar är GPIO BCM. Detta är Broadcom nummereringskonventionen och jag tycker att det används vanligare över projekt och hårdvara tillägg.
Det andra alternativet är GPIO BOARD. Denna metod använder istället de fysiska stiftnumren, vilket är praktiskt när man räknar stiften, men du finner att den används mindre i projekt exempel.
GPIO-läget ställs in när du importerar GPIO-biblioteket:
För att importera som BCM:
importera RPi.GPIO som GPIO
GPIO.setmode (GPIO.BCM)
För att importera som BOARD:
importera RPi.GPIO som GPIO
GPIO.setmode (GPIO.BOARD)
Båda dessa metoder gör exakt samma jobb, det handlar bara om att numrera preferenser.
Jag brukar regelbundet använda sig av praktiska GPIO-märkbrädor som RasPiO Portsplus (bild) för att kontrollera vilka stifter jag också ansluter ledningar till. En sida visar BCM nummereringskonventionen, den andra visar BOARD - så du är täckt för något projekt du hittar.