Skelbimas

Išmokus naudotis „Raspberry Pi“ GPIO segtukais, atsiveria visas galimybių pasaulis. Pagrindiniai principai, išmokti pradedantiesiems projektams, atveria kelią į naudingas žinias apie „pasidaryk pats“ elektroniką ir programavimą.

Ši instrukcija parodys du būdus, kaip pridėti mygtuką prie savo „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 (bet kuris padarys, šiame vadove naudojamas 3B modelis)
  • 1 x mygtukas
  • 1 x šviesos diodas
  • 1 x 220 omų rezistorius (didesnės vertės yra gerai, jūsų šviesos diodas tiesiog pritemdys)
  • 1 x Duonos lentos
  • Prikabinkite laidus

Surinkti turėtumėte komponentų, kurie atrodo maždaug taip:

„Pi Button Tutorial“ reikalingos dalys

Jums taip pat reikės SD kortelės su įdiegta „Raspbian“ operacine sistema. Greičiausias būdas tai padaryti yra naudojant NOOBS (nauja programinė įranga „Out Of the Box“). Instrukcijas, kaip tai padaryti, rasite šiame vaizdo įraše:

instagram viewer

Grandinės nustatymas

Norėdami naudoti kontūrą, naudosite Pi GPIO kaiščius, o jei jums nepažįstami, mūsų Raspberry Pi GPIO segtukų vadovas pades. Grandinė čia beveik nesiskiria nuo ankstesnės Raspberry Pi LED projektas, pridėjus mygtuką, kurį šiandien naudosite.

Nustatykite savo grandinę pagal šią schemą:

„Pi Button“ vadovėlio įbrėžimo schema
  • 5v ir GND kaiščiai jungiami prie lentos elektrinių bėgių.
  • 12 kaištis („GPIO 18“) jungiasi prie teigiamos šviesos diodo kojos.
  • Viena koja rezistorius pritvirtinama prie neigiamos šviesos diodo kojos, o kita koja pritvirtinama prie duonos lentos žemės bėgio.
  • 16 kaištis („GPIO 23“) pritvirtinama prie vienos mygtuko pusės, kita pusė pritvirtinama prie apatinio lentos bėgio.

Kai jis bus nustatytas, jis turėtų atrodyti taip:

Raspberry Pi užsikabino prie mygtuko ir šviesos diodo ant duonos lentos.

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

1 metodas: RPi. GPIO biblioteka

Įkėlę Pi, 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ų sužinoti daugiau apie Python kai baigsite šią mokymo programą!

„Thonny Python IDE“

Pradėkite importuodami RPi. GPIO biblioteka ir lentos režimo nustatymas.

importuoti RPi. GPIO kaip GPIO GPIO.setmode (GPIO.BOARD)

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

ledPin = 12. buttonPin = 16. 

Atminkite, kad kadangi lentos režimas yra nustatytas LENTA Mes naudojame PIN, o ne GPIO numerius. Jei tai jums kelia painiavą, „Raspberry Pi“ schema gali padėti ją išaiškinti.

Mano Pi Pinoutas

Mygtuko nustatymas

Laikas nustatyti GPIO kontaktus. Nustatykite šviesos diodo kaištį į išvestį, o mygtuko kaištį - įvesdami su traukiamu rezistoriumi

GPIO.setup (ledPin, GPIO.OUT) GPIO.setup (mygtukas „Pin“, GPIO.IN, „pull_up_down“ = GPIO.PUD_UP)

Tekstas po GPIO.IN nurodo vidinis traukiamasis rezistorius iš aviečių Pi. Jei norite, kad mygtukas būtų aiškus, jį turite įjungti. Kadangi mygtukas eina į žemės kaištį, mums reikia ištraukiamo rezistoriaus, kad įvesties kaištis būtų AUKŠTAS, kol jį paspausite.

Prieš pradėdami toliau, pažiūrėkime apie traukiamuosius ir nuleidžiamuosius rezistorius.

Pertrauka: Traukite aukštyn / žemyn rezistorius

Kai sukonfigūruojate GPIO PIN kodą, jis turi nuskaityti PIN kodą, kad nustatytų jo būseną. Šioje grandinėje turite perskaityti, ar nėra smeigtuko AUKŠTAS arba MAŽAI įjungti š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: Plūduriuojantis.

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

„Pull-Up“ rezistoriaus diagramos pavyzdys

Aukščiau pateiktas paveikslėlis yra supaprastinta mygtuko ir Raspberry Pi schema. GPIO kaištis jungiamas prie žemės per mygtuką. Vidinis traukiamasis rezistorius pritvirtina GPIO kaištį prie vidinio Pi maitinimo šaltinio. Ši srovė teka, o kaištis saugiai ištraukiamas į aukštą.

Kai paspaudžiate mygtuką, GPIO kaištis jungiasi tiesiai prie įžeminimo kaiščio, o mygtukas skaito žemai.

Patraukiamojo rezistoriaus diagramos pavyzdys

Patraukiamieji rezistoriai yra skirti jungikliui prijungti prie maitinimo kaiščio. Šį kartą vidinis rezistorius pritvirtina GPIO kaištį prie žemės, palaikydamas LOW, kol paspausite mygtuką.

„Pull-up“ ir „Pull-down“ rezistorių teorija iš pirmo žvilgsnio yra painiava, tačiau svarbios žinios, kurias reikia turėti dirbant su mikrovaldikliais. Kol kas dar nelabai suprantate, nesijaudinkite!

Tęskime ten, kur baigėme.

Programos ciklas

Tada nustatykite programos kilpą:

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

tuo tarpu Tiesa kilpa nuolat paleidžia kodą jo viduje, kol baigsime programą. Kiekvieną kartą, kai jis atsiranda, atnaujinamas buttonState skaitant įvestį iš mygtukas. Kol mygtukas nespaudžiamas, jis lieka AUKŠTAS.

Paspaudus mygtuką, buttonState tampa MAŽAI. Tai sukelia jei teiginys, nuo Melagingas yra tas pats kaip MAŽAI, o šviesos diodas užsidega. Kitas pareiškimas išjungia šviesos diodą, kai mygtukas „Pinin“ nėra klaidingas.

Įrašykite ir paleiskite scenarijų

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

„Thonny“ valdymo skydelis

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

Gif mygtukų paspaudimu

Jei kyla sunkumų, atidžiai patikrinkite, ar nėra kodo ir grandinės sąrankos, ar nėra klaidų, ir bandykite dar kartą.

2 būdas: „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 padaryti kodą paprastesnį, lengviau skaitomą ir rašomą.

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

iš „gpiozero import LED“, mygtukas. nuo signalo importo pauzės. 

Pastebėsite, kad neimportavote visos bibliotekos. Kadangi naudojate tik šviesos diodą ir mygtuką, scenarijuje reikia tik tų modulių. Mes taip pat importuojame Pauzė iš signalų bibliotekos, kuri yra „Python“ biblioteka, skirta įvykių valdymui.

Naudodami „GPIO Zero“, nustatykite kaiščius daug lengviau:

led = LED (18) mygtukas = mygtukas (23)

Kadangi „GPIO Zero“ bibliotekoje yra šviesos diodo ir mygtuko moduliai, jums nereikia nustatyti įėjimų ir išėjimų, kaip anksčiau. Pastebėsite, kad smeigtukai nepasikeitė, tačiau skaičiai čia skiriasi nuo viršaus. Taip yra todėl, kad „GPIO Zero“ naudoja tik GPIO PIN numerius (dar vadinamus „Broadcom“ arba BCM numeriais).

Likusią scenarijaus dalį sudaro tik trys eilutės:

button.when_pressed = led.on. button.when_released = led.off pauzė ()

Pauzė() skambinti čia tiesiog neleidžia scenarijui išeiti, kai jis pasiekia apačią. Dviejų mygtukų įvykiai suveikia kiekvieną kartą paspaudžiant ir atleidžiant 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ų mygtuko nustatymo būdų GPIO Zero metodas atrodo lengviausias. Dar verta sužinoti apie RPi. GPIO biblioteka kaip pradedantiesiems Raspberry Pi projektams panaudok tai. Kaip paprastas šis projektas, žinias galima panaudoti daugeliui dalykų.

GPIO segtukų naudojimas yra puikus būdas išmokti ir sugalvoti savo prietaisus, tačiau tai toli gražu nėra viskas, ką galite padaryti su Pi. Mūsų neoficialus „Raspberry Pi“ vadovas Raspberry Pi: Neoficialus vadovėlisNesvarbu, ar esate dabartinis „Pi“ savininkas, norintis sužinoti daugiau, ar potencialus šio kredito kortelės dydžio įrenginio savininkas, tai nėra vadovas, kurio norite praleisti. Skaityti daugiau kupinas kūrybinių idėjų ir vadovėlių, kuriuos galite išbandyti patys! Norėdami sužinoti apie kitą tokią mokymo programą, apsilankykite kaip padaryti prijungtą prie „Wi-Fi“ mygtuką Kaip susikurti savo „Wi-Fi“ mygtuką, naudojant ESP8266Šiame vadove sužinosite, kaip sukurti „Wi-Fi“ įgalintą mygtuką naudojant „NodeMCU“ ir „IFTTT“. Skaityti daugiau .

Ian Buckley yra laisvai samdomas žurnalistas, muzikantas, atlikėjas ir vaizdo įrašų prodiuseris, gyvenantis Berlyne, Vokietijoje. Kai jis nerašo ir nesirenka scenoje, jis pasidomi „pasidaryk pats“ elektronika ar kodu tikėdamasis tapti beprotišku mokslininku.