GPIO: viss par Raspberry Pi 4 un 3 savienojumiem

Aveņu Pi 4 GPIO

L Raspberry Pi 4 dēļa GPIO tapas, 3, kā arī tā priekšgājēji nodrošina SBC paneli ar līdzīgām iespējām, kādas var būt Arduino, jo ar tiem jūs varat izveidot ļoti interesantus elektroniskos projektus, kurus kontrolē no operētājsistēmas, izmantojot kodu dažādās valodās, piemēram, Python.

Tas padara dēli ne tikai par lētu datoru. Tas ļaus jums savienot daudzus elektroniskie elementi ko varat izmantot ar Arduino, bet to var kontrolēt arī no Pi. Šajā ceļvedī es centīšos sniegt jums pēc iespējas vairāk informācijas par šīm GPIO tapām, lai jūs varētu sākt izmantot tās ...

Kas ir GPIO?

GPIO

GPIO ir saīsinājums no vispārējas nozīmes ievades / izvades, tas ir, vispārējas nozīmes ievades / izvades. Dažādi elektroniskie izstrādājumi to var iegūt, piemēram, pašas mikroshēmas vai noteiktas PCB plāksnes, piemēram, šī Raspberry Pi. Kā norāda viņu nosaukums, tie ir tapas, kuras var konfigurēt dažādu funkciju veikšanai, līdz ar to tās ir vispārējas nozīmes un nav paredzētas noteiktai lietošanai.

Runtime laikā lietotājs varēs konfigurējiet šīs GPIO tapas lai viņi darītu to, ko viņš vēlas. To var izdarīt dažādos veidos, piemēram, ar noteiktiem kodiem vai skriptiem no konsoles vai ar programmu Python, kas ir viens no vienkāršākajiem un vēlamākajiem veidiem, ņemot vērā jūsu rīcībā esošo opciju daudzumu.

Tādā veidā Raspberry Pi ir ne tikai virkne ostu un saskarnes lai savienotu vairākas standarta ierīces, taču pievienojiet šīs GPIO tapas, lai varētu pievienot citas elektroniskās ierīces vai veidotāju projektus, kurus esat izveidojis pats. Tādā pašā veidā, kā jūs kontrolētu ar Arduino un tā I / O tapām.

Y nav tikai Arduino vai Raspberry Pi, tāpat rīkojas arī citi līdzīgi SBC dēļi un iegultie izstrādājumi.

GPIO funkcijas

Un starp viņas Raksturlielumi izcilākais:

  • Viņi var jākonfigurēkā ievade kā izeja. Viņiem ir tāda dualitāte, kā tas notiek ar Arduino.
  • Arī GPIO piespraudes var aktivizēt un deaktivizēt pēc koda. Tas ir, tos var iestatīt uz 1 (augstsprieguma līmenis) vai 0 (zemsprieguma līmenis).
  • Protams, viņi var lasīt bināros datus, kā vienības un nulles, tas ir, sprieguma signāls vai tā neesamība.
  • Izejas vērtības Lasīšana un rakstīšana.
  • Ievades vērtības dažos gadījumos var konfigurēt kā Notikumi tā, lai tie radītu kāda veida darbību uz tāfeles vai sistēmas. Dažas iegultās sistēmas tos izmanto kā IRQ. Vēl viens gadījums ir konfigurēt to, ka tad, kad daži sensori ir aktivizējuši vienu vai vairākas tapas, veiciet kādu darbību ...
  • Kas attiecas uz spriegumu un intensitāti, jums labi jāzina plāksnei pieņemamās maksimālās jaudas, šajā gadījumā Raspberry Pi 4 vai 3. Jums nevajadzētu tos nodot, lai nesabojātu.

Starp citu, kad tiek grupēta GPIO tapu grupa, kā tas ir ar Raspberry Pi, grupa ir pazīstama kā GPIO ports.

Aveņu Pi GPIO tapas

Aveņu Pi GPIO

Shēma derīga 4., 3. versijai, nullei

Jaunais Raspberry Pi 4 dēļi un 3. versija Tie ir aprīkoti ar lielu skaitu GPIO tapu. Ne visās versijās tiek piedāvāta vienāda summa, un tās nav numurētas vienādi, tāpēc ar to jums jābūt uzmanīgam, lai labi zinātu, kā jums vajadzētu izveidot savienojumu atbilstoši jūsu modelim un pārskatījumam.

Bet vispārīgāki ir GPIO veidi, kurus varat atrast Raspberry Pi dēļu ostā. Un tā būs pirmā lieta, ko es vēlētos paskaidrot, jo šādā veidā jūs to zināt tapu veidi jūs varat paļauties uz saviem projektiem:

  • barošana: šīs tapas izmanto, lai savienotu elektropārvades līnijas vai elektroinstalāciju jūsu elektroniskajiem projektiem. Tie atbilst tapām, kas ir līdzīgas tām, kas atrodas uz Arduino dēļa, un kas nodrošina 5v un 3v3 spriegumu (3.3v ierobežots ar 50mA slodzi). Turklāt jūs atradīsit arī zemes (GND vai Ground). Ja jūs neizmantojat ārējus barošanas avotus, piemēram, baterijas vai adapterus, šīs tapas var ļoti palīdzēt ķēdes barošanai.
  • DNC (nepieslēdzieties): tie ir tapas, kas ir dažās versijās un kuriem nav funkciju, bet jaunajos dēļos tiem ir piešķirts cits mērķis. Jūs tos atradīsit tikai primitīvākos Pi modeļos. Jaunajos 3 un 4 tie parasti tiks atzīmēti kā GND, spējot integrēties iepriekšējā grupā.
  • Konfigurējamas tapas: tie ir parasts GPIO, un tos var ieprogrammēt ar kodiem, kā es paskaidrošu vēlāk, lai veiktu jums nepieciešamo.
  • Īpašas tapas: šie ir daži savienojumi, kas paredzēti īpašiem savienojumiem vai saskarnēm, piemēram, UART, TXD un RXD sērijas savienojumiem utt., Tāpat kā ar Arduino. Jūs pat atradīsit tādus kā SDA, SCL, MOSI, MISO, SCLK, CE0, CE1 utt. Viņi izceļas starp tiem:
    • PWM, kas var regulēt impulsa platumu, kā mēs redzējām iepriekšējā rakstā. Uz Raspberry Pi 3 un 4 tie ir GPIO12, GPIO13, GPIO18 un GPIO19.
    • SPI ir vēl viena komunikācijas saskarne, kuru es arī apspriedu citā rakstā. Jauno 40 kontaktu dēļu gadījumā tie ir tapas (ar dažādiem sakaru kanāliem, kā redzat):
      • 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 ir vēl viena saikne, kuru esmu izskaidrojis arī šajā emuārā. Šo kopni veido datu signāls (GPIO2) un pulkstenis (GPIO3). Papildus EEPROM datiem (GPIO0) un EEPROM pulkstenim (GPIO1).
    • Seriālā, vēl viena ļoti praktiska saziņa ar TX (GPIO14) un RX (GPIO15) tapām, piemēram, tām, kuras varat atrast uz tāfeles Arduino UNO.

Atcerieties, ka GPIO ir saskarne starp Raspberry Pi un ārējo pasauli, taču viņiem tas ir tās ierobežojumi, īpaši elektriskās. Kaut kas, kas jums jāņem vērā, lai nesabojātu dēli, ir atcerēties, ka šīs GPIO tapas parasti netiek buferētas, tas ir, bez bufera. Tas nozīmē, ka viņiem nav aizsardzības, tāpēc jums jāuzrauga piemērotā sprieguma un intensitātes lielumi, lai nenonāktu bezjēdzīga plāksne ...

GPIO atšķirības starp versijām

Vecās Raspberry Pi GPIO tapas

Kā jau teicu, ne visi modeļi ir vienādi tapasŠeit ir dažas diagrammas, lai jūs varētu redzēt atšķirības starp modeļiem un tādējādi varētu koncentrēties uz Raspberry Pi 4 un 3, kas ir jaunākais un kurš, iespējams, ir jūsu īpašumā. Tas atšķiras (visām katrai grupai ir vienādas tapas):

  • Raspberry Pi 1 Model B Rev 1.0 ar 26 kontaktiem, kas nedaudz atšķiras no Rev2.
  • Aveņu Pi 1 modelis A un B Rev 2.0, abi modeļi ar 26 kontaktiem.
  • Rapsberry Pi Model A +, B +, 2B, 3B, 3B +, Zero and Zero W, kā arī 4. modeļi. Visi no tiem ir ar 40 kontaktu GPIO galveni.

Ko es varu pievienot GPIO?

Aveņu Pi cepure

Jūs ne tikai savienot elektroniskās ierīcestranzistori, mitruma / temperatūras sensori, termistori, stepper motori, LEDutt. Varat arī savienot komponentus vai moduļus, kas izveidoti tieši Raspberry Pi un kas paplašina tāfeles iespējas ārpus bāzes.

Es atsaucos uz slaveno cepures vai cepures un plāksnes, kuras var atrast tirgū. Ir daudz veidu, sākot no tiem, kurus izmanto, lai vadītu motorus ar vadītājiem, līdz citiem, lai izveidotu skaitļošanas kopa, Ar LED panelis kontrolējams, lai pievienotu DVB TV iespējas, LCD ekrāns, Uc

Šīs cepures vai cepures Tie ir uzstādīti uz Raspberry Pi dēļa, GPIO atbilstība, lai tā darbotos. Tāpēc tā montāža ir diezgan vienkārša un ātra. Protams, pārliecinieties, vai plāksnes versija ir saderīga ar katru cepuri, jo GPIO ports ir atšķirīgs, kā redzējāt ...

Es to saku, ja jums ir vecāka plāksne, jo cepures ir saderīgs tikai ar jaunāko. Tāpat kā Raspberry Pi A +, B +, 2, 3 un 4 modeļi.

Ievads par GPIO izmantošanu Raspberry Pi

Pinout komandas izeja

Avots: Aveņu Pi

Lai sāktu, Raspbian varat atvērt konsoli un ierakstīt komandu pinoutTas, ko tas jums atgriezīs, ir attēls terminālā ar GPIO tapām, kas ir pieejamas uz jūsu dēļa, un kam katrs ir paredzēts. Kaut kas ļoti praktisks, lai tas vienmēr būtu klāt darba brīdī, lai neapjuktu.

Pirmais projekts: gaismas diode mirgo ar GPIO

GPIO ar LED uz Raspberry Pi

Pamata veids, kā padarīt sava veida "Sveika pasaule" ar GPIO ir izmantot vienkāršu LED, kas savienots ar Raspberry Pi tapām, lai jūs varētu redzēt, kā tie darbojas. Šajā gadījumā es to esmu savienojis ar GND, bet otru - ar tapu 17, lai gan jūs varat izvēlēties citu no parastajām tapām ...

Kad esat izveidojis savienojumu, varat kontrolēt tos no Raspbian izmantojot termināli. Linux operētājsistēmā tiek izmantoti īpaši faili, piemēram, direktorijā / sys / class / gpio /. Piemēram, lai izveidotu failu ar nepieciešamo struktūru, lai sāktu darbu:

echo 17 > /sys/class/gpio/export

Tad jūs varat konfigurēt kā ieeju (in) vai kā output (out) ka piemērs ir izvēlēts 17. tapa. To var izdarīt ļoti viegli, izmantojot:

echo out > /sys/class/gpio/gpio17/direction

Šajā gadījumā kā izeja, jo mēs vēlamies nosūtīt elektrisko impulsu uz LED, lai to ieslēgtu, bet, ja tas būtu sensors utt., Jūs to varētu izmantot. Tagad par ieslēgt (1) vai izslēgt (0) LED, kuru varat izmantot:

echo 1 > /sys/class/gpio/gpio17/value
echo 0 > /sys/class/gpio/gpio17/value

Ja vēlaties pāriet uz citu projektu un dzēst ierakstu izveidots, varat to izdarīt šādi:

echo 17 > /sys/class/gpio/unexport

Starp citu, jūs varat arī savākt visas nepieciešamās komandas savam projektam, tāpat kā visas iepriekšējās, saglabāt tās faila tipā bash skripts un pēc tam palaidiet tos uzreiz komplektā, nevis rakstiet pa vienam. Tas ir ērti, ja atkārtojat vienu un to pašu vingrinājumu daudzas reizes, tāpēc jums nav jāpārraksta. Vienkārši skrien un ej. Piemēram:

nano led.sh

#!/bin/bash
source gpio 
gpio mode 17 out
while true; do 
gpio write 17 1 
sleep 1.3 
gpio write 17 0 
sleep 1.3 done

Kad esat pabeidzis, jūs saglabājat un pēc tam varat piešķirt tai atbilstošas ​​izpildes un izpildes atļaujas scenārijs lai iedegtos gaismas diode, pagaidiet 1.3 sekundes un izslēdzieties šādi ...

chmod +x led.sh
./led.sh

Programmas avanss

programmēšanas valodas pirmkods

Acīmredzot iepriekš minētais darbojas maziem elektroniskiem projektiem, kuros ir maz komponentu, taču, ja vēlaties komandu vietā izveidot kaut ko vairāk, varat izmantot programmēšanas valodas izveidot dažādus skriptus vai pirmkodus, kas automatizē darbību.

Tos var izmantot dažādi rīki programmēt, ar ļoti dažādām valodām. Bibliotēkas, kuras kopiena ir izstrādājusi, jums daudz atvieglo lietas, piemēram, WiringPi, sysfs, pigpio utt. Programmas var būt ļoti dažādas, sākot no Python, kas ir daudzu vēlamais variants, izmantojot Ruby, Java, Perl, BASIC un pat C #.

Oficiāli Raspberry Pi jums piedāvā daudzas iespējas lai ieprogrammētu GPIO, piemēram:

  • Scratch, tiem, kuri neprot programmēt un vēlas izmantot šī projekta mīklu blokus, ar kuriem var ieprogrammēt arī Arduino utt. Programmēšana ar grafiskiem blokiem ir diezgan intuitīva un ļoti praktiska izglītības jomā.
  • Pitons: Šī vienkāršā interpretētā programmēšanas valoda ļauj jums izveidot vienkāršus un jaudīgus kodus, kuru rīcībā ir daudzas bibliotēkas, lai veiktu gandrīz visu, ko iedomājaties.
  • C / C ++ / C #: ir jaudīgākas programmēšanas valodas, lai izveidotu bināros failus, ar kuriem mijiedarboties ar GPIO. To var izdarīt vairākos veidos, izmantojot bibliotēkas veidlapu vai kodola saskarnilibgpiod, bet arī izmantojot trešās puses bibliotēku, piemēram, cūciņa.
  • Apstrāde3, līdzīgs Arduino.

Izvēlieties elastīgi to, kas jums visvairāk patīk vai jūs domājat, ka tā ir vienkārša.


4 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Ienaidnieks teica

    Ļoti jauks raksts par startēšanu Rasperry

    1.    Isaac teica

      Liels paldies.

      1.    Rūta Medina teica

        vai tu esi autors?

        1.    Isaac teica