Raspberry Pi Pico Micropython ve HC-05 ile Röle Kontrolü

Raspberry Pi Pico kullanılarak Bluetooth modülü üzerinden Röle kontrol edilecektir. Bluetooth modülünü telefonumuza bağlayarak kullanacağız. Proje için kullanılacak malzemeler aşağıda verilmiştir.

  • Raspberry Pi Pico

  • HC-05

  • 2 Kanal 5V Röle Kartı

  • 2 adet 220R Direnç

  • 2 adet 5mm LED

  • Jumper Kablolar

  • Breadboard

Öncelikle devremizi kuruyoruz. Devre şeması aşağıda verilmiştir.

Devreyi kurduktan sonra Raspberry Pi Pico'nun bilgisayarla bağlantısını sağlıyoruz. Kodumuzu yazmaya başlamadan önce Bluetooth modülünü telefonumuza bağlamamız gerekiyor. Telefon ile Bluetooth eşleştirmesini gerçekleştirdikten sonra Serial Bluetooth Terminal uygulamasını indirerek uygulama içerisinde de eşleştirmeyi tamamlıyoruz. Artık kod yazma kısmına geçebiliriz.

Bluetooth üzerinden alacağımız veri için nesne tanımı yapılıyor.

rxData = bytes()

Bluetooth ve Röle pinlerinin tanımını gerçekleştiriyoruz.

uart = UART(0, baudrate = 9600, tx=Pin(0), rx=Pin(1))
in1 = Pin(3, Pin.OUT)
in2 = Pin(6, Pin.OUT)

while True içerisinde Bluetooth verisinin okunması sağlayıp okunan veriye göre Röleyi açıp kapatma işlemini kodluyoruz.

if uart.any() > 0:
        rxData = uart.read(1);
        if "1" in rxData:
               uart.write("Led 1 ve Led 2 açıldı")
               print("Led 1 ve Led 2 açıldı")
               in1.value(0)
               in2.value(0)

Kodun tamamı aşağıda verilmiştir.

from machine import UART, Pin

rxData = bytes()

uart = UART(0, baudrate = 9600, tx=Pin(0), rx=Pin(1))
in1 = Pin(3, Pin.OUT)
in2 = Pin(6, Pin.OUT)

in1.value(1)
in2.value(0)
uart.write("Sistem başlıyor.")


while True:
    if uart.any() > 0:
        rxData = uart.read(1);
        
        if "1" in rxData:
               uart.write("Led 1 ve Led 2 açıldı")
               print("Led 1 ve Led 2 açıldı")
               in1.value(0)
               in2.value(0)
        elif "0" in rxData:
               uart.write("Led 1 ve Led 2 kapandı")
               print("Led 1 ve Led 2 kapandı")
               in1.value(1)
               in2.value(1)

Proje çıktıları aşağıda verilmiştir.











Son Paylaşımlar