GPIO

Een krachtig kenmerk van de Raspberry Pi is de rij GPIO-pinnen (algemene invoer / uitvoer) langs de bovenrand van het bord. Een 40-pins GPIO-header is te vinden op alle huidige Raspberry Pi-kaarten (niet gevuld op Pi Zero en Pi Zero W). Voorafgaand aan het Pi 1 Model B + (2014), bevatten boards een kortere 26-pins header.

Elk van de GPIO-pinnen kan (in software) worden aangewezen als een invoer- of uitvoerpin en voor een breed scala aan doeleinden worden gebruikt.

GPIO layout

Let op: de nummering van de GPIO pinnen staat niet in numerieke volgorde; GPIO-pinnen 0 en 1 zijn aanwezig op het bord (fysieke pinnen 27 en 28) maar zijn gereserveerd voor geavanceerd gebruik (zie hieronder).

Spanningen 

Op het bord zijn twee 5V-pinnen en twee 3V3-pinnen aanwezig, evenals een aantal niet-configureerbare aardpennen (0V). De resterende pinnen zijn allemaal 3V3-pinnen voor algemene doeleinden, wat betekent dat de uitgangen zijn ingesteld op 3V3 en de ingangen 3V3-tolerant zijn.

 

Uitgangen 

Een GPIO-pin die is aangeduid als een outputpin kan worden ingesteld op hoog (3V3) of laag (0V).

Ingangen 

Een GPIO-pin die is aangewezen als invoerpin kan worden gelezen als hoog (3V3) of laag (0V). Dit wordt gemakkelijker gemaakt door het gebruik van interne pull-up of pull-down weerstanden. Pinnen GPIO2 en GPIO3 hebben vaste pull-up weerstanden, maar voor andere pinnen kan dit in software worden geconfigureerd.

Meer

Naast eenvoudige invoer- en uitvoerapparaten, kunnen de GPIO-pinnen worden gebruikt met een verscheidenheid aan alternatieve functies, sommige zijn beschikbaar op alle pinnen, andere op specifieke pinnen
  • PWM (pulse-width modulation)
    • Software PWM available on all pins
    • Hardware PWM available on GPIO12, GPIO13, GPIO18, GPIO19
  • SPI
    • SPI0: MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
    • SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
  • I2C
    • Data: (GPIO2); Clock (GPIO3)
    • EEPROM Data: (GPIO0); EEPROM Clock (GPIO1)
  • Serial
    • TX (GPIO14); RX (GPIO15)

GPIO Pinout

Het is belangrijk om te weten welke pin is. Sommige mensen gebruiken pinlabels (zoals de RasPiO Portsplus-printplaat of de afdrukbare Raspberry Leaf).

Een handige referentie is toegankelijk op de Raspberry Pi door een terminalvenster te openen en de opdrachtpinout uit te voeren. Deze tool wordt geleverd door de GPIO Zero Python-bibliotheek, die standaard op de Raspbian-desktopimage is geïnstalleerd, maar niet op Raspbian Lite.

Voor meer details over de geavanceerde mogelijkheden van de GPIO-pinnen zie gadgetoid's interactieve pinout-diagram.
 
Programmeren met GPIO
Het is mogelijk om GPIO-pinnen te bedienen met behulp van een aantal programmeertalen en tools. Zie de volgende handleidingen om te beginnen:

Waarschuwing: terwijl het aansluiten van eenvoudige componenten op de GPIO-pinnen volkomen veilig is, is het belangrijk om voorzichtig te zijn met het aansluiten van dingen. LED's moeten weerstanden hebben om de stroom die er doorheen gaat te beperken. Gebruik geen 5V voor 3V3-componenten. Sluit motoren niet rechtstreeks op de GPIO-pinnen aan, maar gebruik een H-brugcircuit of een motorbesturingskaart.



Search engine powered by ElasticSuite