<<

#318 ; Ni iom uzu la GPIO-pintojn de RPi

>>

Mi volas nun iom praktiki simplan uzon de mia "Lite" -muntita Raspberry Pi (mallongigo RPi) kaj speciale en praktiko konatiĝi kun la GPIO-pintoj kaj la baza Python sen la bele grafika programo Thonny.

Unue ni iom rigardu bazan Python-programon, kvankam mi ankoraŭ ne intencas skribi veran apartan programon por GPIO-pintoj, nur simple iom testi la aparaton.

Fakte oni povas uzi du aliaj varioj de Python, malnovan varion python kaj pli novan varion python3

Ni povas kontakti la "Lite" -muntitan RPi3 ekzemple el PC/Windows -komputilo kun kruce konektita Ethernet -kablo kaj programo PuTTY kies fenestron vi vidas apude. Ni renkontis la programon PuTTY jam antaŭe en artikolo #240

Por PuTTY ni donas la IP-adreson de alia komputilo kaj selektas la alternativon SSH kio uzas pordon 22.

Mi presas la butonon Open en PuTTY kaj sekve ni estos en ia komanda fenestro por komenci SSH-konekton.

La alia komputilo unue demandas la nomon de uzanto kaj la korelativan sekretan vorton. La uzanto "pi" jam estas uzata kaj tial mi selektas ĝin kaj la ĝian sekretan vorton kion la programo ne montras en la suba fenestro. Sekretaj vortoj ja estas sekretoj.

Nia situo por la uzanto "pi" estas unue la registro /home/pi kio estas nia "hejmo".

Mi jam havas mian propran etetan bazan "hello world" -tipan Python -programon en registro /home/pi/vesa kaj tial mi elmigros al tio registro per komando cd vesa

Sube ni povas vidi la enhavon de tio simpla programo, kion la komputilo afable montras per komando cat koe.py kaj kiel la suba bildo montras, havas la programeto nur komenton (kio komencas per signo #) kion la programa lingvo Python tute ignoras kaj komandon por skribi la bedaŭrinde iom anglisman tekston "Hello mondo!"

Mi povas efektivigi la programon simple per komando python koe.py kaj kiel vi sube vidas, la programo donas por vi nur ian anglisman saluton.

Mi povis uzi alternative la pli novan varion python3 kio postulas la krampojn '(' kaj ')'. La malnova vario 2.7 ilin ne bezonus kaj tion uzas la norma komando python

Tio estas unu ebleco por uzi Python. Mi tamen uzos alian pli facilan metodon por prepara konatiĝo kun la GPIO-pintoj.

Ni ne bezonos por skribi apartan datumon por tio, sed ni devas starti la Python -programon iom alie por uzi la GPIO-pintojn.

Ni bezonas la rajtojn de "superuser" por GPIO-pintoj kaj tial ni startas Python per komando sudo python kie la vorto sudo donos por ni la fortojn de "superuzanto".

Sube vi vidos kiel mi skribis kelkaj linioj da teksto en Python -programo. La linioj estas tuj efektivigitaj, sed ili ne estas deponitaj en io datumo.

La >>> en komenco de linio signifas ke ni estas ene en la Python -programo, kaj ne nur en norma SSH. Tiojn >>> vi tamen ne skribu mem!

Tioj kelkaj programaj linioj signifas ke ni volas uzi la GPIO-pintojn. Fakte la programo ankoraŭ ne faras ion utilan, estas nur iom da baza strukturo kion ni poste bezonos.

Mi selektis por uzi laŭ BOARD-stilo la pinton #11 ("GEN0") por eliro (OUT) de elektra tensio.

La vera agado tamen ankoraŭ mankas ĉar mi ne povas mezuri la elektran tension en pinto #11. Por RPi la alta tensio ("True") kredeble estus 3,3 voltoj kaj la malalta ("False") praktike nulo.

Por Arduino Uno -mikroregilo la alta tensio estas iom pli granda, nome 5 voltoj.

La lastan linion GPIO.cleanup() ni bezonos por fine remeti la sistemon al sia origina stato.

Mi povas forlasi la Python -programon ekzemple per komando exit() kaj mi estos reen en norma SSH.

Tia do estas la programa bazo de nia venonta eksperimenta ĉirkaŭaĵo.

Nun mi tamen bezonas kupli mezurilon por la selektita pinto #11 por konstati ke la programo vere funkcias.

Mi do estingas la "Lite" -muntitan RPi tra SSH per komando sudo shutdown por fari la novan kupladon.

Nia distanca RPi havas mian mem muntitan internan ventumilon - por la plej varmegaj komponantoj - kio jam uzas pintojn #02 kaj #06 (GND) tiel ke ĝi ricevas norman uzan tension 5 voltoj el pinto #02.

Mi selektas por uzi por nova eksperimento teron (GND) en pinto #09 kaj mi jam selektis por uzi la pinton #11 por la tensio kion programo povas aliigi.

Subaj fotoj el iom aliaj anguloj espereble bone montras ke en GPIO-pintoj uzitaj estas pintoj #02 kaj #06 por la ventumilo kaj pintoj #09 kaj #11 por la eksperimento.

En la suba maldekstra foto estas la paraj nombroj de pintoj ( #02, #04, #06, ... ) la pli subaj en la foto. En la suba dekstra foto estas la paraj pintoj pli proksimaj al fotilo.

Iom strikta loko ... la verdaj konduktiloj estas por la sekvanta eksperimento. Parenteze mi povas mencii ke la kvar "piedoj" de ventumilo estas el ligno bambuo.

Nun ni estas pretaj por kontinui per ioma eksperimento per GPIO -pintoj. Mi denove startas PuTTY en PC/Windows kaj konektas al RPi uzante kruce konektitan Ethernet -kablon. En "Tiny" mi komandas sudo python kaj komencas skribi denove. La sekvantajn liniojn de programo ni jam bone konas:

>>> import RPi.GPIO as GPIO
>>> GPIO.setmode(GPIO.BOARD)
>>> GPIO.setup(11, GPIO.OUT)

Nun mi skribas novan linion por konekti tutan tension al pinto #11

>>> GPIO.output(11, True)

La konsekvencon ni povas vidi en la apuda foto. Mezurilo indikas en pinto #11 tension 3,28 V aŭ 3,29 V, do praktike la jam antaŭe promesita 3,3 Voltoj.

Mi povas nuligi la tension en pinto #11 al 0 voltoj per nova linio da teksto GPIO.output(11, False) kaj la tensio tuj falas al nulo.

Fine mi afable skribas GPIO.cleanup() por remeti la GPIO al la origina stato.

Ĉi tia do estis mia unua praktika eksperimento kun la GPIO-pintoj. Tre simpla testo, sed kun konvena forta fortigilo kaj aliaj konvenaj aranĝoj oni povus funkciigi eĉ grandan elektran maŝinon per ĉi tia simpla programo kaj per la gracila elektra kurento kion la RPi-komputileto kapablas doni.

Batalo kontinuos!

Kaj certe fine .......... NI VENKOS!

La Ambasadoro en Finnlando
de sendependa nacio
Mueleja Insulo


Menuo
Ĉefa paĝo (finna lingvo)