<< | #317 ; Pri la GPIO-pintoj de Raspberry Pi |
>> |
Raspberry Pi (mallongigo RPi) karta mikrokomputilo havas du radoj da nudaj uzeblaj konektiloj por "General Purpose Input/Output", mallongigita GPIO, por ĝeneralaj taskoj por komunikadi kun la ekstera fizika mondo, por legi kaj skribi informon en pintoj per elektra tensio.
Apude vi vidas foton el unu prezentado de tiuj 40 pintoj, neparaj nombroj (01, 03, 05, ...) de pinto en maldekstra kolono kaj paraj nombroj (02, 04, 06, ...) en la dekstra kolono.
Ĉiu pinto havas sian propran taskon. Kelkaj pintoj havas eĉ du aliaj taskoj kiojn oni povas selekti. Kelkaj pintoj povas doni konstantan DC-tension 5 voltoj aŭ 3,3 voltoj por uzi eksteran aparaton. La tekstoj GND kaj "Ground" signifas teron, kion oni povus nomi tension nulo, 0 voltoj. Plej multaj pintoj tamen estas rezervitaj por io signalo.
Ekzistas du stiloj por nomi la taskojn de pintoj, BOARD -sistemo kaj BCM -sistemo. Sube mi provas prezenti la sistemojn iom alie kaj pli klare en tabelo por ĉiuj GPIO-pintoj.
Eble mi povus uzi la pintojn ekzemple por peli stepper -motoron, kun aparta elektronika fortigilo. La pintoj mem estas iom malfortaj kaj ne povas doni eksteren multe da elektra kurento. Ekzemple 10 miliamperoj ( 10 mA = 0,010 A ) jam estas iom granda kurento por la mikrokomputilo.
Stepper -motoro bezonas iom fortaj pulsoj (ekzemple eĉ tutan amperon da kurento) en korekta ordo por labori kaj tial oni nepre uzu fortigilon. En alia kazo povus la delikata RPi-komputilo difektiĝi.
Certe estas multe por lerni pri GPIO. Mi meditas ke mi povus poste skribi kelkaj artikoloj pri ĝia uzo. Tamen povas postuli iom da tempo. Origine mi pensis ke mi prefere uzu Arduino Uno -mikroregilon por tiaj iom danĝeraj taskoj kioj povus difektigi la delikatan elektronikon. Por taskoj de relative malgranda risko tamen estas RPi rekte uzebla. Estas pli simple por prezenti ideoj kiam oni povas uzi Python kaj ne bezonas skribi programon por Arduino Uno.
Dekstre estas alia prezentado de GPIO-pintoj, BCM-stilaj nomoj en ekstremaj kolonoj kaj BOARD-stilaj nomoj en internaj kolonoj. Oni povas selekti la GPIO-pintojn relative libere, sed se oni ekzemple poste bezonus I2C -buson (I2C), oni eble ne volas uzi la por tio rezervitajn pintojn #03 kaj #05 por GPIO, kvankam estus eble. Same pintoj #08 kaj #10 povas labori kiel GPIO-pintoj, sed ili estas ankaŭ la pintoj por UART. Se oni nepre bezonas UART, oni selektu ioj aliaj pintoj por GPIO.
Ŝajnas iom komplika afero, sed ni progresos. Estas ja specialaj distingiloj por aliaj sistemoj de signaloj: I2C (aŭ IIC, I2C), SPI, UART. Pri ili kaj pri la nomoj de iliaj signaloj (ekzemple MISO, MOSI) mi rakontos iom poste.
Nun mi tamen skribos mian propran interpreton pri la temo, eble pli klaran? Mi uzos pli malmulte da koloroj, nur por elektra tero (GND) kaj tensioj (3,3 V kaj 5 V).
maldekstra kolono | dekstra kolono | |||||
BOARD-stilo | BCM-stilo | ## | ## | BOARD-stilo | BCM-stilo | |
---|---|---|---|---|---|---|
DC +3,3 V | 01 | 02 | DC +5,0 V | |||
SDA1 (I2C) | GPIO02 | 03 | 04 | DC +5,0 V | ||
SCL1 (I2C) | GPIO03 | 05 | 06 | GND | ||
GCLK | GPIO04 | 07 | 08 | TXD0 (UART) | GPIO14 | |
GND | 09 | 10 | RXD0 (UART) | GPIO15 | ||
GEN0 | GPIO17 | 11 | 12 | GEN1 | GPIO18 | |
GEN2 | GPIO27 | 13 | 14 | GND | ||
GEN3 | GPIO22 | 15 | 16 | GEN4 | GPIO23 | |
DC +3,3 V | 17 | 18 | GEN5 | GPIO24 | ||
MOSI (SPI) | GPIO10 | 19 | 20 | GND | ||
MISO (SPI) | GPIO09 | 21 | 22 | GEN6 | GPIO25 | |
SCLK (SPI) | GPIO11 | 23 | 24 | CE0_N (SPI) | GPIO08 | |
GND | 25 | 26 | CE1_N (SPI) | GPIO07 | ||
ID_SD | EEPROM | 27 | 28 | ID_SD | EEPROM | |
GPIO05 | 29 | 30 | GND | |||
GPIO06 | 31 | 32 | GPIO12 | |||
GPIO13 | 33 | 34 | GND | |||
GPIO19 | 35 | 36 | GPIO16 | |||
GPIO26 | 37 | 38 | GPIO20 | |||
GND | 39 | 40 | GPIO21 |
La informo estas ankoraŭ mankhava, sed mi provos iom-post-iom lerni kaj progresi.
La pintoj markitaj "GPIO" kredeble estas "digitalaj" eniroj/eliroj kioj havas 2 aliaj statoj.
La 8 pintoj markitaj "GEN" (GEN0 ... GEN7) povas labori kiel PWM-stilaj pulsaj eliroj, kiojn oni ofte (se la kargo ne estas tre rapida) povas uzi kiel ia "analoga" eliro. Per tioj oni povas peli ekzemple servo -motoron kio havas internan fortigilon.
Kredeble eblas uzi kelkaj unuopaj "GPIO" -pintoj kune ekzemple por peli stepper -motoron kun fortigilo. Pli prudente nature estus uzi pretan bibliotekan funkcion por la laboro, se tia konvena funkcio ekzistas.
La busoj kredeble havas siajn proprajn pretajn bibliotekajn funkciojn kiujn oni povas uzi. Jen iom da ĝenerala informo pri buso en komputilo. Mi ankoraŭ ne havas multe da praktika sperto pri tioj.
Signaloj:
Signaloj:
Mi kredas ke uzas la pintojn TXD0 (por sendi), RXD0 (por ricevi) kaj GND por la elektra tero.
Kaj certe fine ..........
NI VENKOS!
La Ambasadoro en Finnlando de sendependa nacio Mueleja Insulo |