Reklaam

GPRO-nippide kasutamise õppimine oma Raspberry Pi-l avab terve hulga võimalusi. Algajate projektide käigus õpitud aluspõhimõtted sillutavad teed kasulike teadmiste omandamisele nii meisterdamise elektroonika kui ka programmeerimise alal.

See õpetus näitab teile kahte võimalust nupu lisamiseks projektile Raspberry Pi. Nuppu kasutatakse LED-i juhtimiseks. Kirjalikud juhised on saadaval video all.

Sa vajad

Alustamiseks veenduge, et teil on järgmised komponendid:

  • 1 x vaarikapiib (kõik õnnestub, selles õpetuses kasutatakse mudelit 3B)
  • 1 x surunupp
  • 1 x LED
  • 1 x 220 oomi takisti (kõrgemad väärtused on korras, teie LED jääb lihtsalt tuhmimaks)
  • 1 x leivatahvel
  • Haakige juhtmed kinni

Pärast kogumist peaksid teil olema komponendid, mis näevad välja umbes sellised:

Pi nupu õpetamiseks vajalikud osad

Teil on vaja ka SD-kaarti, kuhu on installitud Raspbiani opsüsteem. Kiireim viis selle tegemiseks on NOOBS-i (uus tarkvara väljastpoolt) pilt. Juhised selle kohta on selles videos:

Vooluringi seadistamine

Vooluringi tegemiseks kasutate Pi GPIO tihvte ja kui te pole nendega tuttav, siis meie

instagram viewer
juhend Raspberry Pi GPIO tihvtide juurde aitab. Siin olev vooluring on peaaegu sama, mis meie eelmises Projekt Raspberry Pi LED, koos nupuga, mida kasutate täna.

Seadistage vooluring vastavalt sellele skeemile:

Pi nupu õpetuse hõõrumisskeem
  • 5v ja GND nööpnõelad ühendatakse leivaplaadi jõuressidega.
  • 12. nööp (GPIO 18) ühendatakse LED-i positiivse jalaga.
  • Üks jalg takisti kinnitub LED-i negatiivse jala külge ja teine ​​jalg kinnitub leivalaua alusrööpale.
  • 16. kinnitus (GPIO 23) kinnitub nupu ühele küljele, teine ​​külg kinnitub leivalaua alusrööpale.

Pärast seadistamist peaks see välja nägema järgmiselt:

Vaarika Pi haakus nupule ja LED-lehvile.

Kontrollige vooluringi üle ja veenduge, et see on õige, ja lülitage siis sisse Raspberry Pi.

1. meetod: RPi. GPIO raamatukogu

Kui Pi on käivitunud, minge menüüsse ja valige Programmeerimine> Thonny Python IDE. Avaneb uus Pythoni skript. Kui olete Pythoni täiesti uus tegija, on see suurepärane keel algajatele ja neid on ka teisigi palju häid kohti, kus Pythoni kohta rohkem teada saada pärast selle õpetuse kasutamist!

Thonny Python IDE

Alustage RPi importimist. GPIO raamatukogu ja tahvlirežiimi seadmine.

impordi RPi. GPIO kui GPIO GPIO.setmode (GPIO.BOARD)

Nüüd deklareerige LED-ide ja nuppude numbrite muutujad.

ledPin = 12. nuppuPin = 16. 

Pange tähele, et kuna meil on pardalirežiim seatud LAUD me kasutame GPIO-numbrite asemel pin-numbreid. Kui see on teile segane, aitab Raspberry Pi pinout-diagramm selle selgeks teha.

Minu Pi Pinout

Nupu seadistamine

On aeg GPIO tihvtid seadistada. Seadke LED-tihvt väljundisse ja nööpnõel sisendisse tõmbetakisti abil

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

GPIO.IN järel olev tekst viitab sisemine tõmbetakisti vaarika piist. Nupust puhta lugemise saamiseks peate selle lubama. Kuna nupp läheb maapinnale, vajame sisestustapi KÕRGE hoidmiseks tõmbetakistit, kuni seda vajutate.

Enne kui jätkame, vaatame tõmbetakisteid.

Vaheaeg: tõmmake takistid üles / alla

Kui konfigureerite sisendiks GPIO-pin, loeb see selle oleku määramiseks selle PIN-koodi. Selles vooluringis peate lugema, kas tihvt on KÕRGE või VÄHE nupu vajutamisel LEDi käivitamiseks. See oleks lihtne, kui need oleksid ainsad olekud, millel pin võib olla, kuid kahjuks on olemas kolmas olek: UJUV.

Ujuva tihvti väärtus on kõrge ja madala vahel, põhjustades sisendi toimimist ettearvamatult. Tõmbetakistid lahendavad selle.

Pull-Up takisti näiteskeem

Ülaltoodud pilt on nupu ja vaarikapihe lihtsustatud skeem. GPIO-tihvt ühendatakse nupuga maaga. Sisemine tõmbetakisti kinnitab GPIO-tihvti sisemise Pi toiteallika külge. See vool voolab ja tihvt tõmmatakse ohutult kõrgele.

Nupule vajutamisel ühendatakse GPIO-tihvt otse maanduspingega ja nuppu loetakse madalalt.

Tõmbetakisti näiteskeem

Tõmbetakistid on ette nähtud, kui lüliti on ühendatud toitepistikuga. Seekord kinnitab sisemine takisti GPIO tihvti maapinnale, hoides all LOW, kuni vajutad nuppu.

Pull-up ja pull-down takisti teooria on esmapilgul segane, kuid olulised teadmised, mis mikrokontrolleritega töötamisel peavad olema. Kui te pole sellest veel päris täpselt aru saanud, siis ärge muretsege!

Jätkame seal, kus pooleli jäime.

Programmisilm

Järgmisena seadistage programmi silmus:

samas kui tõsi: buttonState = GPIO.input (buttonPin), kui buttonState == vale: GPIO.output (ledPin, GPIO.HIGH) else: GPIO.output (ledPin, GPIO.LOW)

samas tõsi loop töötab selle sees olevat koodi pidevalt, kuni programmi lõpetame. Iga kord, kui see silmuseid lisab, värskendab nuppuState lugedes sisendit nuppuPin. Kuni nuppu ei vajutata, see jääb püsima KÕRGE.

Kui nuppu on vajutatud, nuppuState muutub VÄHE. See käivitab kui avaldus, alates Vale on sama nagu VÄHEja LED süttib. muud avaldus lülitab LED-i välja, kui nuppPin pole vale.

Salvestage ja käivitage oma skript

Salvestage skript, klõpsates Fail> Salvesta nimega ja faili nime valimine. Eskiisi saate käivitada, klõpsates rohelist Mängi nuppu Thonny tööriistaribal.

Thonny juhtpaneel

Vajutage nüüd nuppu ja teie LED peaks põlema! Vajutage punast Peatu nuppu igal ajal programmi peatamiseks

Nuppude testimise GIF

Kui teil on raskusi, kontrollige põhjalikult oma koodi ja vooluringi seadistust vigade suhtes ja proovige uuesti.

2. meetod: GPIO Zero Library

RPi. GPIO raamatukogu on fantastiline, kuid blokis on uus laps. GPIO Zero raamatukogu oli loodud Raspberry Pi kogukonnajuhi Ben Nuttalli poolt eesmärgiga muuta kood lihtsamaks ning seda on hõlpsam lugeda ja kirjutada.

Uue raamatukogu proovimiseks avage uus Thonny fail ja importige see.

alates gpiozero import LED, Button. alates signaali impordi pausist. 

Võite märgata, et te ei importinud kogu teeki. Kuna kasutate ainult LED-i ja nuppu, vajate skriptis ainult neid mooduleid. Toome ka Paus signaaliteegist, mis on Pythoni teek sündmuste haldamiseks.

Nuppude seadistamine on GPIO Zero abil palju lihtsam:

led = LED (18) nupp = nupp (23)

Kuna GPIO Zero teegis on LED-i ja nupu moodulid, ei pea te sisendeid ja väljundeid seadistama nagu varem. Võite märgata, et kuigi tihvtid pole muutunud, erinevad siin olevad numbrid ülalt. Seda seetõttu, et GPIO Zero kasutab ainult GPIO pin-numbreid (tuntud ka kui Broadcom- või BCM-numbrid).

Ülejäänud skript koosneb ainult kolmest reast:

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

paus () siin helistamine peatab skripti alt väljumisel selle väljumise. Kahe nupuga sündmused käivitatakse alati, kui nuppu vajutatakse ja vabastatakse. Salvestage ja käivitage skript ning näete sama tulemust kui varem!

Kaks võimalust nupu lisamiseks Vaarika Pi-le

Kahest nupu seadistamise viisist näib GPIO Zero meetod kõige lihtsam. RPi tasub veel tundma õppida. GPIO raamatukogu as kõige rohkem algajaid Raspberry Pi projekte kasuta seda. Nii lihtne kui see projekt ka pole, saab neid teadmisi kasutada mitmetes asjades.

GPIO-kontaktide kasutamine on suurepärane viis oma seadmete õppimiseks ja leiutamiseks, kuid see pole kaugeltki kõik, mida saate Pi-ga teha. Meie mitteametlik juhend Raspberry Pi kohta Vaarika Pi: mitteametlik juhendajaÜkskõik, kas olete praegune Pi omanik, kes soovib rohkem teada saada, või selle krediitkaardisuurusega seadme potentsiaalset omanikku, pole see juhend, mida soovite mööda lasta. Loe rohkem on loominguliste ideede ja õpetustega, mida saate ise proovida! Veel ühe sellise õpetuse saamiseks vaadake kuidas luua ühendatud WiFi-nuppu Kuidas luua omaenda WiFi-nupuga nupp ESP8266 abilSelles õpetuses saate teada, kuidas luua Wi-Fi-toega nuppu, kasutades NodeMCU ja IFTTT. Loe rohkem .

Ian Buckley on vabakutseline ajakirjanik, muusik, esineja ja videotootja, kes elab Berliinis, Saksamaal. Kui ta ei kirjuta ega laval, tikib ta DIY elektroonika või koodi abil lootuses saada hulluks teadlaseks.