2 veidi, kā pievienot pogu savam Raspberry Pi projektam

2 veidi, kā pievienot pogu savam Raspberry Pi projektam

Mācoties lietot GPIO tapas savā Raspberry Pi, paveras vesela iespēju pasaule. Pamatprincipi, kas apgūti iesācēju projektos, paver ceļu uz noderīgām zināšanām gan DIY elektronikā, gan programmēšanā.





Šī apmācība parādīs divus veidus, kā pievienot pogu savam Raspberry Pi projektam. Poga tiks izmantota, lai kontrolētu gaismas diodi. Rakstiskas instrukcijas ir pieejamas zem video.





Jums būs nepieciešams

Lai sāktu, pārliecinieties, vai jums ir šādas sastāvdaļas:





  • 1 x Raspberry Pi (derēs jebkurš, šajā apmācībā tiek izmantots modelis 3B)
  • 1 x spiedpoga
  • 1 x LED
  • 1 x 220 omu rezistors (augstākas vērtības ir piemērotas, jūsu gaismas diode būs tikai blāvāka)
  • 1 x maizes dēlis
  • Pievienojiet vadus

Pēc savākšanas jums vajadzētu būt komponentiem, kas izskatās apmēram šādi:

Jums būs nepieciešama arī SD karte ar instalētu Raspbian operētājsistēmu. Ātrākais veids, kā to izdarīt, ir NOOBS (New Out Of the Box Software) attēls. Norādījumi par to, kā to izdarīt, ir pieejami šajā videoklipā:



Ķēdes iestatīšana

Lai izveidotu ķēdi, jūs izmantosit Pi GPIO tapas, un, ja jūs tās nepazīstat, mūsu Raspberry Pi GPIO tapas ceļvedis palīdzēs. Ķēde šeit ir gandrīz tāda pati kā mūsu iepriekšējā Raspberry Pi LED projekts , pievienojot pogu, kuru izmantosit šodien.

Iestatiet ķēdi saskaņā ar šo diagrammu:





  • The 5v un GND tapas savienojas ar maizes dēļa barošanas sliedēm.
  • 12. tapa (GPIO 18) savienojas ar gaismas diodes pozitīvo kāju.
  • Viena kāja rezistors piestiprinās pie gaismas diodes negatīvās kājas, bet otra kājiņa - pie maizes dēļa zemes sliedes.
  • 16. tapa (GPIO 23) piestiprina pie vienas pogas puses, otra puse piestiprina pie maizes dēļa zemes sliedes.

Kad tas ir iestatīts, tam vajadzētu izskatīties šādi:

Pārbaudiet ķēdi, lai pārliecinātos, ka tā ir pareiza, un pēc tam ieslēdziet Raspberry Pi.





1. metode: RPi.GPIO bibliotēka

Kad Pi ir sāknējies, dodieties uz izvēlni un izvēlieties Programmēšana> Thonny Python IDE . Tiks atvērts jauns Python skripts. Ja esat pilnīgi jauns Python lietotājs, tā ir lieliska valoda iesācējiem, un pēc šīs apmācības pabeigšanas ir daudz lielisku vietu, kur uzzināt vairāk par Python!

Vispirms importējiet RPi.GPIO bibliotēku un iestatiet tāfeles režīmu.

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

Tagad paziņojiet LED un pogu tapu skaitļu mainīgos.

ledPin = 12
buttonPin = 16

Ņemiet vērā, ka, tā kā mums ir iestatīts tāfeles režīms VALDE mēs izmantojam PIN numurus, nevis GPIO numurus. Ja tas jūs mulsina, Raspberry Pi pinout diagramma var palīdzēt to noskaidrot.

Pogas iestatīšana

Ir pienācis laiks iestatīt GPIO tapas. Iestatiet LED tapu uz izeju, bet pogas tapu-ievadi ar uzvilkšanas rezistoru

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

Teksts aiz GPIO.IN attiecas uz iekšējais pievilkšanas rezistors no Raspberry Pi. Tas ir jāiespējo, lai no pogas iegūtu tīru lasījumu. Tā kā poga virzās uz zemējuma tapu, mums ir nepieciešams uzvilkšanas rezistors, lai turētu ievades tapu HIGH, līdz to nospiežat.

Pirms turpināt, apskatīsim uzvilkšanas un nolaišanas rezistorus.

Pārtraukums: pacelšanas/nolaišanas rezistori

Konfigurējot ievadīšanai GPIO tapu, tā nolasa šo tapu, lai noteiktu tā stāvokli. Šajā shēmā jums jālasa, vai tapa ir AUGSTS vai ZEMS lai iedarbinātu gaismas diodi, nospiežot pogu. Tas būtu vienkārši, ja tie būtu vienīgie stāvokļi, kas var būt tapai, bet diemžēl ir trešais stāvoklis: PELDOŠS .

Peldošās tapas vērtība ir starp augstu un zemu, tāpēc ievades darbība ir neparedzama. Pull-up/pull-down rezistori to atrisina.

Iepriekš redzamais attēls ir vienkāršota pogas un Raspberry Pi diagramma. GPIO tapa tiek savienota ar zemi caur pogu. Iekšējais pievilkšanas rezistors pievieno GPIO tapu iekšējam Pi barošanas avotam. Šī strāva plūst, un tapa ir droši izvilkta līdz HIGH.

Nospiežot pogu, GPIO tapa tiek savienota tieši ar zemējuma tapu, un poga rāda zemu līmeni.

Nolaižamie rezistori ir paredzēti, kad slēdzis ir pievienots strāvas tapai. Šoreiz iekšējais rezistors piestiprina GPIO tapu pie zemes, turot nospiestu LOW, līdz nospiežat pogu.

Pull-up un pull-down rezistoru teorija no pirmā acu uzmetiena ir mulsinoša, taču svarīgas zināšanas, kas jāzina, strādājot ar mikrokontrolleriem. Pagaidām, ja jūs to īsti nesaprotat, neuztraucieties!

Turpināsim tur, kur beidzām.

Programmas cilpa

Pēc tam iestatiet programmas cilpu:

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

The kamēr True cilpa nepārtraukti vada kodu tajā, līdz beidzam programmu. Katru reizi, kad tas tiek pārtraukts, tas tiek atjaunināts buttonState lasot ievadi no buttonPin . Kamēr poga netiek nospiesta, tā paliek AUGSTS .

Kad poga ir nospiesta, buttonState kļūst ZEMS . Tas izraisa ja paziņojums , kopš Nepatiess ir tāds pats kā ZEMS , un iedegas gaismas diode. The citādi paziņojums izslēdz LED ikreiz, kad pogas Piespraude nav nepatiesa.

Saglabājiet un palaidiet savu skriptu

Saglabājiet skriptu, noklikšķinot Fails> Saglabāt kā un izvēloties faila nosaukumu. Skici var izpildīt, noklikšķinot uz zaļās krāsas Spēlēt pogu Thonny rīkjoslā.

Tagad nospiediet pogu, un jūsu gaismas diodei vajadzētu iedegties! Nospiediet sarkano Apstāties jebkurā laikā, lai apturētu programmu

Ja rodas grūtības, rūpīgi pārbaudiet, vai kodā un ķēdes iestatījumos nav kļūdu, un mēģiniet vēlreiz.

2. metode: GPIO nulles bibliotēka

RPi.GPIO bibliotēka ir fantastiska, taču blokā ir jauns kazlēns. GPIO nulles bibliotēka bija izveidoja Raspberry Pi kopienas vadītājs Bens Nuttals ar mērķi padarīt kodu vienkāršāku un vieglāk lasāmu un rakstāmu.

Lai pārbaudītu jauno bibliotēku, atveriet jaunu Thonny failu un importējiet bibliotēku.

from gpiozero import LED, Button
from signal import pause

Jūs pamanīsit, ka neesat importējis visu bibliotēku. Tā kā jūs izmantojat tikai gaismas diodi un pogu, jums ir nepieciešami tikai šie moduļi skriptā. Mēs arī importējam Pauze no signālu bibliotēkas, kas ir Python bibliotēka notikumu pārvaldībai.

Izmantojot GPIO Zero, tapas ir daudz vieglāk iestatīt:

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

Tā kā GPIO Zero bibliotēkā ir gaismas diodes un pogas moduļi, jums nav jāiestata ieejas un izejas tāpat kā iepriekš. Jūs ievērosiet, ka, lai gan tapas nav mainījušās, skaitļi šeit atšķiras no iepriekš minētā. Tas ir tāpēc, ka GPIO Zero izmanto tikai GPIO pin numurus (pazīstami arī kā Broadcom vai BCM numuri).

kā uzzināt, vai cietais disks neizdodas

Pārējā skripta daļa ir tikai trīs rindas:

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

The pauze () zvans šeit vienkārši pārtrauc skripta iziešanu, kad tas sasniedz apakšā. Divu pogu notikumi tiek aktivizēti ikreiz, kad poga tiek nospiesta un atlaista. Saglabājiet un palaidiet savu skriptu, un jūs redzēsit tādu pašu rezultātu kā iepriekš!

Divi veidi, kā pievienot pogu Raspberry Pi

No diviem pogas iestatīšanas veidiem GPIO nulles metode šķiet vienkāršākā. Joprojām ir vērts uzzināt par RPi.GPIO bibliotēku kā visvairāk iesācēju Raspberry Pi projektu lieto to. Lai cik vienkāršs būtu šis projekts, zināšanas var izmantot vairākām lietām.

GPIO tapu izmantošana ir lielisks veids, kā iemācīties un izgudrot savas ierīces, taču tas nebūt nav viss, ko varat darīt ar Pi. Mūsu neoficiālais Raspberry Pi ceļvedis ir radošu ideju un pamācību pilns, ko varat izmēģināt pats! Lai iegūtu citu šādu apmācību, pārbaudiet kā izveidot pogu Wi-Fi savienojums .

Kopīgot Kopīgot Čivināt E -pasts 5 padomi, kā uzlādēt VirtualBox Linux iekārtas

Vai esat noguris no virtuālo mašīnu piedāvātās sliktās veiktspējas? Lūk, kas jums jādara, lai uzlabotu VirtualBox veiktspēju.

Lasīt Tālāk
Saistītās tēmas
  • DIY
  • Raspberry Pi
  • Python
  • GPIO
  • DIY projektu apmācības
Par autoru Īans Baklijs(Publicēti 216 raksti)

Īans Baklijs ir ārštata žurnālists, mūziķis, izpildītājs un video producents, kas dzīvo Berlīnē, Vācijā. Kad viņš neraksta vai nav uz skatuves, viņš ķeras pie DIY elektronikas vai koda, cerot kļūt par traku zinātnieku.

Vairāk no Īana Baklija

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu
Kategorija Diy