2 būdai, kaip pridėti mygtuką prie „Raspberry Pi“ projekto

2 būdai, kaip pridėti mygtuką prie „Raspberry Pi“ projekto

Išmokus naudotis „GPIO“ kaiščiais „Raspberry Pi“, atsiveria visas galimybių pasaulis. Pagrindiniai principai, išmokti pradedantiesiems projektams, atveria kelią į naudingas „pasidaryk pats“ elektronikos ir programavimo žinias.





Ši pamoka parodys du būdus, kaip pridėti mygtuką prie „Raspberry Pi“ projekto. Mygtukas bus naudojamas šviesos diodui valdyti. Rašytines instrukcijas rasite po vaizdo įrašu.





Jums reikės

Norėdami pradėti, įsitikinkite, kad turite šiuos komponentus:





  • 1 x Raspberry Pi (tinka bet kas, šioje pamokoje naudojamas 3B modelis)
  • 1 x mygtukas
  • 1 x LED
  • 1 x 220 omų rezistorius (didesnės vertės tinka, jūsų šviesos diodas bus tik silpnesnis)
  • 1 x duonos lenta
  • Prijunkite laidus

Surinkę turėtumėte turėti komponentus, kurie atrodo maždaug taip:

Jums taip pat reikės SD kortelės su įdiegta „Raspbian“ operacine sistema. Greičiausias būdas tai padaryti yra naudojant NOOBS (New Out Of the Box Software) vaizdą. Instrukcijos, kaip tai padaryti, pateikiamos šiame vaizdo įraše:



Grandinės nustatymas

Norėdami sukurti grandinę, naudosite „Pi“ GPIO kaiščius, o jei esate nepažįstami, mūsų Raspberry Pi GPIO kaiščių vadovas pades. Grandinė čia yra beveik tokia pati kaip ir ankstesnėje Raspberry Pi LED projektas , pridėjus mygtuką, kurį naudosite šiandien.

Nustatykite grandinę pagal šią schemą:





  • The 5v ir GND kaiščiai jungiami prie duonos lentos maitinimo bėgelių.
  • 12 kaištis (GPIO 18) jungiasi prie teigiamo šviesos diodo kojelės.
  • Viena koja rezistorius pritvirtinamas prie neigiamo šviesos diodo kojelės, o kita kojelė pritvirtinama prie duonos lentos įžeminimo bėgio.
  • 16 kaištis (GPIO 23) pritvirtinamas prie vienos mygtuko pusės, kita - prie duonos lentos įžeminimo bėgio.

Kai jis bus nustatytas, štai kaip jis turėtų atrodyti:

Patikrinkite savo grandinę ir įsitikinkite, kad ji teisinga, tada įjunkite „Raspberry Pi“.





1 metodas: RPi.GPIO biblioteka

Kai „Pi“ paleidžiamas, eikite į meniu ir pasirinkite Programavimas> Thonny Python IDE . Bus atidarytas naujas „Python“ scenarijus. Jei esate visiškai naujas „Python“, tai puiki kalba pradedantiesiems ir yra daug puikių vietų, kuriose galite sužinoti daugiau apie „Python“, kai baigsite šią pamoką!

Pradėkite importuodami RPi.GPIO biblioteką ir nustatydami plokštės režimą.

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

Dabar deklaruokite šviesos diodų ir mygtukų skaičių kintamuosius.

ledPin = 12
buttonPin = 16

Atkreipkite dėmesį, kad kadangi lentos režimas yra nustatytas į LENTA mes naudojame PIN kodus, o ne GPIO numerius. Jei tai jums kelia painiavą, „Raspberry Pi“ išsidėstymo diagrama gali padėti ją išsiaiškinti.

Mygtuko nustatymas

Atėjo laikas nustatyti GPIO kaiščius. Nustatykite šviesos diodo kaištį į išvestį, o mygtuko kaištį-įvesti su ištraukiamuoju rezistoriumi

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

Tekstas po GPIO.IN nurodo vidinis traukimo rezistorius iš Raspberry Pi. Turite tai įjungti, kad iš mygtuko gautumėte aiškų skaitymą. Kadangi mygtukas eina į įžeminimo kaištį, mums reikia ištraukimo rezistoriaus, kuris laikytų įvesties kaištį AUKŠTĄ, kol paspausite.

Prieš tęsdami, pažvelkime į traukimo ir nuleidimo rezistorius.

Pertrauka: ištraukite/nuleiskite rezistorius

Kai sukonfigūruojate GPIO kaištį įvesti, jis nuskaito tą kaištį, kad nustatytų jo būseną. Šioje grandinėje turite perskaityti, ar yra kaištis AUKŠTAS arba ŽEMA kad suaktyvintų šviesos diodą, kai paspaudžiamas mygtukas. Tai būtų paprasta, jei tai būtų vienintelės būsenos, kurias gali turėti kaištis, bet, deja, yra trečioji būsena: PLAUKIANTIS .

Plūduriuojančio kaiščio vertė yra tarp aukšto ir žemo, todėl įvestis veikia nenuspėjamai. Pritraukimo/nusileidimo rezistoriai tai išsprendžia.

Aukščiau pateiktas vaizdas yra supaprastinta mygtuko ir „Raspberry Pi“ schema. GPIO kaištis jungiamas prie žemės per mygtuką. Vidinis pritraukimo rezistorius pritvirtina GPIO kaištį prie vidinio „Pi“ maitinimo šaltinio. Ši srovė teka ir kaištis saugiai ištraukiamas iki HIGH.

Paspaudus mygtuką, GPIO kaištis jungiasi tiesiai prie įžeminimo kaiščio, o mygtukas nuskaito žemai.

Ištraukiami rezistoriai skirti jungikliui prijungus prie maitinimo kaiščio. Šį kartą vidinis rezistorius pritvirtina GPIO kaištį prie žemės, laikydamas žemai, kol paspausite mygtuką.

Pritraukimo ir ištraukimo rezistorių teorija iš pirmo žvilgsnio yra paini, tačiau svarbu turėti žinių dirbant su mikrovaldikliais. Kol kas nesuprantate, nesijaudinkite!

Tęskime ten, kur baigėme.

Programos ciklas

Tada nustatykite programos ciklą:

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

The o Tiesa kilpa nuolat paleidžia joje esantį kodą, kol baigsime programą. Kiekvieną kartą kilpomis jis atnaujina buttonState skaitydami įvestį iš buttonPin . Kol mygtukas nespaudžiamas, jis lieka AUKŠTAS .

Paspaudus mygtuką, buttonState tampa ŽEMA . Tai sukelia jei pareiškimas , nuo Netiesa yra tas pats kaip ŽEMA , ir šviesos diodas įsijungia. The Kitas teiginys išjungia šviesos diodą, kai mygtukas „PIN“ nėra klaidingas.

Išsaugokite ir paleiskite scenarijų

Išsaugokite scenarijų spustelėdami Failas> Išsaugoti kaip ir pasirenkant failo pavadinimą. Eskizą galite paleisti spustelėję žalią spalvą žaisti mygtuką „Thonny“ įrankių juostoje.

Dabar paspauskite mygtuką ir jūsų šviesos diodas turėtų užsidegti! Paspauskite raudoną Sustabdyti bet kuriuo metu sustabdyti programą

Jei kyla sunkumų, kruopščiai patikrinkite savo kodą ir grandinės sąranką, ar nėra klaidų, ir bandykite dar kartą.

2 metodas: „GPIO Zero Library“

RPi.GPIO biblioteka yra fantastiška, tačiau bloke yra naujas vaikas. „GPIO Zero Library“ buvo sukūrė „Raspberry Pi“ bendruomenės vadovas Benas Nuttallas siekiant supaprastinti kodą ir lengviau jį skaityti bei rašyti.

Norėdami išbandyti naują biblioteką, atidarykite naują „Thonny“ failą ir importuokite biblioteką.

from gpiozero import LED, Button
from signal import pause

Pastebėsite, kad neimportavote visos bibliotekos. Kadangi naudojate tik šviesos diodą ir mygtuką, jums reikia tik tų scenarijaus modulių. Taip pat importuojame Pauzė iš signalų bibliotekos, kuri yra „Python“ biblioteka renginiams valdyti.

„GPIO Zero“ nustatyti kaiščius yra daug lengviau:

led = LED(18)
button = Button(23)

Kadangi „GPIO Zero“ bibliotekoje yra LED ir mygtuko moduliai, jums nereikia nustatyti įėjimų ir išėjimų, kaip anksčiau. Jūs pastebėsite, kad nors kaiščiai nepasikeitė, skaičiai čia skiriasi nuo aukščiau pateiktų. Taip yra todėl, kad „GPIO Zero“ naudoja tik GPIO kaiščių numerius (dar žinomus kaip „Broadcom“ arba „BCM“ numeriai).

kaip paleisti tą pačią programą du kartus vienu metu

Likusi scenarijaus dalis yra tik trys eilutės:

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

The Pauzė() skambinti čia tiesiog neleidžia scenarijui išeiti, kai jis pasiekia apačią. Dviejų mygtukų įvykiai suaktyvinami kiekvieną kartą paspaudus ir atleidus mygtuką. Išsaugokite ir paleiskite scenarijų ir pamatysite tą patį rezultatą kaip ir anksčiau!

Du būdai, kaip pridėti mygtuką prie „Raspberry Pi“

Iš dviejų mygtukų nustatymo būdų GPIO nulinis metodas atrodo lengviausias. Vis dar verta sužinoti apie RPi.GPIO biblioteką kaip dauguma pradedančiųjų „Raspberry Pi“ projektų panaudok tai. Kad ir koks paprastas būtų šis projektas, žinias galima panaudoti daugeliui dalykų.

GPIO kaiščių naudojimas yra puikus būdas išmokti ir išrasti savo įrenginius, tačiau tai toli gražu ne viskas, ką galite padaryti su „Pi“. Mūsų neoficialus „Raspberry Pi“ vadovas yra kupinas kūrybinių idėjų ir vadovėlių, kuriuos galite išbandyti patys! Norėdami sužinoti kitą panašią pamoką, patikrinkite kaip sukurti „Wi-Fi“ prijungimo mygtuką .

Dalintis Dalintis „Tweet“ Paštu 5 patarimai, kaip perkrauti „VirtualBox Linux“ mašinas

Pavargote nuo prastų virtualių mašinų našumo? Štai ką turėtumėte padaryti, kad padidintumėte „VirtualBox“ našumą.

Skaityti toliau
Susijusios temos
  • Pasidaryk pats
  • Raspberry Pi
  • Python
  • GPIO
  • „Pasidaryk pats“ projekto vadovėliai
Apie autorių Ianas Buckley(Paskelbti 216 straipsniai)

Ianas Buckley yra laisvai samdomas žurnalistas, muzikantas, atlikėjas ir vaizdo įrašų prodiuseris, gyvenantis Berlyne, Vokietijoje. Kai jis nerašo ar ne scenoje, jis vilioja „pasidaryk pats“ elektroniką ar kodą, tikėdamasis tapti pamišusiu mokslininku.

Daugiau iš Ian Buckley

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia