Sakelar tombol tekan adalah perangkat input sederhana namun efektif yang sering digunakan dalam proyek seperti memulai atau menghentikan proses, mengendalikan LED, atau memicu peristiwa. Tutorial ini akan memandu Anda dengan menghubungkan sakelar tombol tekan ke Raspberry Pi, menyiapkan kabel, dan menulis skrip Python untuk mendeteksi penekan tombol.
Apa yang Anda Butuhkan
- Raspberry Pi (Model apa pun dengan dukungan GPIO, mis., Pi 3, pi 4)
- Sakelar tombol tekan
- Papan tempat memotong papan dan kabel jumper
- Penghambat (10kΩ untuk pull-down)
- Python terpasang di raspberry pi Anda
- Perpustakaan GPIO untuk mengendalikan pin GPIO Raspberry Pi
Langkah 1: Pengkabelan tombol tekan ke Raspberry Pi
Sakelar tombol tekan berfungsi dengan menghubungkan pin GPIO ke status tinggi (3.3V) ketika ditekan atau menariknya ke rendah (0V) ketika tidak ditekan. Kami akan menggunakan resistor pull-down untuk memastikan pin GPIO dibaca rendah saat tombol tidak ditekan.
Kabel tombol tekan
Tekan tombol tombol | Raspberry pi gpio pin |
---|---|
Satu pin | GPIO17 (pin 11) |
Pin lainnya | Ground (pin 6) |
Satu pin | Resistor 10kΩ ke tanah |
Inilah pengaturan kabelnya:
- Hubungkan satu terminal tombol tekan ke GPIO17 (Pin 11).
- Hubungkan terminal lain dari tombol tekan ke Tanah (Pin 6).
- Hubungkan resistor 10kΩ antara GPIO17 Dan Tanah untuk bertindak sebagai resistor pull-down.
Ini memastikan bahwa ketika tombol ditekan, GPIO17 membaca tinggi (3.3V), dan ketika tidak ditekan, GPIO17 ditarik ke rendah (0V) oleh resistor.
Langkah 2: Aktifkan Pin GPIO di Python
-
Pertama, perbarui daftar paket Raspberry Pi Anda:
-
Instal Perpustakaan Python GPIO yang diperlukan (jika belum diinstal):
-
Impor perpustakaan di skrip Python Anda:
Langkah 3: Menulis Kode Python
Sekarang, mari kita tulis skrip Python untuk dideteksi ketika tombol ditekan dan mengambil tindakan yang sesuai.
Contoh Kode Python
Penjelasan Kode:
- Gpio.setMode (gpio.bcm): Mengatur penomoran pin GPIO ke mode BCM (Broadcom).
- Gpio.setup (tombol_pin, gpio.in, pull_up_down = gpio.pud_down): Mengkonfigurasi pin tombol sebagai input dengan resistor pull-down, artinya akan dibaca rendah saat tidak ditekan.
-
Gpio.add_event_detect (): Mendeteksi tepi naik (tekan tombol) dari pin GPIO dan memicu fungsi panggilan balik
button_callback
Saat tombol ditekan. - time.sleep (0,1): Menjaga skrip tetap berjalan, memungkinkannya menunggu tombol tekan.
- Gpio.cleanup (): Membersihkan pengaturan GPIO saat skrip keluar.
Langkah 4: Menguji tombol
-
Jalankan skrip Python Anda:
-
Tekan tombol tekan dan amati pesan "Tombol ditekan!" di terminal.
Langkah 5: Aplikasi
Berikut adalah beberapa ide untuk menggunakan tombol tekan di proyek Anda:
- Kontrol LED: Gunakan tombol tekan untuk menghidupkan dan mematikan LED.
- Memicu suatu peristiwa: Mulai atau hentikan suatu proses (mis., Mulailah motor, nyalakan kipas, atau inisiasi skrip).
- Bel pintu pintar: Gunakan tombol sebagai bel pintu untuk mengirim pemberitahuan ke ponsel Anda.
- Input pengguna: Dapatkan input pengguna sederhana untuk proyek Anda (seperti jawaban "ya/tidak").
Pemecahan masalah
-
Tombol tidak terdeteksi:
- Pastikan tombolnya terhubung dengan benar dengan resistor pull-down.
- Periksa ganda pengaturan pin GPIO Anda dalam kode.
-
Kesalahan GPIO:
- Pastikan perpustakaan GPIO diinstal dengan benar dan nomor pin dalam skrip Anda benar.
-
Tombol bouncing:
- Jika Anda melihat beberapa penekan tombol terdeteksi, Anda dapat menambahkan waktu debounce (
bouncetime=300
dalam skrip) untuk menghindari deteksi palsu.
- Jika Anda melihat beberapa penekan tombol terdeteksi, Anda dapat menambahkan waktu debounce (
Kesimpulan
Menggunakan sakelar tombol tekan dengan Raspberry Pi adalah cara mudah untuk menambahkan fungsionalitas input ke proyek Anda. Baik itu Toggling LED, memicu acara, atau berinteraksi dengan perangkat keras lain, pengaturan sederhana ini dapat menjadi dasar bagi banyak aplikasi menarik. Eksperimen dengan pin GPIO yang berbeda dan pengaturan Debounce agar sesuai dengan kebutuhan Anda!