2 Mga paraan upang Magdagdag ng isang Button sa Iyong Proyekto ng Raspberry Pi

2 Mga paraan upang Magdagdag ng isang Button sa Iyong Proyekto ng Raspberry Pi

Ang pag-aaral na gamitin ang mga GPIO pin sa iyong Raspberry Pi ay magbubukas ng isang buong mundo ng mga posibilidad. Ang mga pangunahing prinsipyo na natutunan sa pamamagitan ng mga proyekto ng nagsisimula ay nagbibigay daan patungo sa kapaki-pakinabang na kaalaman sa parehong DIY electronics at programa.





Ipapakita sa iyo ng tutorial na ito ang dalawang paraan upang magdagdag ng isang pindutan sa iyong proyekto sa Raspberry Pi. Gagamitin ang pindutan upang makontrol ang isang LED. Ang mga nakasulat na tagubilin ay magagamit sa ibaba ng video.





Kakailanganin mong

Upang makapagsimula, tiyaking mayroon kang mga sumusunod na sangkap:





  • 1 x Raspberry Pi (Anumang gagawin, ang modelo ng 3B ay ginagamit sa tutorial na ito)
  • 1 x Push Button
  • 1 x LED
  • 1 x 220 Ohm Resistor (Mas mataas ang mga mas mataas na halaga, ang iyong LED ay magiging mas malabo)
  • 1 x Breadboard
  • I-hook up ang mga wire

Kapag natipon, dapat mayroon kang mga sangkap na mukhang ganito:

Kakailanganin mo rin ang isang SD card na naka-install ang operating system ng Raspbian. Ang pinakamabilis na paraan upang magawa ito ay sa imaheng NOOBS (New Out Of the Box Software). Ang mga tagubilin sa kung paano ito gawin ay magagamit sa video na ito:



Pag-set up ng Circuit

Gagamitin mo ang mga GPIO pin ng Pi upang gawin ang circuit, at kung hindi ka pamilyar sa kanila aming gabay sa mga pin ng Raspberry Pi GPIO Tutulungan. Ang circuit dito ay halos kapareho ng dati Proyekto ng Raspberry Pi LED , kasama ang pagdaragdag ng pindutan na iyong gagamitin ngayon.

I-set up ang iyong circuit alinsunod sa diagram na ito:





  • Ang 5v at GND ang mga pin ay kumonekta sa mga riles ng kuryente ng breadboard.
  • Pin 12 (GPIO 18) kumokonekta sa positibong binti ng LED.
  • Isang binti ng risistor nakakabit sa negatibong binti ng LED, at ang iba pang mga binti ay nakakabit sa ground rail ng breadboard.
  • Pin 16 (GPIO 23) nakakabit sa isang gilid ng pindutan, ang kabilang panig ay nakakabit sa ground rail ng breadboard.

Kapag na-set up na ito, narito kung paano ito dapat tingnan:

Suriin ang iyong circuit upang matiyak na ito ay tama, at pagkatapos ay i-power up ang iyong Raspberry Pi.





Paraan 1: Ang RPi.GPIO Library

Kapag na-boot ang Pi, magtungo sa menu at piliin ang Programming> Thonny Python IDE . Magbubukas ang isang bagong script ng Python. Kung ganap kang bago sa Python, ito ay isang mahusay na wika para sa mga nagsisimula at maraming magagandang lugar upang matuto nang higit pa tungkol sa Python pagkatapos mong magawa ang tutorial na ito!

Magsimula sa pamamagitan ng pag-import ng RPi.GPIO library, at itakda ang mode ng board.

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

Ngayon ideklara ang mga variable para sa mga numero ng LED at pindutan ng pindutan.

ledPin = 12
buttonPin = 16

Tandaan na dahil mayroon kaming itinakdang board mode BOARD ginagamit namin ang mga numero ng pin kaysa sa mga numero ng GPIO. Kung nakakalito sa iyo, ang isang tsart ng Raspberry Pi na pinout ay maaaring makatulong na malinis ito.

Pag-set up ng Button

Panahon na upang i-set up ang mga GPIO pin. Itakda ang LED pin sa output, at ang pindutan ng pin upang mag-input gamit ang isang pull-up risistor

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

Ang teksto pagkatapos ng GPIO.IN ay tumutukoy sa panloob na resistor ng pull-up ng Raspberry Pi. Kailangan mong paganahin ito upang makakuha ng isang malinis na pagbabasa mula sa pindutan. Dahil ang pindutan ay pupunta sa ground pin, kailangan namin ng isang pull-up risistor upang hawakan ang input pin na TAAS hanggang sa mapindot mo ito.

Bago tayo magpatuloy, tingnan natin ang mga pull-up at pull-down resistors.

Pagsalok: Pull Up / Pull Down Resistors

Kapag nag-configure ka ng isang GPIO pin upang mai-input, binabasa nito ang pin na iyon upang matukoy ang estado nito. Sa circuit na ito, kailangan mong basahin kung ang isang pin ay TAAS o MABABA upang ma-trigger ang LED kapag pinindot ang pindutan. Ito ay magiging simple kung iyon ang tanging mga estado na maaaring magkaroon ng isang pin, ngunit sa kasamaang palad, mayroong isang pangatlong estado: LUMULUTANG .

Ang isang lumulutang na pin ay may halaga sa pagitan ng mataas at mababa, na nagiging sanhi ng pag-input na kumilos nang hindi mahuhulaan. Malulutas ito ng pull-up / pull-down resistors.

Ang imahe sa itaas ay isang pinasimple na diagram ng isang pindutan at isang Raspberry Pi. Ang pin ng GPIO ay kumokonekta sa lupa sa pamamagitan ng pindutan. Ang panloob na resistor na pull-up ay nakakabit ang GPIO pin sa panloob na power supply ng Pi. Ang kasalukuyang daloy at ang pin ay ligtas na nakuha hanggang sa TAAS.

Kapag pinindot mo ang pindutan, ang pin ng GPIO ay kumokonekta nang direkta sa ground pin, at mababa ang basa ng pindutan.

Ang mga pull-down resistors ay para sa kung ang switch ay konektado sa power pin. Sa oras na ito, ang panloob na risistor ay nakakabit ang GPIO pin sa lupa, na humahawak sa LOW hanggang sa pinindot mo ang pindutan.

Ang teorya ng pull-up at Pull-down resistor ay nakalilito sa unang tingin, ngunit mahalagang kaalaman na mayroon kapag nagtatrabaho sa mga microcontroller. Sa ngayon, kung hindi mo masyadong naiintindihan ito, huwag mag-alala!

Ituloy natin kung saan tayo tumigil.

Ang Program Loop

Susunod, i-set up ang loop ng programa:

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

Ang habang Totoo Patuloy na pinapatakbo ng loop ang code sa loob nito hanggang sa wakasan namin ang programa. Sa tuwing mag-loop ito ina-update nito ang pindutan ng Estado sa pamamagitan ng pagbabasa ng input mula sa buttonPin . Habang ang pindutan ay hindi pinindot, mananatili ito TAAS .

Kapag ang pindutan ay pinindot, pindutan ng Estado nagiging MABABA . Ito ang nagpapalitaw ng kung pahayag , mula noon Mali ay katulad ng MABABA , at ang LED ay nakabukas. Ang iba pa pinapatay ng pahayag ang LED tuwing ang buttonPin ay hindi Mali.

I-save at Patakbuhin ang Iyong Script

I-save ang iyong script sa pamamagitan ng pag-click File> I-save Bilang at pagpili ng isang pangalan ng file. Maaari mong patakbuhin ang sketch sa pamamagitan ng pag-click sa berde Maglaro pindutan sa Thonny toolbar.

Ngayon pindutin ang pindutan, at ang iyong LED ay dapat na ilaw! Pindutin ang pula Tigilan mo na pindutan sa anumang oras upang ihinto ang programa

Kung nagkakaproblema ka, suriin nang mabuti ang iyong code at pag-setup ng circuit para sa mga error at subukang muli.

Paraan 2: GPIO Zero Library

Ang aklatan ng RPi.GPIO ay kamangha-mangha, ngunit may isang bagong bata sa bloke. Ang GPIO Zero Library ay nilikha ng manager ng pamayanan ng Raspberry Pi na si Ben Nuttall na may hangaring gawing mas simple ang code, at mas madaling basahin at isulat.

Upang subukan ang bagong library buksan ang isang bagong Thonny file, at i-import ang library.

from gpiozero import LED, Button
from signal import pause

Mapapansin mong hindi mo na-import ang buong library. Dahil gumagamit ka lamang ng isang LED at pindutan, kailangan mo lamang ang mga modyul na iyon sa script. Nag-a-import din kami I-pause mula sa signal library, na isang Python library para sa pamamahala ng kaganapan.

Ang pag-set up ng mga pin ay mas madali sa GPIO Zero:

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

Dahil ang GPIO Zero library ay may mga module para sa LED at button, hindi mo kailangang i-set up ang mga input at output tulad ng dati. Mapapansin mo na kahit na hindi nagbago ang mga pin, ang mga numero dito ay naiiba mula sa itaas. Iyon ay dahil ginagamit lamang ng GPIO Zero ang mga numero ng GPIO pin (kilala rin bilang mga numero ng Broadcom o BCM).

cool na bagay na gagawin sa hindi pagkakasundo

Ang natitirang script ay tatlong linya lamang:

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

Ang i-pause () tawagan dito lamang hinihinto ang script mula sa paglabas pagdating sa ibaba. Ang mga kaganapan ng dalawang-pindutan ay natiyak tuwing pinindot at inilabas ang pindutan. I-save at patakbuhin ang iyong script at makikita mo ang parehong resulta tulad ng dati!

Dalawang Paraan upang Magdagdag ng isang Button sa Raspberry Pi

Sa labas ng dalawang paraan upang mai-set up ang pindutan, ang pamamaraang GPIO Zero ay tila pinakamadali. Mahalaga pa rin itong malaman tungkol sa RPi.GPIO library bilang karamihan sa mga baguhang proyekto ng Raspberry Pi gamitin ito. Tulad ng simpleng proyekto na ito, ang kaalaman ay maaaring magamit para sa maraming mga bagay.

Ang paggamit ng mga GPIO pin ay isang mahusay na paraan upang malaman at maimbento ang iyong sariling mga aparato, ngunit malayo ito sa lahat ng magagawa mo sa Pi. Ang aming hindi opisyal na gabay sa Raspberry Pi ay napupuno ng mga malikhaing ideya at tutorial na maaari mong subukan ang iyong sarili! Para sa isa pang tutorial na tulad nito, tingnan kung paano gumawa ng isang pindutan na konektado sa Wi-Fi .

Magbahagi Magbahagi Mag-tweet Email 5 Mga Tip upang Supercharge ang Iyong Mga VirtualBox Linux Machine

Pagod na sa hindi magandang pagganap na inaalok ng mga virtual machine? Narito kung ano ang dapat mong gawin upang mapalakas ang pagganap ng VirtualBox.

Basahin Susunod
Mga Kaugnay na Paksa
  • DIY
  • Raspberry Pi
  • Sawa
  • GPIO
  • Mga Tutorial sa DIY Project
Tungkol sa May-akda Ian Buckley(216 Mga Artikulo Nai-publish)

Si Ian Buckley ay isang freelance journalist, musikero, tagapalabas at tagagawa ng video na naninirahan sa Berlin, Germany. Kapag hindi siya nagsusulat o nasa entablado, nakikipag-usap siya sa mga elektronikong DIY o code sa pag-asang maging isang baliw na siyentista.

Higit pa Mula kay Ian Buckley

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe
Kategorya Diy