Arduino ile Led Kontrolü
23.02.2020 - 05:02
Onur Bey,
Bir sürü böyle yarım yamalak bilgi veren sitelerde olduğu gibi, bu 2ci BT proje sitesi yanlış ve eksik bilgilerle dolu.
Yeni başlayan biri olarak en önemli şey öğrendiklerinizin doğru prensiplere dayanaklı olmasıdır.
Bu makaledeki yanlışları size sunuyorum. Başka daha doğru bilgili sitelerle çalışın ki, projeleriniz doğru ve sağlam olsun.
1. HC-05 ve HC-06 arasındaki fark, söylendiği gibi sadece bir düğme değildir. HC-05 hem MASTER hem de SLAVE olarak çalışabilen bir aygıttır. HC-06 ise yalnız SLAVE olarak çalışır. Bunun ne olduğunu anlamıyorsanız, BlueTooth detaylarını araştırın, inceleyin ve öğrenin.
2. Arduino 0-5V girdi / çıktı ile çalışır. Tüm pinleri 5V sinyal verir. Bluetooth aygıtları voltaj bağlantısı olarak 3-6V arası çalışmasına rağmen, TX ve RX pinleri 3.3V olarak tanımlanmışlardır. Bu yüzden, 3.3V BT RX 5V çıkış yapan Arduino'ya bağlanırsa, bir zaman sonra hasar görür ve bozulur. Hemen olmasa da, sonuç budur. 3.3V BT TX pinini 5V Arduino'ya bağlamakta bir zarar olmaz, çünkü Arduino 3.3V u girdi olarak kabul eder.
Bunu önlemek için, Arduino'nun TX pini HC-05 / HC-06 'in RX pinine bir 5V -> 3.3V voltaj düşürme devresi ile bağlanmalıdır. Bu basit bir şekilde iki tane resistör kullanarak veya hazır bir aygıt alarak yapılabilir. Gene araştırın ve uygulayın.
3. Verilen örnek, bağlantıları anlatırken Arduino'nun RX ve TX pinlerinden bahsediyor, fakat BT konfigürasyon kod uygulaması bu pinleri değil, sanal SoftwareSerial yöntemini uyguluyor. İkisi de kullanılabilir, fakat SoftwareSerial Arduino'nun RX/TX pinlerini değil, sizin atadığınız ve aynı işlemi yapacak İKİ AYRI pin ile çalışır.
4. Konfigürasyon yapan program sadece BT'ye gereken kumandaları yolluyor, fakat ondan gelen cevaplara bakmıyor ve aslında kendi yazdığı bir cevabı sanki konfigürasyon uygulanmış gibi size gösteriyor. Bu demek değildir ki BT aygıtı doğru ayarlandı. Gelen cevapları ıskartalamak tamamen yanlış bir yöntemdir.
5. Daha sonra, LED uygulamasında ise, BT aygıtı Arduino RX/TX e bağlanmış şekilde gösteriliyor. Bağlantı detayları hakkında başka herhangi bir bilgi verilmediği için, bu projeyi böyle çalıştırmanız size bir sürü zorluk çıkaracaktır:
a. Eğer BT aygıtı baştan Arduino'ya böyle bağlanırsa, o zaman PC ile olan USB bağlantısı ve buradan yapmanız gereken yazılım yükleme işlemleri çalışmayacaktır. Çünkü BT aygıtı Arduino'nun yükleme için kullanılan bu RX/TX portlarını paylaşarak, iletişimi bozacaktır.
Doğru yöntem:
* BT'yi ayırın ve programınızı Arduino'ya yükleyin. Yükleme bittikten sonra, BT aygıtını bağlayıp Arduino'yu RESET edin ve çalışmanıza devam edin. Eğer programınıza bir değişiklik yapmak gerekirse, tekrar BT'yi ayırıp değişiklikleri uygulayın ve tekrar edin.
b. Eğer bu detaylarla uğraşmak istemezseniz, o zaman BT aygıtını konfigürasyon yaparken bağladığınız SoftwareSerial pinlerinde bırakabilirsiniz. Aslında bu daha doğru bir yöntem olacaktır, çünkü hata ayıklaması için gerekebilecek haberleşmeyi Arduino RX/TX pinleri üzerinden yapabilmenizi sağlar. Bunu yapacaksanız, o zaman programa bazı değişiklikler yapmanız gerekir:
* SoftwareSerial mySerial(10, 11); // RX,TX
* mySerial.begin(9600);
* if(mySerial.available()>0){
Bu değişiklikler Arduino'nun RX/TX pinleri yerine sanal SoftwareSerial RX=10 ve TX=11 pinlerini kullanmanızı sağlayacaktır.
Yani, Bluetooth bağlantınız bu iki pin üzerinden çalışacaktır. Arduino RX/TX pinleri de hem program yükleme için hem de hata ayıklama detaylarını Seri Konsolda yazabilmeniz için kullanılabilecektir.
Umarım projeniz başarılı olur.
Hangi uygulamadan başlayacağın senin nasıl bir uygulama yapmak istediğine bağlı. Mobilden kontrol etmek istiyorsan ilk linke girmelisin ama mobil uygulamayla uğraşmak istemiyorsan 2. koyduğun linke girmelisin direk serial ekranda halledebilirsin. Benim sana tavsiyem ilk defa arduino ile ilgili çalışma yapacaksan sadece pcden değerleri kendin vererek yapmandır daha sonra mobil uygulamada yapabilirsin.