Raspberry Pi Pico tidak hanya dapat digunakan untuk menyalakan LED atau membaca sensor. Dengan memanfaatkan GPIO, mikrokontroler ini juga dapat digunakan untuk mengendalikan berbagai perangkat elektronik melalui modul relay. Pada proyek kali ini, kita akan membuat saklar elektronik menggunakan Raspberry Pi Pico, push button, dan relay 1 channel SPDT. Push button digunakan sebagai input untuk memberikan perintah, Raspberry Pi Pico bertugas memproses input tersebut, sedangkan relay digunakan sebagai saklar untuk mengendalikan beban.
Sebagai indikator output, kita akan menggunakan LED. Ketika push button ditekan, Raspberry Pi Pico akan mengubah kondisi relay sehingga LED menyala. Ketika tombol ditekan kembali, relay berubah kondisi dan LED akan mati. Proyek ini cocok untuk pemula yang ingin mempelajari cara mengontrol relay dengan Raspberry Pi Pico, penggunaan GPIO, push button, serta konsep dasar saklar elektronik menggunakan MicroPython.
Apa Itu Relay?
Relay adalah komponen yang dapat digunakan sebagai saklar yang dikendalikan secara elektrik. Relay memungkinkan sebuah rangkaian kontrol dengan daya relatif kecil untuk mengendalikan rangkaian beban yang terpisah. Dalam proyek ini, Raspberry Pi Pico tidak digunakan untuk mengalirkan arus secara langsung ke beban. GPIO Raspberry Pi Pico hanya memberikan sinyal kontrol kepada modul relay. Ketika relay aktif, kontak di dalam relay berubah posisi sehingga rangkaian beban dapat terhubung.
Relay SPDT yang Digunakan
Relay yang digunakan pada proyek ini adalah modul relay 1 channel dengan konfigurasi kontak SPDT (Single Pole Double Throw). Istilah 1 channel menunjukkan bahwa modul tersebut memiliki satu relay yang dapat dikendalikan. Sedangkan SPDT menunjukkan konfigurasi kontak relay yang memiliki tiga terminal utama:
- COM (Common) → terminal bersama.
- NO (Normally Open) → kontak yang terbuka ketika relay tidak aktif.
- NC (Normally Closed) → kontak yang terhubung dengan COM ketika relay tidak aktif.
Untuk proyek ini, Anda dapat menggunakan terminal COM dan NO. Dengan menggunakan COM dan NO, LED berada dalam kondisi mati ketika relay belum aktif. Setelah relay aktif, COM dan NO terhubung sehingga arus dapat mengalir menuju LED.
Konsep Proyek Saklar Elektronik
Proyek ini menggunakan tiga bagian utama:
Push Button → Raspberry Pi Pico → Relay → LED
Push button menjadi input yang digunakan untuk memberikan perintah. Raspberry Pi Pico membaca kondisi push button melalui salah satu GPIO. Setelah tombol ditekan, program mengubah kondisi output GPIO yang terhubung ke input relay. Relay kemudian bekerja sebagai saklar elektronik untuk menghubungkan atau memutus rangkaian LED. Dengan konsep tersebut, push button dapat berfungsi seperti saklar biasa.
Cara Kerja Proyek
Sistem bekerja dengan mekanisme toggle. Ketika pertama kali dinyalakan:
LED OFF → Relay OFF
Kemudian ketika push button ditekan:
Push Button → Raspberry Pi Pico → Relay ON → LED ON
Ketika push button ditekan kembali:
Push Button → Raspberry Pi Pico → Relay OFF → LED OFF
Proses tersebut dapat dilakukan berulang kali.
Komponen yang Dibutuhkan
Untuk membuat proyek saklar elektronik Raspberry Pi Pico dengan relay, siapkan komponen berikut:
LED digunakan sebagai beban indikator agar perubahan kondisi relay dapat dilihat dengan mudah.
Untuk tahap pembelajaran, penggunaan LED lebih aman dan sederhana dibandingkan langsung menghubungkan relay dengan perangkat bertegangan tinggi.
Rangkaian Raspberry Pi Pico, Push Button dan Relay
Pada contoh ini, kita menggunakan:
- GPIO 14 untuk membaca push button.
- GPIO 15 untuk mengontrol relay.
Push button menggunakan konfigurasi internal pull-up Raspberry Pi Pico.
Koneksi Push Button
Hubungkan push button sebagai berikut:
Karena menggunakan Pin.PULL_UP, kita tidak membutuhkan resistor pull-up eksternal. Ketika tombol tidak ditekan, GPIO 14 membaca kondisi HIGH. Ketika tombol ditekan, GPIO 14 terhubung ke GND sehingga membaca LOW.
Koneksi Modul Relay
Hubungkan bagian kontrol modul relay:
Penting: Tegangan VCC harus mengikuti spesifikasi modul relay yang digunakan. Jangan menganggap semua modul relay memiliki kebutuhan tegangan yang sama.
GPIO Raspberry Pi Pico hanya digunakan sebagai sinyal kontrol, bukan untuk menyuplai beban relay secara langsung.
Menghubungkan LED sebagai Beban
Pada sisi kontak relay, gunakan terminal COM dan NO (Normally Open) untuk menghubungkan LED sebagai beban. Rangkaian sederhananya dapat dibuat dengan menghubungkan sumber positif ke terminal COM, kemudian terminal NO ke resistor 220Ω dan LED, lalu kembali ke sumber negatif. Urutan koneksinya adalah:
Sumber (+) → COM → Relay → NO → Resistor 220Ω → LED → Sumber (-)
Dengan konfigurasi ini, LED hanya akan menyala ketika relay aktif dan kontak COM terhubung dengan NO.
Ketika relay tidak aktif, kontak COM dan NO terbuka sehingga LED tidak menyala. Ketika relay aktif, COM dan NO terhubung sehingga arus dapat mengalir melalui resistor dan LED.
Catatan: Sumber tegangan untuk sisi kontak relay harus disesuaikan dengan kebutuhan LED dan rangkaian yang digunakan. Jangan menghubungkan sumber tegangan yang tidak sesuai dengan LED.
Memprogram Raspberry Pi Pico dengan MicroPython
Setelah rangkaian selesai, Anda dapat membuat program menggunakan MicroPython. Program dapat ditulis menggunakan Thonny IDE kemudian dijalankan pada Raspberry Pi Pico.
Program Saklar Elektronik dengan Push Button
Berikut kode program untuk membuat push button berfungsi sebagai saklar toggle:
from machine import Pin
from time import sleep
# Pin relay
relay = Pin(15, Pin.OUT)
# Pin push button dengan internal pull-up
button = Pin(14, Pin.IN, Pin.PULL_UP)
# Kondisi awal relay
relay_state = 0
relay.value(relay_state)
# Kondisi tombol sebelumnya
last_button_state = 1
while True:
# Membaca kondisi tombol
current_button_state = button.value()
# Mendeteksi tombol baru saja ditekan
if last_button_state == 1 and current_button_state == 0:
# Mengubah kondisi relay
relay_state = not relay_state
relay.value(relay_state)
if relay_state:
print("Relay ON - LED menyala")
else:
print("Relay OFF - LED mati")
# Jeda untuk mengurangi efek bouncing tombol
sleep(0.2)
# Menyimpan kondisi tombol
last_button_state = current_button_state
sleep(0.01)
Penjelasan Program
Mari kita lihat bagian penting dari program tersebut.
1. Mengimpor Modul
from machine import Pin
from time import sleep
Pin digunakan untuk mengatur GPIO Raspberry Pi Pico, sedangkan sleep() digunakan untuk memberikan jeda waktu.
2. Mengatur Pin Relay
relay = Pin(15, Pin.OUT)
Kode tersebut menjadikan GPIO 15 sebagai output yang digunakan untuk mengontrol input modul relay.
3. Mengatur Pin Push Button
button = Pin(14, Pin.IN, Pin.PULL_UP)
GPIO 14 digunakan sebagai input push button. Pin.PULL_UP mengaktifkan resistor pull-up internal pada Raspberry Pi Pico. Dengan konfigurasi tersebut:
Tombol tidak ditekan → HIGH (1)
Tombol ditekan → LOW (0)
4. Menentukan Kondisi Awal Relay
relay_state = 0
relay.value(relay_state)
Pada awal program, relay dibuat dalam kondisi OFF. Variabel relay_state digunakan untuk menyimpan kondisi relay.
5. Membaca Push Button
Program membaca kondisi tombol menggunakan:
current_button_state = button.value()
Nilai tersebut kemudian dibandingkan dengan kondisi tombol sebelumnya.
6. Mendeteksi Tombol Ditekan
Bagian berikut digunakan untuk mendeteksi perubahan dari tidak ditekan menjadi ditekan:
if last_button_state == 1 and current_button_state == 0:
Artinya, sebelumnya tombol berada pada kondisi HIGH, kemudian berubah menjadi LOW.
Perubahan tersebut dianggap sebagai satu kali penekanan tombol.
7. Mengubah Kondisi Relay
Selanjutnya:
relay_state = not relay_state
relay.value(relay_state)
Kode tersebut membalik kondisi relay. Jika sebelumnya 0 berubah menjadi 1, maka relay berubah menjadi ON.Jika sebelumnya 1 berubah menjadi 0, maka relay berubah menjadi OFF. Dengan demikian, satu tombol dapat digunakan sebagai saklar ON/OFF.
Jika Relay Menggunakan Active LOW
Perlu diperhatikan bahwa beberapa modul relay menggunakan konfigurasi Active LOW. Pada modul Active LOW, relay aktif ketika input IN mendapatkan logika LOW. Jika relay yang digunakan memiliki karakteristik tersebut, logika program perlu disesuaikan. Contohnya, ketika ingin mengaktifkan relay relay.value(0) dan ketika ingin mematikannya relay.value(1). Oleh karena itu, jika hasil pengujian menunjukkan kondisi relay terbalik, periksa apakah modul yang digunakan merupakan Active HIGH atau Active LOW.
Pengujian Proyek
Setelah program dijalankan pada Raspberry Pi Pico, lakukan pengujian berikut.
1. Pengujian Pertama
Pastikan LED dalam kondisi mati saat sistem pertama kali dijalankan. Jika relay langsung aktif, periksa kembali logika program dan karakteristik modul relay.
2. Pengujian Kedua
Tekan push button satu kali. Hasil yang diharapkan:
Push button ditekan → Relay ON → LED menyala
3. Pengujian Ketiga
Tekan push button kembali. Hasil yang diharapkan:
Push button ditekan → Relay OFF → LED mati
Jika hasilnya sesuai, berarti Raspberry Pi Pico telah berhasil digunakan sebagai pengendali saklar elektronik berbasis relay.
Mengapa Menggunakan Relay?
GPIO Raspberry Pi Pico sebenarnya dapat digunakan untuk mengontrol LED secara langsung. Namun, GPIO tidak dirancang untuk menangani beban besar. Relay memberikan sebuah mekanisme saklar yang memungkinkan rangkaian kontrol dan rangkaian beban dipisahkan. Oleh karena itu, relay banyak digunakan dalam proyek otomatisasi, kontrol perangkat elektronik, dan sistem kendali berbasis mikrokontroler. Namun, kemampuan relay tetap bergantung pada spesifikasi kontak relay dan modul yang digunakan.
Hal yang Perlu Diperhatikan
1. Periksa Tegangan Modul Relay
Pastikan VCC modul relay mendapatkan tegangan yang sesuai dengan spesifikasinya.
2. Jangan Menghubungkan Beban Besar ke GPIO
GPIO Raspberry Pi Pico hanya digunakan untuk memberikan sinyal kontrol.
Jangan menghubungkan motor atau perangkat berdaya besar langsung ke GPIO.
3. Gunakan COM dan NO untuk Saklar Normalnya Mati
Pada proyek ini, terminal COM dan NO digunakan agar beban dalam kondisi mati ketika relay belum aktif.
4. Perhatikan Active HIGH atau Active LOW
Jika relay bekerja terbalik dari yang diharapkan, periksa apakah modul menggunakan Active HIGH atau Active LOW.
5. Berhati-hati dengan Tegangan PLN
Untuk tahap belajar, gunakan LED atau beban DC bertegangan rendah.
Jika relay digunakan untuk mengendalikan perangkat AC PLN 220V, diperlukan penanganan dan isolasi yang tepat karena terdapat risiko sengatan listrik dan kebakaran. Untuk pemula, sebaiknya jangan melakukan pengkabelan PLN secara langsung tanpa pengetahuan dan prosedur keselamatan yang memadai.
Pengembangan Proyek
Setelah berhasil membuat saklar elektronik menggunakan Raspberry Pi Pico, push button, dan relay, proyek ini dapat dikembangkan lebih jauh.
1. Menambahkan Sensor Cahaya
Tambahkan LDR untuk membuat sistem yang dapat mengaktifkan relay secara otomatis ketika kondisi lingkungan menjadi gelap.
2. Menambahkan Sensor Gerak
Sensor PIR seperti HC-SR501 dapat digunakan untuk membuat lampu otomatis berbasis sensor gerak. Ketika sensor mendeteksi gerakan, Raspberry Pi Pico dapat memberikan perintah kepada relay untuk mengaktifkan beban.
3. Menggunakan Beberapa Relay
Jika membutuhkan lebih banyak output, sistem dapat dikembangkan menggunakan modul relay 2 channel, 4 channel, atau jumlah channel lainnya, dengan menyesuaikan jumlah GPIO dan kebutuhan sistem.
4. Mengembangkan Sistem Smart Home
Konsep ini juga dapat menjadi dasar untuk membuat sistem smart home berbasis Raspberry Pi Pico atau mikrokontroler lain yang memiliki konektivitas jaringan.
Baca juga: Deteksi Gerakan dengan PIR HC-SR501 pada Raspberry Pi Pico
Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino






0 Komentar