- HM10 BLE 4.0 Modülü nedir?
- HM10 ve diğer Bluetooth Modülü arasındaki fark
- Gerekli Bileşenler
- Devre şeması
- Arduino Bluetooth Controller (HM-10 Module) Android Uygulaması
- HM-10 Bluetooth Modülünü kullanarak LED'i Kontrol Etmek için Arduino UNO'yu Programlama
Bluetooth, en popüler ve kullanımı kolay kablosuz teknolojilerden biridir. Birkaç yıl içinde, gelecekteki teknoloji ile mevcut devam eden teknolojiye ayak uydurmak ve kullanıcıların ihtiyaçlarını karşılamak için Bluetooth standardında birçok yükseltme yapıldı. Bluetooth sürüm 1.0'dan Bluetooth sürüm 5.0'a kadar, daha yüksek veri hızları, düşük akım tüketimiyle IoT için kullanılabilme yeteneği, geliştirilmiş güvenlik vb. Dahil olmak üzere birçok şey değişti. Bluetooth iletişimini öğrenmek için kullanılabilen birçok modül vardır mikrodenetleyicilerle arayüzlü. Böyle bir Bluetooth modülü, Bluetooth 4.0'a dayanan HM10'dur.
HM10 BLE 4.0 Modülü nedir?
HM10, düşük güç tüketimli uygulamalar için kullanılmak üzere tasarlanmış bir seri BLE modülüdür (Bluetooth-Düşük Enerji) ve madeni para büyüklüğünde bir pille bile uzun süre dayanabilir. HM10 Bluetooth 4.0 modülü dayalı Texas Instruments CC2540 veya CC2541 BLE Sistemi SoC (Chip Sistemi). Modülün aygıt yazılımı ve tasarımı Jinan Huamao Technology tarafından yapılır ve yönetilir. Modül, cihazın farklı mikro denetleyicilerle arayüz oluşturabilmesini sağlayan seri / UART katmanı ile birlikte gelir. HM10, basit bağlantılar oluşturmak ve bunu bir iBeacon ile veya bir iBeacon olarak kullanmak için idealdir.
HM10, çok popüler bir Bluetooth 4.0 BLE modülü haline geldi. HM10 yalnızca Bluetooth 4.0 tabanlı bir modüldür, bu nedenle HC-05, HC-06 ve diğer Bluetooth modülleri gibi Bluetooth 2 / 2.1 modülüne bağlanmayacaktır. HM10, seri UART bağlantısı üzerinden gönderilen AT komutları aracılığıyla kontrol edilir. HM-10 bir Bluetooth Düşük Enerji (BLE) modülüdür, BLE hakkında daha fazla bilgi edinmek için bağlantıyı takip edin. Ayrıca nRF24L01 modülünün Arduino ile BLE modülü olarak nasıl kullanılabileceğini öğrenin.
HM10 ve diğer Bluetooth Modülü arasındaki fark
HM10'un sahip olduğu en büyük fark Bluetooth Versiyonudur. HM10, Bluetooth 4.0 modülüdür, bu nedenle hız, verim ve menzil gibi tüm Bluetooth Sürüm 4.0 özellikleriyle birlikte gelir. Düşük enerjili / düşük güç tüketimi ile en fazla 24 Mbps HM10 teklifler veri hızı. Bununla birlikte HM10, açık alanda 100 metrelik bir mesafe aralığı sunar. Bluetooth 2.0 tabanlı bir modül olan HC-05 gibi diğer Bluetooth modülleriyle karşılaştırıldığında, HM10 kesinlikle HC-05'ten daha iyi performans gösterir. HC-05, HM10 ile karşılaştırıldığında yalnızca 3 Mbps sunar ki bu oldukça düşüktür.
Bluetooth modülü HC-05 ve HC-06, ucuz ve arabirimi kolay oldukları için yapımcılar ve hobiler arasında hala çok popüler. Ayrıca HC-05/06 kullanarak birçok proje yaptık ve diğer birçok mikro denetleyici ile arayüz oluşturduk:
- ESP8266 ile Bluetooth Modülü Arayüzü: Bir LED'i Kontrol Etme
- Bluetooth HC-05 ile STM32F103C8 Mavi Hap arasında arayüz oluşturma: LED'i kontrol etme
- HC-05 Bluetooth modülünü AVR Mikrodenetleyici ile arayüzleme
- Bluetooth Modülü HC-06 ile PIC Mikrodenetleyiciyi Arayüz
- Arduino ve Bluetooth kullanan Ses Kontrollü LED'ler
- Raspberry Pi kullanarak Ses Kontrollü Işıklar
Bluetooth ile ilgili tüm projeler bu bağlantıda bulunabilir.
Bugün bir LED'i Bluetooth protokolünü kullanarak kablosuz olarak kontrol etmek için HM-10 BLE Modülünü Arduino Uno ile arayüzleyeceğiz. Açma / Kapama komutları Akıllı Telefon tarafından gönderilecektir.
Gerekli Bileşenler
Donanım:
- Arduino UNO
- HM10 Bluetooth Modülü
- Dirençler (1 kΩ, 470 Ω)
- Atlama Telleri
Yazılım:
- Arduino IDE
- Arduino Bluetooth Controller (HM-10 Module) Android Uygulaması
- Android Akıllı telefon
Devre şeması
Arduino ve HM-10 Bluetooth modülünü bağlamak için devre şeması aşağıda gösterildiği gibi çok basittir.
Projeye başlamadan önce HM-10 modülünüzün gerçek bir HM-10 modülü olduğundan emin olun. Yaygın olarak Çince klonlanmış HM-10 modülleri mevcuttur. Orijinal ve Klonlanmış HM-10 modülü arasındaki farkı belirlemek için, HM-10 Kart üzerinde 32KHz Kristal Osilatörün varlığına bakın. Kristal Osilatör varsa, bu gerçek bir HM-10 Modülüdür ve Firmware'i değiştirmenize gerek yoktur. Ancak onun yerine Kristal Osilatörü göremiyorsanız, bu bir Klonlanmış HM10 modülüdür ve Klonlanmış HM-10 Modülünün Ürün Yazılımını değiştirmeniz gerekir.. HM-10 aygıt yazılımını değiştirmeden, HM-10 modülüne AT komutlarıyla erişemez veya onu akıllı telefonlarla eşleştiremezsiniz. Burada klon modülünü de kullanıyoruz, bu yüzden Ardruino ile bağlamadan önce ürün yazılımını flaş ettik. Klonlanmış HM-10 modülünün Aygıt Yazılımını değiştirmek için, Klon HM-10 modülünün Aygıt Yazılımının nasıl değiştirileceği veya yanıp söneceği konusundaki eğitimimizi takip etmeniz yeterlidir.
Arduino Bluetooth Controller (HM-10 Module) Android Uygulaması
Arduino Bluetooth Controller (HM-10 Modülü), Google Play Store'da ücretsiz olarak bulunan bir android uygulamasıdır. Bu uygulama, HM-10 BLE Modülü için kolay ve basit bir arayüze sahiptir. Test sırasında HM-10'u hızlı bir şekilde bulabildi ve HM-10 ile anında bağlantı kurdu. Uygulama, bir düğme oluşturabileceğiniz ve onu özel ad ve işlevlerle özelleştirebileceğiniz gibi bazı harika özelliklere sahiptir. Burada , Arduino ile bağlantılı LED'i açmak ve kapatmak için bu Bluetooth denetleyici uygulamasında iki düğmeyi nasıl oluşturacağız.
Arduino Bluetooth Controller (HM-10 Modülü) Android Uygulaması nasıl kurulur:
- Google Play Store'dan uygulamayı indirin.
- Uygulamanın Ana sayfası, Cihaz bağlama, Arama Simgesi, Simge Silme, Cihaz Durumu, Metin Gönderme, Şablon Ekle vb. Özellikleri bulabileceğiniz aşağıdaki gibi görünecektir . Arama Simgesine tıklayarak veya tıklayarak Cihazı aramaya başlayın. sağ üst köşede üç nokta ve Cihazı Bağla'yı seçin.
- Mevcut tüm cihazlar ekranda gösterilecektir. Doğru HM-10 Modülünü seçin.
- Şimdi HM-10 başarıyla bağlanacak ve Ekranın Üstünde HM-10'un durumunu görebileceksiniz.
- Artık metin bölümüne yazarak doğrudan bir metin veya String gönderebilir ve göndermek için oka basabilir veya özel bir şablon oluşturabilirsiniz.
- Zaman kazanmak için özel bir şablon oluşturmak için. Sağ üst köşedeki " + " simgesine tıklayın ve bilgileri doldurun. " Ad ", düğme adıdır, " Metin " alanı, HM-10'a gönderilecek metinler veya dizeler içindir ve " Açıklama ", düğmenin nasıl çalışacağına dair yalnızca düğme açıklamasıdır.
- Öncelikle, LED'i AÇMAK için bir düğme oluşturun ve ona Yeşil Renk verin. Buton HM-10'a “N” harfi gönderecek ve Arduino'ya bağlı led'i yakacaktır. Benzer şekilde LED KAPALI için bir düğme oluşturun ve ona Kırmızı Renk verin.. Buton HM-10'a “F” harfi gönderecek ve Arduino'ya bağlı led'i kapatacaktır.
- Artık Metin Alanının hemen altında oluşturulan iki düğmeyi görebilirsiniz. Şimdi LED'i kontrol etmek istiyorsanız, sadece Düğmelere tıklayın.
Bu , HM-10 modülünü kontrol etmek için android uygulamasının kurulumunu tamamlar. Şimdi karakterleri Android Uygulamasından almak için Arduino Uno programlamasına başlayacağız.
HM-10 Bluetooth Modülünü kullanarak LED'i Kontrol Etmek için Arduino UNO'yu Programlama
Her zaman olduğu gibi , tanıtım videosu ile eksiksiz bir program bu eğitimin sonunda bulunabilir. Bu proje için Arduino UNO'yu programlamak ne çok çaba ister ne de herhangi bir kitaplık gerektirir. Donanım seri ve yazılım seri kitaplığını kullanabilirsiniz. Yazılım serisini kullanıyorsanız, sadece yazılım seri kitaplığını ekleyin, aksi takdirde donanım serisine devam edin. Bu projede SoftwareSerial kullanıyoruz. Bu yüzden Yazılım Seri Kitaplığını dahil ederek başlayın. Rx ve Tx pinleri Arduino'nun 2 ve 3 Pinlerine bağlanır.
#Dahil etmek
İki değişken, HM10 ve android uygulamasından alınan verileri depolamak için kullanılır.
char appData; String inData = "";
Sadece 9600 baud hızında Donanım ve Yazılım Seri başlatmak ve bazı hata ayıklama ifadeleri yazdırmak. LED pini çıkış olarak ayarlanır ve başlangıçta kapalıdır.
Serial.begin (9600); Serial.println ("HM10 seri 9600'de başladı"); HM10. Başlar (9600); // HM10 serisini 9600 baud hızında pinMode (13, OUTPUT) olarak ayarlayın; // yerleşik LED digitalWrite (13, LOW); // LED KAPALI konuma getirin
HM10 bağlantı noktasını dinlemeye başlayın ve HM10 kullanılabilir olana ve verileri gönderene kadar dizeyi okuyun. Verileri dize olarak kaydedin.
HM10.listen (); // HM10 bağlantı noktasını dinlerken (HM10.available ()> 0) {// HM10 bir şey gönderirse appData = HM10.read () öğesini okuyun ; inData = Dize (appData); // verileri Serial.write (appData) dizge biçiminde kaydedin; }
İçin AT komutları ile HM10 ayıklama sadece HM10 dize gönderir kod sınırının altında yazın.
if (Serial.available ()) {// Varsa kullanıcı girdisini okuyun. gecikme (10); HM10.write (Serial.read ()); }
Alınan dizi “F” ise, o zaman seri monitörde bir mesaj yazdırın ve eğer alınan dizi “N” ise led'i KAPATIN, ardından seri monitörde bir mesaj yazdırın ve 500ms'lik bir gecikmeyle yanıp sönen led'i yazdırın.
eğer (inData == "F") { Serial.println ("LED KAPALI"); digitalWrite (13, DÜŞÜK); // KAPALI LED gecikmesi (500); } if (inData == "N") { Serial.println ("LED AÇIK"); digitalWrite (13, YÜKSEK); // KAPALI LED gecikmesi (500); digitalWrite (13, DÜŞÜK); // KAPALI LED gecikmesi (500); }
Bu, Arduino ve BLE HM10 Blutooth 4.0 modülünü kullanarak LED'in nasıl kontrol edileceğine dair eksiksiz öğreticiyi bitirir. Yine unutmayın , eğer orijinal bir HM10 modülünüz varsa, yazılımını flaş etmeniz gerekmez, hemen kullanılabilir. Ancak klonlanmış bir HM-10 modülü kullanıyorsanız, ürün yazılımını klon HM10 BLE modülünde flaş edin. Herhangi bir şüpheniz veya öneriniz varsa, lütfen aşağıya yorum yapın veya forumumuza yazın.