2 Cara Menambah Butang ke Projek Raspberry Pi Anda

2 Cara Menambah Butang ke Projek Raspberry Pi Anda

Belajar menggunakan pin GPIO pada Raspberry Pi anda akan membuka banyak kemungkinan. Prinsip asas yang dipelajari melalui projek pemula membuka jalan ke arah pengetahuan berguna mengenai elektronik dan pengaturcaraan DIY.





Tutorial ini akan menunjukkan kepada anda dua cara untuk menambah butang ke projek Raspberry Pi anda. Butang akan digunakan untuk mengawal LED. Arahan bertulis terdapat di bawah video.





Anda perlu

Untuk memulakan, pastikan anda mempunyai komponen berikut:





  • 1 x Raspberry Pi (Mana-mana yang akan dilakukan, model 3B digunakan dalam tutorial ini)
  • 1 x Butang Tekan
  • 1 x LED
  • Perintang 1 x 220 Ohm (Nilai yang lebih tinggi baik, LED anda akan lebih malap)
  • 1 x Papan Roti
  • Sambungkan wayar

Setelah dikumpulkan, anda mesti mempunyai komponen yang kelihatan seperti ini:

Anda juga memerlukan kad SD dengan sistem operasi Raspbian terpasang. Cara terpantas untuk melakukannya adalah dengan gambar NOOBS (Perisian Baru Keluar dari Kotak). Petunjuk mengenai cara melakukannya boleh didapati di video ini:



Menyiapkan Litar

Anda akan menggunakan pin GPIO Pi untuk membuat litar, dan jika anda tidak biasa dengan pin kami panduan untuk pin GPIO Raspberry Pi akan bantu. Litar di sini hampir sama seperti sebelumnya Projek LED Raspberry Pi , dengan penambahan butang yang akan anda gunakan hari ini.

Sediakan litar anda mengikut rajah ini:





  • The 5v dan GND pin disambungkan ke rel kuasa papan roti.
  • Pin 12 (GPIO 18) menyambung ke kaki positif LED.
  • Satu kaki dari perintang melekat pada kaki negatif LED, dan kaki yang lain melekat pada landasan landasan papan roti.
  • Pin 16 (GPIO 23) melekat pada satu sisi butang, sebelah yang lain melekat pada landasan landasan papan roti.

Setelah disiapkan, inilah caranya:

Periksa litar anda untuk memastikannya betul, kemudian hidupkan Raspberry Pi anda.





Kaedah 1: Perpustakaan RPi.GPIO

Setelah Pi dimuat, pergi ke menu dan pilih Pengaturcaraan> Thonny Python IDE . Skrip Python baru akan dibuka. Sekiranya anda benar-benar baru dalam Python, ini adalah bahasa yang bagus untuk pemula dan terdapat banyak tempat yang bagus untuk mengetahui lebih lanjut mengenai Python setelah anda selesai dengan tutorial ini!

Mulakan dengan mengimport perpustakaan RPi.GPIO, dan menetapkan mod papan.

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

Sekarang nyatakan pemboleh ubah untuk nombor pin LED dan butang.

ledPin = 12
buttonPin = 16

Perhatikan bahawa kerana kita telah menetapkan mod papan DEWAN kami menggunakan nombor pin dan bukan nombor GPIO. Sekiranya itu membingungkan anda, carta pinout Raspberry Pi dapat membantu membersihkannya.

Menyiapkan Butang

Sudah tiba masanya untuk menetapkan pin GPIO. Tetapkan pin LED ke output, dan pin butang dimasukkan dengan resistor penarik

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

Teks selepas GPIO.IN merujuk kepada perintang penarik dalaman dari Raspberry Pi. Anda perlu mengaktifkannya untuk mendapatkan bacaan yang bersih dari butang. Oleh kerana butang menuju ke pin ground, kita memerlukan resistor pull-up untuk menahan pin input TINGGI sehingga anda menekannya.

Sebelum kita teruskan, mari lihat perintang penarik dan penarik ke bawah.

Intermission: Pull Up / Pull Down Resistor

Apabila anda mengkonfigurasi pin GPIO untuk memasukkannya, pin tersebut akan membaca pin untuk menentukan keadaannya. Dalam litar ini, anda perlu membaca sama ada pin TINGGI atau RENDAH untuk mencetuskan LED semasa butang ditekan. Ini akan menjadi mudah sekiranya hanya satu-satunya keadaan yang dapat dimiliki oleh pin, tetapi sayangnya, terdapat keadaan ketiga: TERAPUNG .

Pin terapung mempunyai nilai antara tinggi dan rendah, menyebabkan input bertindak tidak dapat diramalkan. Perintang pull-up / pull-down menyelesaikannya.

Gambar di atas adalah gambarajah ringkas butang dan Raspberry Pi. Pin GPIO menyambung ke tanah melalui butang. Perintang penarik dalaman melekatkan pin GPIO ke bekalan kuasa Pi dalaman. Arus ini mengalir dan pin ditarik dengan selamat ke TINGGI.

Apabila anda menekan butang, pin GPIO menyambung terus ke pin ground, dan butang berbunyi rendah.

Perintang tarik ke bawah adalah apabila suis disambungkan ke pin kuasa. Kali ini, perintang dalaman melekatkan pin GPIO ke tanah, menahan RENDAH sehingga anda menekan butang.

Teori resistor Pull-up dan Pull-down membingungkan pada pandangan pertama, tetapi pengetahuan penting untuk dimiliki ketika bekerja dengan mikrokontroler. Buat masa ini, jika anda tidak memahaminya, jangan risau!

Mari teruskan dari mana kita berhenti.

Gelung Program

Seterusnya, sediakan gelung program:

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

The sementara Betul gelung terus menjalankan kod di dalamnya sehingga kita menamatkan program. Setiap kali gelung ia mengemas kini butangState dengan membaca input dari butangPin . Walaupun butang tidak ditekan, tetap ada TINGGI .

Setelah butang ditekan, butangState menjadi RENDAH . Ini mencetuskan sekiranya penyataan , sejak Salah adalah sama seperti RENDAH , dan LED menyala. The yang lain pernyataan mematikan LED setiap kali butang Pin tidak Salah.

Simpan dan Jalankan Skrip Anda

Simpan skrip anda dengan mengklik Fail> Simpan Sebagai dan memilih nama fail. Anda boleh menjalankan lakaran dengan mengklik hijau Main butang di bar alat Thonny.

Sekarang tekan butang, dan LED anda akan menyala! Tekan merah Berhenti butang pada bila-bila masa untuk menghentikan program

Sekiranya anda menghadapi kesukaran, periksa kod dan penyediaan litar anda secara menyeluruh untuk mengetahui kesilapan dan cuba lagi.

Kaedah 2: Perpustakaan Sifar GPIO

Perpustakaan RPi.GPIO memang hebat, tetapi ada anak baru di blok ini. Perpustakaan Sifar GPIO adalah dicipta oleh pengurus komuniti Raspberry Pi Ben Nuttall dengan tujuan menjadikan kod lebih mudah, dan lebih senang dibaca dan ditulis.

Untuk menguji perpustakaan baru, buka fail Thonny baru, dan import perpustakaan.

from gpiozero import LED, Button
from signal import pause

Anda akan melihat bahawa anda tidak mengimport keseluruhan perpustakaan. Oleh kerana anda hanya menggunakan LED dan butang, anda hanya memerlukan modul tersebut dalam skrip. Kami juga mengimport Jeda sebentar dari perpustakaan isyarat, yang merupakan perpustakaan Python untuk pengurusan acara.

Menyiapkan pin jauh lebih mudah dengan GPIO Zero:

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

Oleh kerana perpustakaan GPIO Zero mempunyai modul untuk LED dan butang, anda tidak perlu mengatur input dan output seperti sebelumnya. Anda akan melihat bahawa walaupun pin tidak berubah, nombor di sini berbeza dari atas. Ini kerana GPIO Zero hanya menggunakan nombor pin GPIO (juga dikenali sebagai nombor Broadcom atau BCM).

filem percuma dalam talian tanpa memuat turun atau mendaftar

Skrip selebihnya hanya tiga baris:

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

The jeda () panggil ke sini hanya menghentikan skrip keluar ketika sampai ke bawah. Peristiwa dua butang dipicu setiap kali butang ditekan dan dilepaskan. Simpan dan jalankan skrip anda dan anda akan melihat hasil yang sama seperti sebelumnya!

Dua Cara untuk Menambah Butang pada Raspberry Pi

Dari dua kaedah untuk memasang butang, kaedah GPIO Zero nampaknya paling mudah. Ia masih perlu dipelajari mengenai perpustakaan RPi.GPIO sebagai kebanyakan projek Raspberry Pi pemula gunakannya. Semudah projek ini, pengetahuan boleh digunakan untuk beberapa perkara.

Menggunakan pin GPIO adalah kaedah terbaik untuk belajar dan mencipta peranti anda sendiri, tetapi jauh dari semua yang boleh anda lakukan dengan Pi. Panduan tidak rasmi kami untuk Raspberry Pi penuh dengan idea dan tutorial kreatif yang boleh anda cuba sendiri! Untuk tutorial lain seperti ini, lihat cara membuat butang bersambung Wi-Fi .

Berkongsi Berkongsi Tweet E-mel 5 Petua untuk Meningkatkan Mesin Linux VirtualBox Anda

Bosan dengan prestasi buruk yang ditawarkan oleh mesin maya? Inilah yang harus anda lakukan untuk meningkatkan prestasi VirtualBox anda.

Baca Seterusnya
Topik-topik yang berkaitan
  • DIY
  • Pai raspberi
  • Python
  • GPIO
  • Tutorial Projek DIY
Mengenai Pengarang Ian Buckley(216 Artikel Diterbitkan)

Ian Buckley adalah wartawan bebas, pemuzik, pemain dan penerbit video yang tinggal di Berlin, Jerman. Ketika dia tidak menulis atau di atas pentas, dia bermain-main dengan elektronik DIY atau kod dengan harapan menjadi saintis gila.

Lagi Dari Ian Buckley

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan