2 tapaa lisätä painike Raspberry Pi -projektiisi

2 tapaa lisätä painike Raspberry Pi -projektiisi

Raspberry Pi -laitteen GPIO -nastojen käytön oppiminen avaa koko mahdollisuuksien maailman. Aloittelijaprojektien kautta opitut perusperiaatteet avaavat tietä hyödylliseen tietoon sekä itse -elektroniikasta että ohjelmoinnista.





Tämä opetusohjelma näyttää sinulle kaksi tapaa lisätä painike Raspberry Pi -projektiisi. Painikkeella ohjataan LED -valoa. Kirjalliset ohjeet löytyvät videon alta.





Tarvitset

Varmista aluksi, että sinulla on seuraavat osat:





  • 1 x Raspberry Pi (mikä tahansa sopii, tässä opetusohjelmassa käytetään mallia 3B)
  • 1 x painike
  • 1 x LED
  • 1 x 220 ohmin vastus (korkeammat arvot ovat kunnossa, LED -valo on vain himmeämpi)
  • 1 x leipälauta
  • Liitä johdot

Keräämisen jälkeen sinulla pitäisi olla komponentteja, jotka näyttävät tältä:

Tarvitset myös SD -kortin, johon on asennettu Raspbian -käyttöjärjestelmä. Nopein tapa tehdä tämä on NOOBS (New Out Of the Box Software) -kuva. Ohjeet tämän tekemiseen löytyvät tästä videosta:



Piirin asettaminen

Käytät Pi: n GPIO -nastoja piirin tekemiseen, ja jos et tunne niitä, meidän opas Raspberry Pi GPIO -nastoille auttaa. Piiri täällä on melkein sama kuin edellisessä Raspberry Pi LED -projekti , lisäämällä painike, jota käytät tänään.

Aseta piiri tämän kaavion mukaisesti:





  • The 5v ja GND nastat kytkeytyvät leipälevyn virtakiskoihin.
  • Nasta 12 (GPIO 18) liitetään LED -valon positiiviseen osaan.
  • Yksi jalka vastus kiinnitetään LED -valon negatiiviseen osaan ja toinen jalka kiinnitetään leipälevyn maadoituskiskoon.
  • Nasta 16 (GPIO 23) kiinnitetään painikkeen toiselle puolelle, toinen puoli kiinnitetään leipälevyn maadoituskiskoon.

Kun se on määritetty, sen pitäisi näyttää tältä:

Tarkista piirisi ja varmista, että se on oikea, ja käynnistä sitten Raspberry Pi.





Tapa 1: RPi.GPIO -kirjasto

Kun Pi on käynnistynyt, mene valikkoon ja valitse Ohjelmointi> Thonny Python IDE . Uusi Python -komentosarja avautuu. Jos olet täysin uusi Pythonissa, se on loistava kieli aloittelijoille ja monia hyviä paikkoja oppia lisää Pythonista tämän opetusohjelman jälkeen!

Aloita tuomalla RPi.GPIO -kirjasto ja asettamalla levytila.

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

Ilmoita nyt LED- ja painikkeiden numeroiden muuttujat.

ledPin = 12
buttonPin = 16

Huomaa, että koska meillä on levytila ​​asetettu HALLITUS Käytämme PIN -numeroita GPIO -numeroiden sijasta. Jos tämä on hämmentävää, Raspberry Pi pinout -kaavio voi auttaa sen selvittämisessä.

Painikkeen asettaminen

On aika asettaa GPIO -nastat. Aseta LED-nasta ulostuloon ja painikkeen nasta tuloon, jossa on vetovastus

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

GPIO.IN: n jälkeinen teksti viittaa sisäinen vetovastus Raspberry Pi: stä. Sinun on otettava tämä käyttöön saadaksesi puhtaan lukeman painikkeesta. Koska painike menee maadoitusnastaan, tarvitsemme vetovastus, joka pitää tulotappia HIGH kunnes painat sitä.

Ennen kuin jatkamme, katsotaan ylös- ja alasvetovastauksia.

Väliaika: Vedä ylös/vedä alas vastukset

Kun määrität GPIO -nastan syötettäväksi, se lukee sen ja määrittää sen tilan. Tässä piirissä sinun on luettava, onko nasta KORKEA tai MATALA käynnistää LED -valon, kun painiketta painetaan. Tämä olisi yksinkertaista, jos ne olisivat ainoat tilat, joita nastalla voi olla, mutta valitettavasti on olemassa kolmas tila: KELLUVA .

Kelluvan tapin arvo on korkean ja matalan välillä, mikä saa tulon toimimaan arvaamattomasti. Pull-up/pull-down -vastukset ratkaisevat tämän.

Yllä oleva kuva on yksinkertaistettu kaavio napista ja Raspberry Pi: stä. GPIO -nasta yhdistetään maahan painikkeen kautta. Sisäinen vetovastus kiinnittää GPIO-nastan sisäiseen Pi-virtalähteeseen. Tämä virta kulkee ja tappi vedetään turvallisesti korkealle.

Kun painat painiketta, GPIO -nasta muodostaa yhteyden suoraan maadoitusnastaan ​​ja painike lukee alhaalla.

Alasvetovastus on tarkoitettu, kun kytkin on kytketty virtatappiin. Tällä kertaa sisäinen vastus kiinnittää GPIO -nastan maahan ja pitää LOW -painiketta alhaalla, kunnes painat painiketta.

Pull-up- ja pull-down -vastuksen teoria on ensisilmäyksellä hämmentävä, mutta tärkeää tietoa mikro-ohjaimien kanssa työskenneltäessä. Jos et nyt oikein ymmärrä sitä, älä huoli!

Jatketaan siitä mihin jäimme.

Ohjelmasilmukka

Määritä seuraavaksi ohjelmasilmukka:

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

The kun taas Totta loop ajaa koodia jatkuvasti sen sisällä, kunnes lopetamme ohjelman. Joka kerta kun silmukka päivittää buttonState lukemalla syötteen -painiketta . Kun painiketta ei paineta, se pysyy KORKEA .

Kun painiketta on painettu, buttonState tulee MATALA . Tämä laukaisee jos lausunto , siitä asti kun Väärä on sama kuin MATALA ja LED syttyy. The muu lause sammuttaa LED -valon aina, kun painike Pin ei ole väärä.

Tallenna ja suorita skriptisi

Tallenna skriptisi napsauttamalla Tiedosto> Tallenna nimellä ja valitse tiedostonimi. Voit suorittaa luonnoksen napsauttamalla vihreää pelata -painiketta Thonny -työkalurivillä.

Paina nyt painiketta, ja LED -valosi pitäisi syttyä! Paina punaista Lopettaa -painiketta milloin tahansa ohjelman pysäyttämiseksi

Jos sinulla on vaikeuksia, tarkista koodi ja piirin asetukset perusteellisesti virheiden varalta ja yritä uudelleen.

Tapa 2: GPIO Zero Library

RPi.GPIO -kirjasto on fantastinen, mutta lohkossa on uusi lapsi. GPIO Zero Library oli luonut Raspberry Pi -yhteisöpäällikkö Ben Nuttall tarkoituksena on tehdä koodista yksinkertaisempi ja helpompi lukea ja kirjoittaa.

Voit testata uutta kirjastoa avaamalla uuden Thonny -tiedoston ja tuomalla kirjaston.

from gpiozero import LED, Button
from signal import pause

Huomaat, ettet tuonut koko kirjastoa. Koska käytät vain LEDiä ja painiketta, tarvitset vain ne moduulit komentosarjassa. Tuomme myös Tauko signaalikirjastosta, joka on Python -kirjasto tapahtumien hallintaan.

Nastat on paljon helpompi asentaa GPIO Zerolla:

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

Koska GPIO Zero -kirjastossa on moduuleja LEDille ja painikkeelle, sinun ei tarvitse määrittää tuloja ja lähdöjä kuten ennen. Huomaat, että vaikka nastat eivät ole muuttuneet, numerot ovat erilaiset kuin yllä. Tämä johtuu siitä, että GPIO Zero käyttää vain GPIO -pin -numeroita (tunnetaan myös nimellä Broadcom- tai BCM -numerot).

kuinka poistaa Ubuntu dual boot

Loput käsikirjoituksesta ovat vain kolme riviä:

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

The tauko() soita tähän yksinkertaisesti pysäyttää komentosarjan poistumisen, kun se saavuttaa pohjan. Kahden painikkeen tapahtumat käynnistyvät aina, kun painiketta painetaan ja vapautetaan. Tallenna ja suorita skriptisi ja näet saman tuloksen kuin ennen!

Kaksi tapaa lisätä painike Raspberry Pi: hen

Näistä kahdesta painikkeen asentamistavasta GPIO Zero -menetelmä näyttää olevan helpoin. RPi.GPIO -kirjastosta kannattaa silti oppia useimmat aloittelevat Raspberry Pi -projektit Käytä sitä. Niin yksinkertainen kuin tämä projekti on, tietoa voidaan käyttää moniin asioihin.

GPIO -nastojen käyttäminen on loistava tapa oppia ja keksiä omia laitteitasi, mutta se on kaukana kaikesta, mitä voit tehdä Pi: llä. Epävirallinen Vadelma Pi -oppaamme on täynnä luovia ideoita ja opetusohjelmia, joita voit kokeilla itse! Katso toinen tällainen opetusohjelma miten muodostetaan Wi-Fi-yhteyspainike .

Jaa Jaa Tweet Sähköposti 5 vinkkiä VirtualBox Linux -koneiden lataamiseen

Oletko kyllästynyt virtuaalikoneiden heikkoon suorituskykyyn? Tässä on, mitä sinun pitäisi tehdä parantaaksesi VirtualBox -suorituskykyäsi.

Lue seuraava
Liittyvät aiheet
  • tee-se-itse
  • Raspberry Pi
  • Python
  • GPIO
  • DIY -projektin opetusohjelmat
Kirjailijasta Ian Buckley(216 artikkelia julkaistu)

Ian Buckley on freelance -toimittaja, muusikko, esiintyjä ja videotuottaja, joka asuu Berliinissä, Saksassa. Kun hän ei kirjoita tai ei ole lavalla, hän hieroo DIY -elektroniikkaa tai koodia toivossa tulla hulluksi tiedemieheksi.

Lisää Ian Buckleyltä

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi