Arduino ve C# Bluetooth ile DC Motor Kontrolü

Arduino ve C# Bluetooth ile DC Motor Kontrolü bluetooth ile dc motor kontrolü,Arduino ve C# ile Bluetooth Motor Kontrolü

Arduino Bluetooth ile DC motor kontrolü gerçekleştireceğimiz bu kapsamlı rehberimizde; işlevsel bir Windows Forms arayüzü tasarlamayı, L293D motor sürücü entegresi ile çift yönlü DC motor hız kontrolünü (PWM) ve Bluetooth bağlantısını bilgisayar üzerinde sanal bir COM portu (seri port) gibi yapılandırarak kablosuz veri iletimini koordine etmeyi öğreneceksiniz.

Bu projemizde, Arduino’ya bağlı olan HC-06 Bluetooth modülünü bilgisayarımızla kablosuz olarak eşleştirip, C# ile yazdığımız Windows Forms uygulaması üzerinden DC motorun dönüş yönünü ve hızını (PWM) dinamik olarak kontrol edeceğiz. Eğer daha önce C# ile seri port haberleşmesi gerçekleştiren bir uygulama geliştirmediyseniz, öncelikle C# ile Arduino Kontrolü ve Haberleşme Rehberi yazımızı incelemenizi tavsiye ederiz.

HC-06 Bluetooth Haberleşme Modülü
HC-06 Bluetooth modülü; gömülü sistemlerin kablosuz seri iletişim (UART) kurabilmesi amacıyla tasarlanmış, son derece popüler ve kararlı çalışan bir donanımdır. ISM 2.4 GHz RF frekans bandında çalışır ve açık alanda 10 metre menzile kadar kablosuz iletişim imkanı sağlar. Bluetooth 2.0+EDR standartlarını destekleyen bu modül, HC-05’ten farklı olarak varsayılan olarak yalnızca “Slave” (istemci) modunda çalışabilir; yani bağlantıyı başlatan taraf olamaz, sadece gelen bağlantı isteklerini kabul eder. HC-05 ise hem “Master” (yönetici) hem de “Slave” modlarında yapılandırılabilme yeteneğine sahiptir.

HC-06 Bluetooth Modülünün Teknik Özellikleri:

  • Bluetooth Protokolü: Bluetooth 2.0 + EDR (Gelişmiş Veri Hızı),
  • RF Çalışma Frekansı: 2.4 GHz ISM bandı,
  • Alıcı Hassasiyeti: ≤ -80 dBm,
  • Çıkış Gücü Sınırı: ≤ +4 dBm (Class 2 standardı),
  • Asenkron Veri Hızı: 2.1 MBps / 160 KBps,
  • Senkron Veri Hızı: 1 MBps / 1 MBps,
  • Güvenlik Standardı: Dahili Donanımsal Kimlik Doğrulama ve Veri Şifreleme,
  • Çalışma Gerilimi: 1.8V ila 3.6V arası (Geliştirme kartları üzerindeki regülatör nedeniyle genellikle 5V toleranslıdır),
  • Çalışma Akımı: Ortalama 50 mA.

Yazı İçeriği

Arduino ve L293D Donanım Bağlantı Şeması

Arduino ve C# Bluetooth ile DC Motor Kontrolü
Arduino ve C# Bluetooth ile DC Motor Kontrolü

Tasarımda DC motorun yön ve hız yönetimini gerçekleştirebilmek amacıyla yüksek akım toleranslı ve entegre diyot korumalı L293D motor sürücü entegresini kullanıyoruz. Projelerinizde alternatif olarak hazır L298N motor sürücü modüllerini de tercih edebilirsiniz. Kablosuz köprü olarak konumlandırdığımız HC-06 Bluetooth modülünün lojik sinyal seviyelerine dikkat edilmelidir; modülün RX pini genellikle 3.3V seviyesinde çalıştığından, Arduino’nun 5V TX çıkışından gelen sinyali basit bir voltaj bölücü direnç grubu (1kΩ ve 2kΩ) üzerinden geçirerek modüle bağlamak donanım ömrü açısından oldukça önemlidir.

Yukarıdaki elektriksel bağlantıları tamamladıktan sonra HC-06 modülü üzerindeki LED hızlıca yanıp sönmeye başlayarak eşleşme moduna geçecektir. Modülü C# Windows Forms uygulamamız ile kontrol edebilmek için öncelikle bilgisayarımızla eşleştirmemiz gerekir. Bunun için bilgisayarınızın Bluetooth ayarlarına gidin ve “Cihaz Ekle” seçeneğinden HC-06 modülünü taratıp eşleştirin. Eşleşme esnasında şifre sorulursa varsayılan olarak belirlenen “1234” veya “0000” şifrelerini girebilirsiniz.

Eşleştirme tamamlandıktan sonra, işletim sisteminin oluşturduğu sanal seri bağlantı noktasını (COM Port numarasını) öğrenmeliyiz. Bunun için Windows Aygıt Yöneticisi (devmgmt.msc) ekranından “Bağlantı Noktaları (COM ve LPT)” sekmesini inceleyebilir veya Bluetooth ayarlarlarından “Gelişmiş COM Bağlantı Noktaları” kısmına göz atarak HC-06’ya atanan port numarasını (örneğin COM5) not edebilirsiniz. C# uygulamamızda bağlantıyı doğrudan bu port üzerinden gerçekleştireceğiz. Eğer listede herhangi bir COM port ataması göremiyorsanız, Bluetooth ayarları altından manuel olarak bir “Giden COM Portu” eklemeniz gerekmektedir.

Arduino Kaynak Kodları

Arduino yazılımı, seri porttan (Bluetooth üzerinden) gelen karakterleri sürekli dinler. Gelen ‘F’ (İleri), ‘B’ (Geri) veya ‘S’ (Dur) komutlarına göre motor yönünü belirlerken, gelen sayısal hız verilerini de PWM (0-255) sinyaline dönüştürerek L293D sürücüsüne iletir:

C# Windows Forms Arayüz Kodları

C# Windows Forms üzerinde tasarladığımız bu kontrol yazılımı, fiziksel olarak Arduino’ya kablo bağlamaktan farksızdır; kablosuz seri haberleşme protokolünü sanal port üzerinden yönetir:

C# Bluetooth Motor Kontrol Arayüzü
Arduino ve C# Bluetooth ile DC Motor Kontrolü

Görsel kullanıcı arayüzünü (GUI) tasarlamak için formunuza şu standart kontrolleri eklemeniz yeterlidir:

  • ComboBox: Bilgisayardaki aktif COM portlarını listelemek için,
  • SerialPort: Kriptografik seri haberleşme protokollerini yönetmek için,
  • TrackBar: Motorun PWM hız değerini (0-255 arası) ayarlamak için,
  • RadioButton: Motor yönünü (İleri/Geri) belirlemek için,
  • Button ve GroupBox bileşenleri.

Geliştirdiğimiz C# Windows Forms proje dosyalarını buraya tıklayarak doğrudan bilgisayarınıza indirebilirsiniz.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.