2 Cara Menambahkan Tombol ke Proyek Raspberry Pi Anda

2 Cara Menambahkan Tombol ke Proyek Raspberry Pi Anda

Belajar menggunakan pin GPIO pada Raspberry Pi Anda membuka banyak kemungkinan. Prinsip-prinsip dasar yang dipelajari melalui proyek pemula membuka jalan menuju pengetahuan yang berguna tentang elektronik dan pemrograman DIY.





Tutorial ini akan menunjukkan dua cara untuk menambahkan tombol ke proyek Raspberry Pi Anda. Tombol akan digunakan untuk mengontrol LED. Instruksi tertulis tersedia di bawah video.





Anda akan perlu

Untuk memulai, pastikan Anda memiliki komponen berikut:





  • 1 x Raspberry Pi (Semua bisa dilakukan, model 3B digunakan dalam tutorial ini)
  • 1 x Tombol Tekan
  • 1 x LED
  • 1 x 220 Ohm Resistor (Nilai yang lebih tinggi baik-baik saja, LED Anda hanya akan redup)
  • 1 x papan tempat memotong roti
  • Hubungkan kabel

Setelah dikumpulkan, Anda harus memiliki komponen yang terlihat seperti ini:

Anda juga memerlukan kartu SD dengan sistem operasi Raspbian terpasang. Cara tercepat untuk melakukannya adalah dengan image NOOBS (New Out Of the Box Software). Petunjuk tentang cara melakukan ini tersedia di video ini:



Menyiapkan Sirkuit

Anda akan menggunakan pin GPIO dari Pi untuk membuat sirkuit, dan jika Anda tidak terbiasa dengannya, kami panduan untuk pin Raspberry Pi GPIO akan membantu. Sirkuit di sini hampir sama seperti di sebelumnya Proyek LED Raspberry Pi , dengan tambahan tombol yang akan Anda gunakan hari ini.

Atur sirkuit Anda sesuai dengan diagram ini:





  • NS 5v dan GND pin terhubung ke rel daya papan tempat memotong roti.
  • Pin 12 (GPIO 18) terhubung ke kaki positif LED.
  • Satu kaki dari penghambat menempel pada kaki negatif LED, dan kaki lainnya menempel pada rel tanah papan tempat memotong roti.
  • Pin 16 (GPIO 23) menempel pada satu sisi tombol, sisi lainnya menempel pada ground rail papan tempat memotong roti.

Setelah diatur, inilah tampilannya:

Periksa sirkuit Anda untuk memastikannya benar, dan kemudian nyalakan Raspberry Pi Anda.





Metode 1: Pustaka RPi.GPIO

Setelah Pi boot, buka menu dan pilih Pemrograman> Thonny Python IDE . Skrip Python baru akan terbuka. Jika Anda benar-benar baru mengenal Python, ini adalah bahasa yang bagus untuk pemula dan ada banyak tempat bagus untuk mempelajari lebih lanjut tentang Python setelah Anda selesai dengan tutorial ini!

Mulailah dengan mengimpor perpustakaan RPi.GPIO, dan mengatur mode papan.

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

Sekarang deklarasikan variabel untuk nomor pin LED dan tombol.

ledPin = 12
buttonPin = 16

Perhatikan bahwa karena kami mengatur mode papan ke PAPAN kami menggunakan nomor pin daripada nomor GPIO. Jika itu membingungkan Anda, bagan pinout Raspberry Pi dapat membantu menjernihkannya.

Menyiapkan Tombol

Saatnya untuk mengatur pin GPIO. Atur pin LED ke output, dan pin tombol ke input dengan resistor pull-up

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

Teks setelah GPIO.IN mengacu pada resistor pull-up internal dari Raspberry Pi. Anda harus mengaktifkan ini untuk mendapatkan pembacaan yang bersih dari tombol. Karena tombol mengarah ke pin ground, kita memerlukan resistor pull-up untuk menahan pin input HIGH sampai Anda menekannya.

Sebelum kita melanjutkan, mari kita lihat resistor pull-up dan pull-down.

Istirahat: Resistor Pull Up / Pull Down

Saat Anda mengonfigurasi pin GPIO ke input, pin tersebut akan dibaca untuk menentukan statusnya. Di sirkuit ini, Anda perlu membaca apakah pin adalah TINGGI atau RENDAH untuk memicu LED saat tombol ditekan. Ini akan sederhana jika itu adalah satu-satunya status yang dimiliki pin, tetapi sayangnya, ada status ketiga: MENGAPUNG .

Pin mengambang memiliki nilai antara tinggi dan rendah, menyebabkan input bertindak tidak terduga. Pull-up/pull-down resistor memecahkan ini.

Gambar di atas adalah diagram tombol dan Raspberry Pi yang disederhanakan. Pin GPIO terhubung ke ground melalui tombol. Resistor pull-up internal menempelkan pin GPIO ke catu daya Pi internal. Arus ini mengalir dan pin ditarik dengan aman ke TINGGI.

Saat Anda menekan tombol, pin GPIO terhubung langsung ke pin ground, dan tombol berbunyi rendah.

Resistor pull-down adalah untuk saat sakelar terhubung ke pin daya. Kali ini, resistor internal menempelkan pin GPIO ke ground, menahan LOW sampai Anda menekan tombol.

Teori resistor pull-up dan Pull-down membingungkan pada pandangan pertama, tetapi pengetahuan penting untuk dimiliki saat bekerja dengan mikrokontroler. Untuk saat ini, jika Anda tidak begitu memahaminya, jangan khawatir!

Mari kita lanjutkan di mana kita tinggalkan.

Putaran Program

Selanjutnya, atur loop program:

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

NS sementara Benar loop terus menjalankan kode di dalamnya sampai kita mengakhiri program. Setiap kali loop itu memperbarui keadaan tombol dengan membaca masukan dari tombolPin . Saat tombol tidak ditekan, tetap ada TINGGI .

Setelah tombol ditekan, keadaan tombol menjadi RENDAH . Hal ini memicu jika pernyataan , sejak Palsu sama dengan RENDAH , dan LED menyala. NS lain pernyataan mematikan LED setiap kali buttonPin tidak False.

Simpan dan Jalankan Script Anda

Simpan skrip Anda dengan mengklik File > Simpan Sebagai dan memilih nama file. Anda dapat menjalankan sketsa dengan mengklik hijau Bermain tombol di toolbar Thonny.

Sekarang tekan tombol, dan LED Anda akan menyala! Tekan merah Berhenti tombol kapan saja untuk menghentikan program

Jika Anda mengalami kesulitan, periksa kode dan pengaturan sirkuit Anda secara menyeluruh untuk menemukan kesalahan dan coba lagi.

Metode 2: Perpustakaan Nol GPIO

Pustaka RPi.GPIO fantastis, tetapi ada anak baru di blok itu. Perpustakaan Nol GPIO adalah dibuat oleh manajer komunitas Raspberry Pi Ben Nuttall dengan tujuan membuat kode lebih sederhana, dan lebih mudah dibaca dan ditulis.

Untuk menguji perpustakaan baru, buka file Thonny baru, dan impor perpustakaan.

from gpiozero import LED, Button
from signal import pause

Anda akan melihat bahwa Anda tidak mengimpor seluruh perpustakaan. Karena Anda hanya menggunakan LED dan tombol, Anda hanya memerlukan modul-modul itu dalam skrip. Kami juga mengimpor Berhenti sebentar dari perpustakaan sinyal, yang merupakan perpustakaan Python untuk manajemen acara.

Menyiapkan pin jauh lebih mudah dengan GPIO Zero:

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

Karena library GPIO Zero memiliki modul untuk LED dan tombol, Anda tidak perlu mengatur input dan output seperti sebelumnya. Anda akan melihat bahwa meskipun pin tidak berubah, angka di sini berbeda dari di atas. Itu karena GPIO Zero hanya menggunakan nomor pin GPIO (juga dikenal sebagai nomor Broadcom atau BCM).

disk saya berjalan pada 100

Sisa skrip hanya tiga baris:

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

NS berhenti sebentar() panggilan di sini hanya menghentikan skrip agar tidak keluar ketika mencapai bagian bawah. Peristiwa dua tombol dipicu setiap kali tombol ditekan dan dilepaskan. Simpan dan jalankan skrip Anda dan Anda akan melihat hasil yang sama seperti sebelumnya!

Dua Cara Menambahkan Tombol ke Raspberry Pi

Dari dua cara mengatur tombol, metode GPIO Zero tampaknya yang paling mudah. Masih layak dipelajari tentang perpustakaan RPi.GPIO sebagai sebagian besar proyek Raspberry Pi pemula Gunakan. Sesederhana proyek ini, pengetahuan dapat digunakan untuk beberapa hal.

Menggunakan pin GPIO adalah cara yang bagus untuk mempelajari dan menemukan perangkat Anda sendiri, tetapi jauh dari semua yang dapat Anda lakukan dengan Pi. Panduan tidak resmi kami untuk Raspberry Pi penuh dengan ide dan tutorial kreatif yang dapat Anda coba sendiri! Untuk tutorial lain seperti ini, lihat cara membuat tombol terhubung Wi-Fi .

Membagikan Membagikan Menciak Surel 5 Tips untuk Meningkatkan Mesin VirtualBox Linux Anda

Bosan dengan kinerja buruk yang ditawarkan oleh mesin virtual? Inilah yang harus Anda lakukan untuk meningkatkan kinerja VirtualBox Anda.

Baca Selanjutnya
Topik-topik yang berkaitan
  • buatan sendiri
  • Raspberry Pi
  • Python
  • GPIO
  • Tutorial Proyek DIY
Tentang Penulis Ian Buckley(216 Artikel Diterbitkan)

Ian Buckley adalah jurnalis lepas, musisi, pemain, dan produser video yang tinggal di Berlin, Jerman. Ketika dia tidak menulis atau di atas panggung, dia bermain-main dengan elektronik atau kode DIY dengan harapan menjadi ilmuwan gila.

More From Ian Buckley

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan