2 načina dodavanja gumba vašem projektu Raspberry Pi

2 načina dodavanja gumba vašem projektu Raspberry Pi

Učenje korištenja GPIO pinova na vašem Raspberry Pi otvara cijeli svijet mogućnosti. Temeljna načela naučena kroz početničke projekte utiru put prema korisnom znanju i o DIY elektronici i programiranju.





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





Trebat će vam

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





  • 1 x Raspberry Pi (Bilo što, model 3B se koristi u ovom vodiču)
  • 1 x tipkalo
  • 1 x LED
  • 1 x 220 Ohm otpornik (veće vrijednosti su u redu, vaša LED dioda će samo biti prigušenija)
  • 1 x Oglasna ploča
  • Spojite žice

Kad se jednom skupe, trebali biste imati komponente koje izgledaju otprilike ovako:

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



Postavljanje kruga

Za izradu kruga ćete koristiti GPIO pinove Pi -a, a ako vam nisu poznati naši vodič za Raspberry Pi GPIO pinove će pomoći. Ovdje je krug gotovo isti kao u našem prethodnom Raspberry Pi LED projekt , s dodatkom gumba koji ćete koristiti danas.

Postavite svoj krug prema ovom dijagramu:





  • The 5v i GND pinovi se spajaju na vodilice napajanja.
  • Pin 12 (GPIO 18) spaja se na pozitivni krak LED -a.
  • Jedna noga od otpornik pričvršćuje se na negativni krak LED -a, a druga noga na uzemljenu ploču matične ploče.
  • Pin 16 (GPIO 23) pričvršćuje se na jednu stranu gumba, druga strana se pričvršćuje na tlocrt ploče.

Kad se postavi, evo kako bi to trebalo izgledati:

Provjerite je li vaš krug ispravan, a zatim uključite Raspberry Pi.





Metoda 1: Knjižnica RPi.GPIO

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

Počnite uvozom biblioteke RPi.GPIO i postavljanjem načina rada ploče.

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)

Sada deklarirajte varijable za LED brojeve i brojeve pinova gumba.

ledPin = 12
buttonPin = 16

Imajte na umu da budući da je način rada ploče postavljen na ODBOR koristimo pin brojeve umjesto GPIO brojeva. Ako vas to zbunjuje, Raspberry Pi pinout grafikon može vam pomoći da to razjasnite.

Postavljanje gumba

Vrijeme je za postavljanje GPIO pinova. Postavite LED pin na izlaz, a iglu na gumb za ulaz pomoću pull-up otpornika

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

Tekst nakon GPIO.IN odnosi se na unutarnji pull-up otpornik od maline Pi. To morate omogućiti da biste dobili čisto očitavanje s gumba. Budući da tipka ide na uzemljenje, potreban nam je otpornik za uvlačenje kako bi se ulazni pin držao VISOKO dok ga ne pritisnete.

Prije nego što nastavimo, pogledajmo pull-up i pull-down otpornike.

Pauza: Povucite/povucite otpornike

Kada konfigurirate GPIO pin za unos, on čita taj pin kako bi utvrdio njegovo stanje. U ovom krugu morate pročitati je li pin VISOKO ili NISKA za aktiviranje LED diode kada se pritisne tipka. To bi bilo jednostavno da su to jedina stanja koja pin može imati, ali nažalost postoji treće stanje: PLIVAJUĆI .

Plutajući pin ima vrijednost između visoke i niske, zbog čega ulaz djeluje nepredvidljivo. Pull-up/pull-down otpornici to rješavaju.

Gornja slika je pojednostavljeni dijagram gumba i Raspberry Pi. GPIO pin se spaja na masu putem gumba. Unutarnji pull-up otpornik spaja GPIO pin na unutarnje Pi napajanje. Ova struja teče i pin je sigurno povučen do VISOKOG.

Kada pritisnete gumb, GPIO pin se izravno povezuje s uzemljenjem, a tipka glasi nisko.

Povučni otpornici služe za to kada je prekidač spojen na utikač za napajanje. Ovaj put, unutarnji otpornik pričvršćuje GPIO pin na masu, držeći LOW sve dok ne pritisnete gumb.

Teorija otpornika na povlačenje i na povlačenje na prvi je pogled zbunjujuća, ali važno znanje koje morate imati pri radu s mikrokontrolerima. Za sada, ako vam nije sasvim jasno, ne brinite!

Nastavimo tamo gdje smo stali.

Programska petlja

Zatim postavite programsku petlju:

while True:
buttonState = GPIO.input(buttonPin)
if buttonState == False:
GPIO.output(ledPin, GPIO.HIGH)
else:
GPIO.output(ledPin, GPIO.LOW)

The dok je Istina loop neprestano pokreće kôd unutar njega sve dok ne završimo program. Svaki put kad se petlja ažurira buttonState čitanjem unosa iz buttonPin . Dok se gumb ne pritisne, ostaje VISOKO .

Nakon što pritisnete gumb, buttonState postaje NISKA . To pokreće if izjava , od Netočno je isto što i NISKA , i LED se uključuje. The drugo izjava isključuje LED kad god buttonPin nije False.

Spremite i pokrenite skriptu

Spremite skriptu klikom na Datoteka> Spremi kao i odabiru naziva datoteke. Skicu možete pokrenuti klikom na zelenu boju igra gumb na alatnoj traci Thonny.

Sada pritisnite gumb i vaša će LED dioda zasvijetliti! Pritisnite crvenu Stop u bilo kojem trenutku za zaustavljanje programa

Ako imate poteškoća, temeljito provjerite ima li pogrešaka u kodu i postavkama kola i pokušajte ponovno.

Metoda 2: GPIO Zero Library

Knjižnica RPi.GPIO je fantastična, ali u bloku je novo dijete. Knjižnica GPIO Zero bila je stvorio upravitelj zajednice Raspberry Pi Ben Nuttall s namjerom pojednostavljenja koda i lakšeg čitanja i pisanja.

Za isprobavanje nove knjižnice otvorite novu Thonny datoteku i uvezite knjižnicu.

from gpiozero import LED, Button
from signal import pause

Primijetit ćete da niste uvezli cijelu knjižnicu. Budući da koristite samo LED diodu i gumb, potrebni su vam samo oni moduli u skripti. Također uvozimo Pauza iz knjižnice signala, koja je Pythonova knjižnica za upravljanje događajima.

Postavljanje pinova mnogo je lakše s GPIO Zero:

led = LED(18)
button = Button(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 se brojevi razlikuju od gore navedenih. To je zato što GPIO Zero koristi samo GPIO PIN brojeve (poznate i kao Broadcom ili BCM brojevi).

kako napraviti prilagođene kartice u stolnom simulatoru

Ostatak scenarija je samo tri retka:

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

The pauza() poziv ovdje jednostavno zaustavlja izlaz skripte kada dosegne dno. Događaji s dva gumba aktiviraju se svaki put kada se gumb pritisne i otpusti. Spremite i pokrenite skriptu i vidjet ćete isti rezultat kao i prije!

Dva načina dodavanja gumba u Raspberry Pi

Od dva načina postavljanja gumba, metoda GPIO Zero čini se najjednostavnijom. Još je vrijedno učiti o biblioteci RPi.GPIO kao većina početničkih projekata Raspberry Pi iskoristi. Koliko god ovaj projekt bio jednostavan, znanje se može koristiti za brojne stvari.

Korištenje GPIO pinova odličan je način za učenje i izmišljanje vlastitih uređaja, ali daleko od svega što možete učiniti s Pi. Naš neslužbeni vodič kroz Raspberry Pi prepun je kreativnih ideja i vodiča koje možete isprobati i sami! Za još jedan ovakav vodič, provjerite kako napraviti gumb za Wi-Fi vezu .

Udio Udio Cvrkut E -pošta 5 savjeta za nadopunu vaših VirtualBox Linux strojeva

Umorni ste od loših performansi koje nude virtualni strojevi? Evo što biste trebali učiniti kako biste povećali performanse VirtualBox -a.

Pročitajte Dalje
Povezane teme
  • Uradi sam
  • Malina Pi
  • Piton
  • GPIO
  • Vodiči za DIY projekte
O autoru Ian Buckley(216 objavljenih članaka)

Ian Buckley je slobodni novinar, glazbenik, izvođač i video producent koji živi u Berlinu, Njemačka. Kad ne piše ili je na pozornici, petlja s DIY elektronikom ili kodom u nadi da će postati ludi znanstvenik.

Više od Iana Buckleyja

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu