Iklan

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

Tutorial ini akan menunjukkan kepada Anda 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 (Apa pun yang akan 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 lebih redup)
  • 1 x papan tempat memotong roti
  • Hubungkan kabel

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

Bagian yang Dibutuhkan untuk Tutorial Tombol Pi

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

instagram viewer

Menyiapkan Sirkuit

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

Atur sirkuit Anda sesuai dengan diagram ini:

Diagram Fritzing untuk Tutorial Tombol Pi
  • Itu 5v dan GND pin terhubung ke rel daya papan tempat memotong roti.
  • Pin 12 (GPIO 18) terhubung ke kaki positif dari LED.
  • Satu kaki penghambat menempel ke kaki negatif LED, dan kaki lainnya menempel ke rel tanah dari papan tempat memotong roti.
  • Pin 16 (GPIO 23) menempel ke satu sisi tombol, sisi lain menempel ke rel tanah dari papan tempat memotong roti.

Setelah diatur, berikut tampilannya:

Raspberry Pi terhubung ke sebuah tombol dan LED di papan tempat memotong roti.

Periksa sirkuit Anda untuk memastikannya benar, lalu nyalakan Raspberry Pi Anda.

Metode 1: RPi. Perpustakaan GPIO

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

Thonny Python IDE

Mulai dengan mengimpor RPi. Perpustakaan GPIO, dan pengaturan mode papan.

impor RPi. GPIO sebagai GPIO GPIO.setmode (GPIO.BOARD)

Sekarang mendeklarasikan variabel untuk nomor pin LED dan tombol.

ledPin = 12. buttonPin = 16. 

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

Pinout Pi saya

Menyiapkan Tombol

Sudah waktunya untuk menyiapkan pin GPIO. Atur pin LED ke output, dan pin tombol untuk 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 perlu mengaktifkan ini untuk mendapatkan pembacaan yang bersih dari tombol. Karena tombol akan menuju pin ground, kita memerlukan resistor pull-up untuk menahan pin input TINGGI sampai Anda menekannya.

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

Intermission: Pull Up / Pull Down Resistor

Saat Anda mengonfigurasi pin GPIO untuk diinput, pin tersebut membaca pin itu untuk menentukan statusnya. Di sirkuit ini, Anda perlu membaca apakah pin TINGGI atau RENDAH untuk memicu LED ketika tombol ditekan. Ini akan sederhana jika hanya itulah status yang dapat dimiliki pin, tetapi sayangnya, ada status ketiga: Mengapung.

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

Diagram Contoh Pull-Up Resistor

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 internal Pi. 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.

Diagram Contoh Pull-Down Resistor

Resistor pull-down adalah ketika sakelar dihubungkan ke pin daya. Kali ini, resistor internal memasang pin GPIO ke ground, menahan RENDAH sampai Anda menekan tombol.

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

Mari kita lanjutkan di mana kita tinggalkan.

Lingkaran Program

Selanjutnya, atur loop program:

sementara Benar: buttonState = GPIO.input (buttonPin) jika buttonState == Salah: GPIO.output (ledPin, GPIO.HIGH) lain: GPIO.output (ledPin, GPIO.LOW)

Itu sementara Benar loop terus menjalankan kode di dalamnya sampai kita mengakhiri program. Setiap kali loop itu memperbarui buttonState dengan membaca input dari buttonPin. Meskipun tombol tidak ditekan, tombol itu tetap ada TINGGI.

Setelah tombol ditekan, buttonState menjadi RENDAH. Ini memicu jika pernyataan, sejak Salah sama dengan RENDAH, dan LED menyala. Itu lain pernyataan mematikan LED setiap kali tombolPin tidak Salah.

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 di bilah alat Thonny.

Panel Kontrol Thonny

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

Pengujian Tombol Tekan Gif

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

Metode 2: GPIO Zero Library

RPi. Perpustakaan GPIO luar biasa, tetapi ada anak baru di blok itu. Perpustakaan Nol GPIO adalah dibuat oleh manajer komunitas Raspberry Pi Ben Nuttall dengan maksud membuat kode lebih sederhana, dan lebih mudah untuk membaca dan menulis.

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

dari gpiozero import LED, Button. dari sinyal import jeda. 

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

Menyiapkan pin jauh lebih mudah dengan GPIO Zero:

led = LED (18) tombol = Tombol (23)

Karena perpustakaan 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-angka di sini berbeda dari di atas. Itu karena GPIO Zero hanya menggunakan nomor pin GPIO (juga dikenal sebagai nomor Broadcom atau BCM).

Sisa skrip hanya tiga baris:

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

Itu jeda () panggilan di sini cukup menghentikan skrip keluar ketika mencapai bagian bawah. Peristiwa dua tombol akan terpicu setiap kali tombol ditekan dan dilepaskan. Simpan dan jalankan skrip Anda dan Anda akan melihat hasil yang sama seperti sebelumnya!

Dua Cara untuk Menambahkan Tombol ke Raspberry Pi

Dari dua cara untuk mengatur tombol, metode GPIO Zero tampaknya paling mudah. Masih layak belajar tentang RPi. Perpustakaan GPIO sebagai sebagian besar proyek Raspberry Pi pemula Gunakan. Sesederhana proyek ini, pengetahuan dapat digunakan untuk sejumlah 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. Kami panduan tidak resmi untuk Raspberry Pi Raspberry Pi: Tutorial Tidak ResmiBaik Anda pemilik Pi saat ini yang ingin mempelajari lebih lanjut atau calon pemilik perangkat ukuran kartu kredit ini, ini bukan panduan yang ingin Anda lewatkan. Baca lebih banyak penuh dengan ide-ide kreatif dan tutorial yang dapat Anda coba sendiri! Untuk tutorial lain seperti ini, lihat cara membuat tombol yang terhubung Wi-Fi Cara Membuat Tombol Terhubung Wi-Fi Anda Sendiri Dengan ESP8266Dalam tutorial ini, Anda akan belajar cara membuat tombol yang mendukung Wi-Fi menggunakan NodeMCU dan IFTTT. Baca lebih banyak .

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