Oglas

Naučite koristiti GPIO igle na vašem Raspberry Pi otvara čitav svijet mogućnosti. Osnovni principi naučeni kroz početničke projekte probijaju put do korisnog znanja o DIY elektronici i programiranju.

Ovaj će vam vodič pokazati dva načina dodavanja gumba vašem Raspberry Pi projektu. Gumb će se koristiti za upravljanje LED. Pismene upute dostupne su ispod videozapisa.

Trebat će vam

Za početak provjerite da imate sljedeće komponente:

  • 1 x Raspberry Pi (Bilo što od toga, u ovom je vodiču upotrebljava se model 3B)
  • 1 x tipka
  • 1 x LED
  • Otpornik 1 x 220 Ohm (veće vrijednosti su u redu, LED će vam biti samo svjetliji)
  • 1 x ploča za kruh
  • Priključite žice

Kad se jednom okupe, trebali biste imati sastavne dijelove koji izgledaju ovako:

Dijelovi potrebni za Vodič za gumbe Pi

Trebat će vam i SD kartica s instaliranim Raspbian operativnim sustavom. Najbrži način za to je slika NOOBS (New Out Of Box Software). Upute za to su dostupne u ovom videu:

Postavljanje kruga

Koristite GPIO igle Pi za izradu kruga, a ako niste upoznati s njima, naš je vodič za Raspberry Pi GPIO igle

instagram viewer
će pomoći. Krug ovdje je gotovo isti kao u našem prethodnom Raspberry Pi LED projekt, s dodatkom gumba koji ćete koristiti danas.

Postavite svoj krug prema ovom dijagramu:

Fritzing Diagram za Pi gumb Tutorial
  • 5v i GND igle se spajaju na šine napajanja ploče.
  • Pin 12 (GPIO 18) spaja na pozitivnu nogu LED.
  • Jedna noga otpornik pričvršćuje se na negativnu nogu LED-a, a druga noga se pričvršćuje na uzemljenje šine.
  • Pin 16 (GPIO 23) pričvršćuje se s jedne strane gumba, druga strana se pričvršćuje na uzemljenje šine.

Jednom kada je postavljen, evo kako treba izgledati:

Malina Pi spojena je s gumbom i LED-om na ploči.

Provjerite svoj krug i provjerite je li ispravan, a zatim uključite svoj Raspberry Pi.

1. metoda: RPi. GPIO knjižnica

Nakon što se Pi digne, idite na izbornik i odaberite Programiranje> IDE Thonny Python. Otvorit će se nova Python skripta. Ako ste potpuno novi u Pythonu, to je sjajan jezik za početnike i postoje mnogo sjajnih mjesta da naučite više o Pythonu nakon što završite s ovim vodičem!

Thonny Python IDE

Započnite uvozom RPi-ja. GPIO biblioteka i postavljanje načina ploče.

uvoz RPi. GPIO kao GPIO GPIO.setmode (GPIO.BOARD)

Sada prijavite varijable za brojeve pinova LED i gumba.

ledPin = 12. gumbPin = 16. 

Imajte na umu da, budući da je postavljen način rada ploče ODBOR mi koristimo pin brojeve a ne GPIO brojeve. Ako vas to zbunjuje, rascjepna karta Raspberry Pi može vam pomoći u uklanjanju istih.

Moj Pi Pinout

Postavljanje gumba

Vrijeme je za postavljanje GPIO pinova. Podesite LED pin na izlaz, a pin gumba na ulaz s nadogradnim otpornikom

GPIO.setup (ledPin, GPIO.OUT) GPIO.setup (gumbPin, GPIO.IN, pull_up_down = GPIO.PUD_UP)

Tekst nakon GPIO.IN odnosi se na unutarnji vučni otpornik Raspberry Pi. To morate omogućiti da biste s gumba očistili čistu čitanje. Budući da tipka ide prema uzemljenoj osovinici, potreban nam je vučni otpornik da bi ulazni pin držao VISOKO dok ga ne pritisnete.

Prije nego što nastavimo, pogledajmo otporne i otporne otpornike.

Intermission: Otpornici prema gore / povlačenje prema dolje

Kad konfigurirate GPIO pin za unos, čita ga da bi odredio njegovo stanje. U ovom krugu trebate pročitati da li je igla HIGH ili LOW za aktiviranje LED-a kada se gumb pritisne. To bi bilo jednostavno kada bi to bile jedine države koje pin može imati, ali nažalost, postoji i treće stanje: PLUTAJUĆI.

Plutajući pin ima vrijednost između visokog i niskog, zbog čega ulaz djeluje nepredvidivo. Povlačenje / spuštanje otpornika to rješava.

Dijagram primjera otpornog na otpornik

Gornja slika je pojednostavljeni dijagram gumba i Raspberry Pi. GPIO pin se preko gumba povezuje s masom. Unutarnji vučni otpornik pričvršćuje GPIO pin na unutarnje Pi napajanje. Ta struja teče i osovina se sigurno podiže do VISOKOG.

Kada pritisnete gumb, GPIO pin se spaja izravno na uzemljenje, a gumb se čita na niskom.

Dijagram primjera padajućeg otpornika

Otporni otpornici postoje kada je prekidač spojen na utikač. Ovog puta, unutrašnji otpornik pričvršćuje GPIO pin na zemlju, držeći LOW dok ne pritisnete gumb.

Teorija povlačenja i spuštanja otpornika na prvi je pogled zbunjujuća, ali važno je znanje koje treba imati kada radite s mikrokontrolerima. Za sada, ako ga ne razumijete, ne brinite!

Nastavimo tamo gdje smo stali.

Programska petlja

Zatim postavite petlju programa:

dok je istina: buttonState = GPIO.input (buttonPin) ako buttonState == False: GPIO.output (ledPin, GPIO.HIGH) else: GPIO.output (ledPin, GPIO.LOW)

dok Istina petlja kontinuirano pokreće kod unutar nje dok ne okončamo program. Svaki put kada se zatvori, ažurira buttonState čitanjem ulaza iz buttonPin. Dok se ne pritisne gumb, ostaje HIGH.

Jednom kada pritisnete gumb, buttonState postaje LOW. To pokreće ako izjava, od god lažan isto je kao LOW, i LED se uključuje. drugo izjava isključuje LED kad god gumbPin nije lažan.

Spremite i pokrenite svoju skriptu

Spremite svoju skriptu klikom Datoteka> Spremi kao i odabir naziva datoteke. Skicu možete pokrenuti klikom na zeleno igra gumba na alatnoj traci Thonny.

Thonny Control Panel

Sada pritisnite gumb i LED vam mora svijetliti! Pritisnite crvenu Stop bilo kada zaustaviti program

Gif za testiranje gumba za gumb

Ako imate poteškoća, provjerite pogreške i pokušajte ponovo kod postavljanja kruga.

2. metoda: GPIO Zero knjižnica

RPi. GPIO knjižnica je fantastična, ali na bloku je novo dijete. GPIO Zero knjižnica je stvorio menadžer zajednice Raspberry Pi Ben Nuttall s namjerom da se kôd pojednostavi i olakša čitanje i pisanje.

Da biste isprobali novu knjižnicu, otvorite novu datoteku Thonny i uvezite biblioteku.

s LED-a za uvoz gpiozero-a, gumba. od pauze za uvoz signala. 

Primijetit ćete da niste uvezli čitavu biblioteku. Budući da koristite samo LED i tipku, potrebni su vam samo oni moduli u skripti. Također uvozimo Pauza iz biblioteke signala, koja je Python knjižnica za upravljanje događajima.

Postavljanje igara je puno lakše uz GPIO Zero:

vodio = LED (18) gumb = gumb (23)

Budući da knjižnica GPIO Zero ima module za LED i gumb, ne morate postavljati ulaze i izlaze kao prije. Primijetit ćete da iako se igle nisu promijenile, ovdje su brojevi različiti od gore. To je zato što GPIO Zero koristi samo GPIO PIN-ove brojeve (poznate i kao Broadcom ili BCM brojevi).

Ostatak skripte čine samo tri retka:

button.when_press = led.on. button.when_released = led.off pause ()

pauza() poziv ovdje jednostavno sprečava da skripta izlazi kad dosegne dno. Događaji s dva gumba pokreću se svaki put kada se gumb pritisne i otpusti. Spremite i pokrenite svoju skriptu i vidjet ćete isti rezultat kao i prije!

Dva načina za dodavanje gumba na Raspberry Pi

Iz dva načina postavljanja gumba, čini se da je metoda GPIO Zero najjednostavnija. Još uvijek vrijedi učiti o RPi-ju. GPIO knjižnica kao većina početničkih projekata Raspberry Pi iskoristi. Koliko je ovaj projekt jednostavan, znanje se može upotrijebiti za brojne stvari.

Korištenje GPIO igle odličan je način da naučite i izmislite vlastite uređaje, ali to je daleko od svega što možete učiniti s Pi-om. Naše neslužbeni vodič Raspberry Pi Raspberry Pi: Neslužbeni udžbenikBez obzira jeste li trenutni vlasnik Pi-a koji želi naučiti više ili ste potencijalni vlasnik ovog uređaja veličine kartice, ovo nije vodič koji želite propustiti. Čitaj više prepun je kreativnih ideja i tutorijala koje možete isprobati sami! Pogledajte još jedan takav udžbenik kako napraviti gumb spojen na Wi-Fi Kako napraviti svoj vlastiti gumb spojen na Wi-Fi pomoću ESP8266U ovom ćete vodiču naučiti kako stvoriti gumb s omogućenom Wi-Fi mrežom pomoću NodeMCU i IFTTT. Čitaj više .

Ian Buckley je slobodni novinar, glazbenik, izvođač i video producent koji živi u Berlinu, Njemačka. Kad ne piše ili ne govori na pozornici, bavi se uradi sam elektronikom ili kodom u nadi da će postati lud znanstvenik.