Më parë këtë vit ju patët një vizitë në GPIO të Mjedisit Pi dhe gjithashtu rekomanduat disa borde me të vërtetë të dobishme për identifikimin e numrave pin. Sot vazhdojmë këtë temë dhe fillojmë të përdorim këto kunja të kombinuara me kodin dhe harduerin.
GPIO është mënyra se si Llambë Pi bisedon me botën e jashtme - "gjëra të vërteta" - duke përdorur kodin për të programuar sinjalet dhe tensionet drejt dhe nga header me 40-pin.
Kodimi me GPIO është mjaft i thjeshtë për të filluar, sidomos për projektet fillestare siç janë LEDs dhe buzzers. Me vetëm disa komponentë dhe disa rreshta të kodit ju mund të ndizni ose të blini një LED si pjesë e projektit tuaj.
Ky artikull do t'ju tregojë se çfarë keni nevojë për të ndezur një LED duke përdorur kodin Python në Raspberry Pi tuaj, duke përdorur metodën tradicionale 'RPi.GPIO'.
01 nga 04
Çfarë keni nevojë
Këtu është një listë e gjithçkaje që ju nevojitet për këtë projekt të vogël fillestar. Ju duhet të jeni në gjendje të gjeni këto objekte në dyqanin tuaj të preferuar të krijuesit ose në faqet e ankandeve online.
- Një stacion i Raspberry Pi që drejton Raspbian më të fundit (Pi, ekran, tastierë, mouse, energji, kartë SD - të gjitha të lidhur)
- Një pllakë e vogël
- Një LED 5mm
- Rezistor 330 ohm
- 2 kabllo mashkull-femër
02 nga 04
Krijo Qarkun - Hapi 1
Ne do të përdorim 2 këmbë GPIO për këtë projekt, një kunj tokësor (pin fizik 39) për këmbën e terrenit të LED-it dhe një GPIO GPIO (GPIO 21, nyja fizike 40) për të fuqizuar LED-in - por vetëm kur ne vendosim të - cili është vendi ku futet kodi.
Së pari, fikni Pi tuaj të mjedrës. Tani, duke përdorur telat e lidhësit, lidhni pinin e terrenit në një korsi në boshllëkun tuaj. Tjetra bëj të njëjtën gjë për pinin GPIO, që lidhet me një korsi të ndryshme.
03 nga 04
Krijo Qarkun - Hapi 2
Tjetra ne shtoni LED dhe rezistencë në qark.
LED-et kanë polaritet - që do të thotë se ato duhet të lidhen në një mënyrë të caktuar. Ata zakonisht kanë një këmbë më të gjatë, e cila është këmbë anode (pozitive), dhe zakonisht një avantazh i sheshtë në kokën plastike LED, e cila tregon këmbën katodike (negative).
Një rezistencë përdoret për të mbrojtur të dy LED-et nga marrja e shumë e tanishme dhe pin GPIO nga 'dhënia' e tepërt - gjë që mund të dëmtojë të dyja.
Ekziston një grimë e një vlerësimi gjenerik të rezistencës për LEDs standarde - 330ohm. Ka disa matematika prapa kësaj, por për momentin le të përqendrohemi në projektin - gjithmonë mund të shikoni në ohms ligjin dhe tema të lidhura më pas.
Lidhni një këmbë të rezistencës në korsinë e GND në bllokun tuaj, dhe këmbën tjetër të rezistencës në korsi të lidhur me pjesën më të shkurtër të ZHEL-it tuaj.
Pika më e gjatë e ZHEL tani duhet të bashkohet me korsi të lidhur me GPIO pin.
04 nga 04
Python GPIO Kodi (RPi.GPIO)
Për momentin kemi një qark të lidhur dhe të gatshëm për të shkuar, por ne nuk kemi thënë pin tonë GPIO për të dërguar ende ndonjë fuqi, kështu që LED juaj nuk duhet të ndizet.
Le të bëjmë një skedar Python për të treguar pin tonë GPIO për të dërguar disa energji për 5 sekonda dhe pastaj të ndalemi. Versioni i fundit i Raspbian do të ketë tashmë të instaluar bibliotekat e nevojshme GPIO.
Hapni një dritare terminali dhe krijoni një script të ri Python duke hyrë në komandën e mëposhtme:
sudo nano led1.pyKjo do të hapë një skedar bosh për ne për të futur kodin tonë. Shkruani vijat e mëposhtme:
#! / usr / bin / python # Importo bibliotekat që duhen importuar RPi.GPIO si kohë importimi GPIO # Vendos GPIO mode GPIO.setmode (GPIO.BCM) # Vendosni numrin LED GPIO LED = 21 # Vendosni pinin GPIO LED si një GPIO.setup (LED, GPIO.OUT) # Kthejeni GPIO pin në GPIO.output (LED, True) # Prit 5 sekonda time.sleep (5) # Fillo GPIO pin off GPIO.output (LED, False)Shtypni Ctrl + X për të ruajtur skedarin. Për të drejtuar skedarin, futni komandën e mëposhtme në terminal dhe shtypni enter:
sudo python led1.pyLED duhet të ndizet për 5 sekonda, pastaj të fiket, duke i dhënë fund programit.
Pse të mos përpiqeni të ndryshoni numrin 'time.sleep' për të ndezur LED për kohë të ndryshme, ose të provoni të ndryshoni 'GPIO.output (LED, True)' në 'GPIO.output (LED, False)' dhe shihni se çfarë ndodh?