Bluetooth modülü nedir? Bluetooth modülü hc 06 pin çıkışı

Arduino'daki yükleri kontrol etmek için bir Android uygulaması geliştirmekle meşgulüz. Ancak hepinizin anladığı gibi, birini diğerine bağlayamazsınız; bir iletişim kanalına ihtiyacınız var ve sahip olduğumuz en erişilebilir ve en ucuz kanal hangisi? Tabii ki Bluetooth! Bunun hakkında daha fazla konuşacağız.
Bugün üretim sorunlarını çözüyoruz - HC-06 Bluetooth modülünü bağlayarak. HC-05'ten temel farkı, basitleştirilmiş olması ve yalnızca gerekli minimum yetenekleri sağlamasıdır.

Genel olarak HC-06, kablosuz bir UART genişletici olarak düşünülebilir. PC'den Bluetooth aracılığıyla bağlandığımız için onu COM portu olarak görüyoruz ve kişilere bağlanırken saf bir UART'a sahip oluyoruz. Bir taraftan gelen hemen hemen her şey diğer taraftan çıkıyor. Kişilerden gelen AT komutları hariç.

AT komutları, geçmişi 1977'ye kadar uzanan eski modemlerin mirasıdır. Bunlar kısa dize komutlarıdır, örneğin “AT”, “AT-NAME”, “AT-PIN”. Genellikle bir komutun girilmesi Enter tuşuyla tamamlanır. Ancak bu sefer her şey biraz farklı ve komutun tamamının yaklaşık bir saniye içinde alınması gerekiyor. Bu nedenle direkt klavyeden porta yazmamızı sağlayan programlar konfigürasyona uygun değildir (panodan deneyebilirsiniz ancak burma ihtimali vardır). Dizinin tamamını bir sinyalle gönderme yeteneğine ihtiyacımız var.

Silahlı COM Bağlantı Noktası Araç Seti, hızı 9600'e ve karşılık gelen port numarasına ayarladık. Daha sonra ilk satır olan “AT”yi hazırlıyoruz. Gönderiyoruz ve “Tamam” yanıtı alıyoruz. Bu zaten iyi bir işaret. RX ve TX'i karıştırmadık ve hız konusunda yanılgıya düşmedik. Daha sonra muhtemelen modülünüze bir isim vermek isteyeceksiniz. "AT-NAMEhome" yazıyoruz ve yanıt olarak "OKhome" gibi bir şey alıyoruz. Erişim kodunu şu şekilde değiştiriyoruz: “AT-PIN010203” ve şunu elde ediyoruz: “OKsetpin”
İyi o zaman. Bu, ilk kurulumu tamamlar.

Güncellemeleri kaçırmayın! Grubumuza abone olun

HC-05 Bluetooth modülü UART veri yolu üzerinden bağlanır ve AT komutlarını yürütme kapasitesine sahiptir. AT komutu "AT" harfleriyle başlayan bir dizedir (İngilizce'den en gerginlik - “dikkat”). Modül alınan komutu yürütür ve yine bir dize olan bir yanıtı (komutun sonucunu) geri gönderir. HC-05 Bluetooth modüllerinde her komut (ve yanıt) yeni satır karakterleriyle “\r\n” ile bitmelidir.

Bağlantı:

  • HC-05 Bluetooth modülü bir bilgisayardan veya Arduino gibi bir mikrodenetleyici aracılığıyla kontrol edilebilir. Modülün RX pini TX pinine, modülün TX pini ise kontrol edileceği cihazın RX pinine bağlanır.
  • Modülü bir bilgisayara bağlamak için(mikrodenetleyiciler olmadan) bir USB-UART adaptörüne veya bir RS232-UART adaptörüne veya TX RX pinli bir programlayıcıya ihtiyacınız olacak; USB-UART adaptörü yerine makalede anlatıldığı gibi bir Arduino kartı kullanabilirsiniz. Modüle komut göndermek için terminal programını kurmanız gerekecektir. Bu terminallerden biri de ücretsiz olarak dağıtılan, Rusça dil desteğine sahip Termite programıdır.
  • Modülü Arduino'ya bağlamak için Donanım veya yazılım UART veriyolunu kullanabilirsiniz. Donanım veri yolu kullanıldığında modül, kart üzerinde belirtilen TX ve RX pinlerine bağlanır. Bir yazılım veri yolu kullanıldığında modül, Arduino'nun atanmış TX ve RX pinlerine bağlanır.

Ayar:

HC-05 Bluetooth modülü yalnızca aşağıdaki seri port parametreleri doğru yapılandırıldığında komutları alabilecektir:

  • Sayıliman: Bunu deneysel olarak bulabilir, adaptörün veya Arduino'nun bağlantısını kesebilir, hangi bağlantı noktalarının mevcut olduğunu görebilirsiniz. Adaptörü veya Arduino'yu bağlayın ve hangi bağlantı noktalarının mevcut olduğunu tekrar görün. Görünen bağlantı noktası aynı bağlantı noktasıdır.
  • Veri aktarım hızı: Normal modda, HC-05 Bluetooth modülü son ayarlanan veri hızını korur, ancak varsayılan olarak 38400 bps'dir (nadiren 9600 bps). Her iki hız da uygun değilse yazının sonundaki nota bakın.
  • Veri aktarım parametreleri: Modül, son ayarlanan veri aktarım parametrelerini kaydeder. Varsayılan parametre değerleri: paketteki bit sayısı - 8, durdurma biti boyutu = 1, eşlik kontrolü yok.
  • İletilen metin:“CR ve LF(NL) karakterlerini ekle” öğesini ayarlamanız gerekir; bunlar, AT komutlarının sonuna koyamayacağınız “\r\n” satır besleme karakterleridir.

Bu parametreleri Termite programında yapılandırmak için “Ayarlar” butonuna tıklayın. Aynı pencerede Rus dilini ayarlayabilirsiniz.

Arduino kullanırken port numarası “Araçlar” sekmesinde belirtilir. Veri aktarım ayarları varsayılan olarak kullanılır. NL ve CR karakterlerini eklemek için seri monitörün sağ alt köşesindeki menüyü kullanın.

Muayene:

Modülün her güç bağlantısından veya yeniden başlatılmasından sonra, komutları göndermeden önce modül düğmesine kısa süre basmanız gerekir. Modülde bir düğme yoksa, K pinine kısa süreliğine yüksek bir seviye uygulayın. Bundan sonra modül normal modda kalacak ancak AT komutlarını kabul edecektir. Modül normal modun yanı sıra AT komut modunda da çalışabilir. Bu moda nasıl girileceği ve normal moddan ne kadar farklı olduğu aşağıda not kısmında anlatılmıştır.

Bluetooth modülüyle iletişimi kontrol etmek için bir test komutu gönderin AT(metni girin AT ve Enter'a basın). Bağlantı doğru kurulursa modül yanıt verecektir TAMAM. Bundan sonra diğer AT komutlarını gönderebilirsiniz.

AT komutları:

Terminal programı CR & LF veya NL & CR sembollerinin eklenmesini belirtiyorsa, komutlara “\r\n” sembollerini koymaya gerek yoktur!
Komutlar normal olabilir: AT+COMMAND\r\n , sorgular: AT+COMMAND?\r\n veya ayarlar: AT+COMMAND=PARAMETER(S)\r\n .

AT komutu: Cevap: Amaç:
AT AT\r\n Tamam\r\n Test komutu:
Modül ile iletişimi kontrol etmek için kullanılır.
SIFIRLA +SIFIRLAMADA\r\n Tamam\r\n Modül yazılım sıfırlama komutu:
Modül kısa bir elektrik kesintisinden sonraymış gibi davranır.
VERSİYON +VERSİYONUNDA MI?\r\n +VERSİYON: VERSİYON\r\n
Tamam\r\n
Modül donanım yazılımı sürümünü isteyin:
Modül, sürümü 32 bayta kadar bir dize olarak döndürür.
Örnek yanıt: +VERSION:hc01.comV2.1\r\n OK\r\n
AT+ORGL'de AT+ORGL'de\r\n Tamam\r\n Kullanıcı ayarlarının sıfırlanması:
Modül aşağıdaki ayarları sıfırlar:
SINIF=0, IAC=9e8b33, ROLE=0, CMODE=0, UART=38400,0,0, PSWD=1234, İSİM=hc01.com.
ADDR +ADDR'de mi?\r\n +ADDR: ADRES\r\n
Tamam\r\n
Modül adresi talebi:
Modül, NAP:UAP:LAP adresinin iki nokta üst üste işaretiyle ayrılmış üç bölümünü döndürür.
Her bölüm onaltılık rakamlardan oluşur.
Örnek yanıt: +ADDR:1234:56:789ABC\r\n Tamam\r\n
İSİM AT+NAME?\r\n +İSİM: İSİM\r\n
Tamam\r\n
Modül adını sorgula/ayarla:
Modül adı, 32 bayta kadar bir dize olarak temsil edilir.
Örnek yanıt: +NAME:iArduino\r\n OK\r\n
Kurulum örneği: AT+NAME=iArduino\r\n
Bazı modüller AT+NAME?\r\n komutuna yalnızca modül düğmesine basıldığında veya K girişi yüksek olduğunda yanıt verir.
AT+NAME=İSİM\r\n Tamam\r\n
RNAME AT+RNAME mi? ADRES\r\n +RNAME: İSİM\r\n
Tamam\r\n
Bulunan Bluetooth cihazının adının istenmesi:
Adres bir boşluktan sonra girilir ve adresin bölümleri (NAP,UAP,LAP) virgülle ayrılır. Modül, kapsama alanı içinde bulunan ve adresi istekte bulunan Bluetooth cihazının adını döndürür.
Sorgu örneği: AT+NAME? 1234.56.789ABC\r\n
Örnek yanıt: +RNAME:iArduino\r\n OK\r\n
ROLÜ +ROLE'DE mi?\r\n +ROL: ROLÜ\r\n
Tamam\r\n
Modül rolünü talep edin/ayarlayın:
Modülün rolü bir sayıyla temsil edilir:
Bir döngüde 0 - ikincil, 1 - ana, 2 - ikincil.
Örnek cevap: +ROLE:1\r\n
Kurulum örneği: AT+ROLE=0\r\n
AT+ROLE= ROLE\r\n Tamam\r\n
SINIF +SINIFTA mı?\r\n +SINIF: TİP\r\n
Tamam\r\n
Cihaz tipini sorgula/ayarla:
Cihaz türü, modülün amacını belirleyebileceğiniz 32 bitlik bir sayı ile temsil edilir: Bluetooth klavye, Bluetooth fare, kulaklık...
Ayar örneği: AT+CLASS=0\r\n
AT+SINIF= TÜR\r\n Tamam\r\n
IAC AT+IAC'de mi?\r\n +IAC: KOD\r\n Tamam\r\n GIAC Paylaşımlı Erişim Kodunu Talep Edin/Ayarlayın:
Kod 32 bitlik bir sayı olarak temsil edilir ve Bluetooth cihazlarını tespit etmek için kullanılır.
Bir ana rolünde, bu kodu kullanarak, modül diğer Bluetooth aygıtlarını aramak (sorgulamak) için erişim kazanacak ve bir köle rolünde, bu kodu kullanarak, modülü başkaları tarafından yoklamak için erişim sağlanacaktır. ustalar.
Örnek yanıt: +IAC:9e8b33\r\n Tamam\r\n
Kurulum örneği: AT+IAC=9e8b33\r\n
AT+IAC= KOD\r\n Tamam\r\n
veya
BAŞARISIZ\r\n
INQM AT+INQM'de mi?\r\n +BİLGİ: MOD,COL,ZAMAN\r\n
Tamam\r\n
Modül yoklama modunu sorgula/ayarla:
Kullanılan parametreler, diğer Bluetooth cihazları için arama komutunun (anket) ayarlarıdır.
- Arama modu bir sayıyla temsil edilir:
0 standart, 1 sinyal yoğunluğuna göre arama.
- Miktar, bulunan maksimum Bluetooth cihazı sayısını belirleyen bir sayı ile temsil edilir; bundan sonra aramanın durdurulması gerekir.
- Arama süresi, aramanın durdurulacağı zaman aşımını ayarlar. Saniye cinsinden gerçek arama süresi, belirtilen sayının 1,28 ile çarpımına eşittir.
Örnek yanıt: +INQM:1,1,48\r\n Tamam\r\n
Kurulum örneği: AT+INQM:1,1,48\r\n
AT+INQM= MOD, SAYIM, ZAMAN\r\n Tamam\r\n
veya
BAŞARISIZ\r\n
PSWD AT+PSWD mi?\r\n +PSWD: KOD\r\n
Tamam\r\n
PIN Talep Et/Ayarla:
Erişim kodu, 16 bayta kadar bir dizi olarak temsil edilir.
Slave rolündeki modül kodu, geçerli modüle erişim şifresidir.
Ana cihaz olarak modül kodu, harici Bluetooth cihazlarına erişim şifresidir.
Örnek yanıt: +PSWD:1234\r\n Tamam\r\n
Kurulum örneği: AT+PSWD=1234arduino\r\n
AT+PSWD= KOD\r\n Tamam\r\n
UART +UART'ta mı?\r\n +UART: SKOR,DURMAK,PROV\r\n
Tamam\r\n
UART hızını sorgulayın/ayarlayın:
Hız, bit/sn sayısıyla temsil edilir
Durdurma biti bir sayıyla temsil edilir: 0 - bir, 1 - iki
Çek bir sayıyla temsil edilir: 0 - çek yok,
1 - tek eşlik kontrolü, 2 - çift eşlik kontrolü.
Örnek yanıt: +UART:38400,0,0\r\n Tamam\r\n
Kurulum örneği: AT+UART=38400,0,0\r\n
AT+UART= HIZ, DUR, KONTROL\r\n Tamam\r\n
CMODE +CMODE'da mı?\r\n +CMOD: MOD\r\n
Tamam\r\n
Bağlantı modunu talep edin/ayarlayın:
Mod bir sayıyla temsil edilir:
0 - modül ana olarak yalnızca adresi AT+BIND komutuyla belirtilen Bluetooth cihazına bağlanır.
1 - modül ana olarak herhangi bir Bluetooth bağımlı cihaza bağlanır.
2 - modül bir köle olarak bir döngüde çalışır*
Örnek yanıt: +CMOD:0\r\n Tamam\r\n
Kurulum örneği: AT+CMOD=1\r\n
AT+CMODE= Modern Tamam\r\n
BAĞLAMA AT + BIND'da mı?\r\n +BAĞLAMA: ADRES\r\n
Tamam\r\n
Sabit bir adres isteyin/ayarlayın:
Modül master rolündeyse (ROLE=1) ve sabit adrese bağlantı modu ayarlanmışsa (CMODE=0), yalnızca adresi bu komutla belirtilen Bluetooth cihazına bağlanacaktır.
Adresin bazı kısımları girilir: ayarlarken - virgülle ayrılmış ve yanıtlarken - iki nokta üst üste ile ayrılmış.
Örnek yanıt: +BIND:1234:56:789ABC\r\n Tamam\r\n
Kurulum örneği: AT+BIND=0,0,0\r\n
AT+BAĞLAMA= ADRES\r\n Tamam\r\n
KUTUP +POLAR'da mı?\r\n +KUTUP: KAYIT,KAYIT\r\n
Tamam\r\n
LED'leri açmak için aktif mantık seviyesini sorgulayın/ayarlayın:
Polarite, aktif mantık seviyesine karşılık gelen 0 veya 1 sayısıyla temsil edilir.
İlk parametre, PIO8 pinine bağlı LED'in açılması için mantıksal seviyeyi belirtir (çalışma modunu görüntüler), ikincisi ise PIO9 pinine bağlı LED için (bağlantı durumunu görüntüler).
Örnek cevap: +POLAR:1,1\r\n Tamam\r\n
Kurulum örneği: AT+POLAR=1,1\r\n
AT+POLAR= GÜNLÜK, GÜNLÜK\r\n Tamam\r\n
PIO AT+PIO= SAYI,DÜZEY\r\n Tamam\r\n PIO mantık düzeyinin ayarlanması:
PIO pinindeki mantık seviyesini ayarlamanızı sağlar. Pin numarası, 8 ve 9 hariç, 2'den 11'e kadar bir sayı ile temsil edilir. Seviye, 0 veya 1 sayısıyla temsil edilir.
Kurulum örneği: AT+PIO=11.0\r\n
MPIO AT+MPIO'da mı?\r\n +MPIO: SAYI\r\n
Tamam\r\n
PIO mantık seviyelerini sorgulama/ayarlama:
Tüm PIO pinlerindeki mantık seviyelerini aynı anda bulmanızı veya ayarlamanızı sağlar.
Seviyeler, her bir biti bir PIO pin seviyesine karşılık gelen onaltılık bir sayı ile temsil edilir.
Örnek yanıt: +MPIO:1F0\r\n Tamam\r\n
Kurulum örneği: AT+MPIO:CFC\r\n
AT+MPIO= NUMBER\r\n Tamam\r\n
IPSCAN +IPSCAN'de mi?\r\n +IPSCAN: A,B,İÇİNDE,G\r\n
Tamam\r\n
IP tarama parametrelerini isteyin/ayarlayın:
A - tarama aralığı
B - tarama süresi
B - sayfa aralığı
G - sayfa sayısı
Örnek yanıt: +IPSCAN:1024,512,1024,512\r\n Tamam\r\n
Kurulum örneği: AT+IPSCAN:1024,512,1024,512\r\n
AT+IPSCAN= A, B, C, D\r\n Tamam\r\n
KOKU +SNIFF'te mi?\r\n +KOKU: A,B,İÇİNDE,G\r\n
Tamam\r\n
Enerji tasarrufu modu parametrelerini isteyin/ayarlayın:
A - maksimum süre
B - minimum süre
B - tekrarlama süresi
G - zaman aşımı
Örnek yanıt: +SNIFF:0,0,0,0\r\n OK\r\n
Kurulum örneği: AT+SNIFF=0,0,0,0\r\n
AT+SNIFF= A, B, C, D\r\n Tamam\r\n
ENSNIFF AT+ENSNIFF= ADRES\r\n Tamam\r\n Enerji tasarrufu moduna geçiş:

Örnek komut: AT+ENSNIFF=1234,56,789ABC\r\n
EXSNIFF AT+EXSNIFF= ADRES\r\n Tamam\r\n Enerji tasarrufu modundan çıkılması:
Adresin bazı kısımları virgülle ayrılarak girilir (NAP,UAP,LAP)
Örnek komut: AT+EXSNIFF=1234,56,789ABC\r\n
SENM AT+SENM'de mi?\r\n +SENM: GİZLİ,ŞİFRE\r\n
Tamam\r\n
Güvenlik parametrelerini sorgulama/ayarlama:
Gizlilik modu bir sayıyla temsil edilir:
0 - devre dışı
1 - güvenli olmayan bağlantı
2 - hizmet düzeyinde koruma
3 - bağlantı seviyesi koruması
4 - bilinmeyen mod
Şifreleme modu bir sayıyla temsil edilir:
0 - şifreleme yok
1 - yalnızca PTP trafiği şifrelenir
2 - tüm trafik şifrelenir
Örnek yanıt: +SENM:0,0\r\n Tamam\r\n
Kurulum örneği: AT+SENM:0,0\r\n
AT+SENM= GİZLİ, ŞİFRE\r\n Tamam\r\n
PMSAD AT+PMSAD= ADRES\r\n Tamam\r\n Bir cihazı eşleştirme listesinden çıkarma:
Bir Bluetooth cihazının listeden kaldırılması, ona bağlanmak için yeniden eşleştirme ihtiyacını doğuracaktır.
Silinecek cihazın adresinin bazı kısımları virgülle ayrılarak girilir (NAP,UAP,LAP)
Örnek komut: AT+PMSAD=1234,56,789ABC\r\n
RMAAD AT+RMAAD\r\n Tamam\r\n Tüm cihazları çift listesinden kaldırma:
Bu listenin temizlenmesi, Bluetooth cihazlarına bağlanmak için yeniden eşleştirme yapılması ihtiyacını doğuracaktır.
FSAD AT+FSAD= ADRES\r\n Tamam\r\n
veya
BAŞARISIZ\r\n
Çift listesinde bir cihaz arama:
Listede belirtilen adrese sahip bir Bluetooth cihazı varsa, modül Tamam\r\n aksi takdirde FAIL\r\n değerini döndürür.
Adresin bazı kısımları virgülle ayrılarak girilir (NAP,UAP,LAP)
Örnek istek: AT+FSAD=1234,56,789ABC\r\n
ADCN AT+ADCN'de mi?\r\n +ADCN: MİKTAR\r\n
Tamam\r\n
Çift listesindeki cihaz sayısını sorgulama:
Bir master-slave çifti oluştuğunda, çift hakkındaki veriler otomatik olarak çift listesine dahil edilir ve daha sonraki bağlantılar için (elektrik kesintisinden sonra bile) çiftin yeniden kurulmasına gerek kalmaz.
Örnek yanıt: +ADCN:10\r\n Tamam\r\n
MRAD AT+MRAD'da mı?\r\n +MRAD: ADRES\r\n
Tamam\r\n
Çift listesinden bir cihaz adresi talep etme:
Modül, son başarılı bağlantının yapıldığı çiftler listesinden Bluetooth cihazının adresini döndürecektir.
Adresin bazı bölümleri iki nokta üst üste işaretiyle ayrılır (NAP:UAP:LAP)
Örnek yanıt: +MRAD:1234:56:789ABC\r\n Tamam\r\n
DURUM AT+DEVLET?\r\n +DEVLET: DURUM\r\n
Tamam\r\n
Sorgu modülü durumu:
Modül mevcut durumunu bir dize olarak döndürecektir:
BAŞLATILDI - başlatma
Hazır hazır
EŞLEŞTİRİLEBİLİR - çift oluşumu
EŞLEŞTİRİLDİ - bir çift oluşur
SORGULAMAK - istek
BAĞLANTI - bağlantı
BAĞLI - bağlı
BAĞLANTI KESİLDİ - bağlantı kesildi
NUKNOW - bilinmeyen durum
Örnek yanıt: +DURUM:BAĞLANDI\r\n Tamam\r\n
İÇİNDE + BAŞLANGIÇTA\r\n Tamam\r\n
veya
BAŞARISIZ\r\n
SPP profilini başlatma:
SPP profili bir seri bağlantı noktasını taklit eder.
Soru AT+INQ\r\n +INQ:ADRES,TÜR,SİNYAL\r\n
+INQ:ADRES,TÜR,SİNYAL\r\n
...
+INQ:ADRES,TÜR,SİNYAL\r\n
Bluetooth cihazlarını arayın (anket):

Modül menzil içindeki Bluetooth cihazlarını arar ve bulunan her modülü yeni bir satırda görüntüler. Arama (sorgulama) modu AT+INQM komutuyla ayarlanır, sorgulama kodu AT+IAC komutuyla ayarlanır, aranan cihazların türü AT+CLASS komutuyla gösterilir. Arama, bulunan maksimum Bluetooth cihazı sayısına ulaşıldığında, zaman aşımına ulaşıldığında veya AT+INQC komutuyla sona erer.
Örnek cevap: +INQ:1234:56:789ABC,240404,7FFF
INQC AT+INQC\r\n Tamam\r\n Bluetooth cihazları için aramayı (anket) tamamlayın:
AT+INQ komutu tarafından başlatılan Bluetooth cihazları aramasını planlanandan önce sonlandırır
ÇİFT AT+ÇİFT= ADRES,ZAMAN AŞIMI\r\n Tamam\r\n
veya
BAŞARISIZ\r\n
Bir Bluetooth cihazıyla eşleştirin:
Bluetooth cihazlarının eşleştirilmesi veya eşleştirilmesi ana cihaz tarafından başlatılır.
Zaman aşımı saniye cinsinden ondalık sayı olarak belirtilir.
Bir çift oluşturulursa, bununla ilgili bilgiler otomatik olarak çiftler listesine yazılacaktır, modül Tamam\r\n yanıtını verecektir ve ardından AT+LINK komutunu kullanarak Bluetooth cihazını bağlayabilirsiniz. Çift oluşturulmamışsa (örneğin, PIN kodu eşleşmezse veya zaman aşımı süresi dolmuşsa), modül FAIL\r\n ile yanıt verecektir.
Örnek komut: AT+PAIR=1234,56,789ABC,10\r\n
BAĞLANTI AT+BAĞLANTI= ADRES\r\n Tamam\r\n
veya
BAŞARISIZ\r\n
Bir Bluetooth cihazına bağlanın:
Bu komutu yürüttükten sonra bağlı Bluetooth cihazıyla iletişim kurabilirsiniz.
Komut, modül tarafından lider olarak kullanılabilir.
Örnek komut: AT+LINK=1234,56,789ABC\r\n
DİSK AT + DİSK\r\n +DİSK: SONUÇ\r\n
Tamam\r\n
Bluetooth cihazıyla bağlantıyı kesme:
Komut, modüle, bağlantının kurulduğu Bluetooth cihazıyla bağlantısını kesmesi talimatını verir. Bir Bluetooth cihazının bağlantısını kestikten sonra, onunla ilgili bilgiler çift listesine kaydedilir. Bu cihaza tekrar bağlanmanız gerekirse eşleştirme gerekli olmayacaktır (Bluetooth cihazı kasıtlı olarak çiftler listesinden kaldırılmadığı sürece).
Komutu yürüttükten sonra modül, yürütmenin sonucuyla yanıt verecektir:
BAŞARI - başarı
LINK_LOSS - bağlantı kesildi
NO_SLC - SLC yok
ZAMAN AŞIMI - zaman aşımı süresi doldu
HATA - hata
Örnek yanıt: +DISC:SUCCESS\r\n OK\r\n

* Bir döngüde köle- bu, modülün master'dan aldığı her şeyi geri gönderdiği köle rolüdür.
** Modül bazı komutlara yalnızca modül düğmesine basıldığında veya K pininde yüksek seviye olduğunda yanıt verir.

Modül tarafından oluşturulan hataların açıklaması:

Modülün bilmediği, yürütemediği veya komutun argümanları yanlış olan bir komut gönderirseniz, modül “ERROR:(” dizesini döndürecektir. SAYI)”, belirtilen onaltılık sayıya göre modülün neye “yemin ettiğini” belirleyebilirsiniz.

Hata numarası Hatanın açıklaması
0 Geçersiz AT komutu (böyle bir komut yok)
1 Varsayılan sonuç
2 Şifre kaydedilirken hata oluştu
3 Cihaz adı çok uzun (32 bayttan fazla)
4 Cihaz adı belirtilmedi
5 NAP adresinin bir kısmı çok uzun (onaltılı basamaktan 4'ten fazla)
6 UAP adresi kısmı çok uzun (2 onaltılı basamaktan fazla)
7 Adresin LAP kısmı çok uzun (onaltılık sistemde 6 rakamdan fazla)
8 PIO bağlantı noktası maskesi belirtilmedi
9 PIO pin numarası belirtilmedi
A Cihaz tipi (sınıf) belirtilmemiş
B Cihaz türü (sınıf) çok uzun
C Genel IAC erişim kodu (Erişim Kodunu Sorgula) belirtilmedi
D IAC (Erişim Kodunu Sorgula) çok uzun
e Geçersiz Sorgulama Erişim Kodu
F Şifre belirtilmedi (veya şifre boş)
10 Şifre çok uzun (16 bayttan fazla)
11 Geçersiz modül rolü
12 Geçersiz baud hızı
13 Geçersiz durdurma biti boyutu
14 Geçersiz eşlik biti ayarı
15 Cihaz eşleştirme listesinde değil (eşleştirilmiş Bluetooth cihazlarının listesi)
16 Seri Bağlantı Noktası Profili (SPP) başlatılmadı
17 SPP profilinin yeniden başlatılması (SPP, Seri Bağlantı Noktası Profili)
18 Geçersiz Bluetooth cihazı yoklama modu
19 Oy verme süresi çok uzun
1 A Bluetooth cihazı adresi belirtilmedi
1B Geçersiz güvenlik modu (gizlilik)
1C Geçersiz şifreleme modu

Not:

Modül açıldığı (güç sağlandığı) anda düğmeye basarsanız veya K girişine yüksek bir seviye uygularsanız, modül AT komut moduna geçecektir. Bu modda modül diğer modüllere bağlanmayacaktır ancak bu modun sabit hızı = 38400 bps'dir. Kurulum sırasında modülün normal çalışma modunda modülün hızını belirleyemediyseniz bu moda girebilir ve yeni bir hız ayarlayabilirsiniz. Yeni ayarlanan hız yalnızca normal modda etkili olacaktır, bunun için düğmeyi basılı tutmadan ve açma anında K girişine yüksek bir seviye uygulamadan modülü yeniden başlatmanız gerekecektir. Normal modda, güç uygulandıktan (veya yeniden başlatıldıktan) en geç yarım saniye sonra, düğmeye kısaca basmanız veya modülün K girişine kısa süreli yüksek seviye uygulamanız gerektiğini, aksi takdirde AT'yi kabul etmeyeceğini unutmayın. komutlar.

Programlı olarak bir düğmeye “basmak” istiyorsanız ancak modülünüzde K pini yoksa şu komutu kullanın: AT+PIO=11,SEVİYE\r\n burada seviye, ayarlanan mantıksal seviyeye karşılık gelen 1 veya 0 sayısıyla temsil edilir. ( AT+PIO=11.0\r\n - düğme serbest bırakıldı , AT+PIO=11.1\r\n - düğmeye basıldı).

Bazı modüllerde gücü kontrol eden ve Vcc'ye bağlanan bir En pini bulunur. En pinine düşük mantık seviyesi uygulanırsa çiplere giden güç kapatılacaktır. Bu pin programlı olarak AT komut moduna girmek için kullanılabilir. En pinindeki düşük seviyeyi kaldırdıktan hemen sonra AT+PIO=11,1\r\n komutunu verirseniz bu, düğmeye basılarak modülün açılmasına eşdeğer olacaktır.

Master'ın bağlanmasını bekleyen bir köle oluşturmak:

  • AT + DİSK
  • AT+ORGL'de
  • AT+RMAAD\r\n - Bağlantısı kesilen kişinin modüle bağlanmaması için çiftlerin (yetkili cihazlar) listesini temizleyin.
  • AT+NAME= iArduino\r\n - Modül adını ayarlayın (maks. 32 karakter).
  • AT+PSWD= 1234\r\n - Modüle bağlanmak için bir PIN kodu ayarlayın (en fazla 16 karakter).
  • AT+ROLE=0\r\n - Modülü bağımlı rolüne ayarlayın (kullanıcı ayarları sıfırlanırken kurulmamışsa).
  • +SIFIRLAMADA\r\n - Modülü yeniden yükleyin.

Yeniden başlatmanın ardından yarım saniyeden daha erken olmamak kaydıyla (komutla) +SIFIRLAMADA\r\n ) butona kısaca basmanız veya modülün K girişine kısa süreli yüksek seviye uygulamanız gerekir, aksi halde yeni AT komutlarını kabul etmeyecektir.

Lider rolü olan bir modül, bağımlı modüllere adlarıyla değil, adresleriyle bağlıysa, bu (bağımlı) modülün adresi AT+ADDR?\r\n komutunu çalıştırarak bulunabilir.

Bir köle bağlantısıyla bir ana öğe oluşturma:

  • AT + DİSK\r\n - Bağlantıyı kesin (modülün bağlı olması durumunda).
  • AT+ORGL'de\r\n - Kullanıcı ayarlarını varsayılan değerlere sıfırlayın.
  • AT+RMAAD\r\n - Modülün bağlantısının kesildiği cihaza bağlanmaya çalışmaması için çiftlerin (yetkili cihazlar) listesini temizleyin.
  • AT+BAĞLAMA= ADRES\r\n - Bağlantı için sabit bir adres ayarlayın (Bluetooth yardımcı cihazının adresini belirtin)
  • AT+CMODE=0\r\n - Modüle yalnızca sabit bir adrese bağlanmasını söyleriz
  • AT+ROLE=1\r\n - Modülü ana cihaz olarak ayarlayın
  • AT+PSWD= 1234\r\n - Bluetooth ikincil aygıtının PIN kodunu hatırlayın
  • AT+ÇİFT= ADDRESS,10\r\n - İkincil bir Bluetooth cihazıyla eşleştirin, adresini belirtin ve 10 saniye zaman aşımı yapın
  • .

Arduino, mikrodenetleyicinin işlevselliğini önemli ölçüde artırabilecek çok sayıda farklı modüle sahiptir. Ayrı bir sınıf, hem uzun mesafelerde, örneğin kablosuz İnternet üzerinden iletişim için hem de Bluetooth modülü gibi kısa mesafelerde veri iletimi için çipler içerir. Böyle bir cihaz, aynı adı taşıyan protokolü kullanarak çift yönlü radyo iletişimi kurmak için tasarlanmıştır.

Arduino bluetooth, mikrodenetleyici tabanlı cihazınızın uzaktan kontrolüne uygun olacaktır ancak gelin bakalım nedir ve hc 05 ve hc 06 bluetooth modüllerinin özellikleri nelerdir ona bakalım.

Kısa mesafelerde hızlı veri aktarımı için Bluetooth protokolü gereklidir. Ancak projelerde bir mikrodenetleyicinin yakın mesafelerden kontrolünü sağlamak için çok daha sık kullanılır. Buna göre donanım bileşenini akıllı telefondaki bir uygulamayla tamamlamanız durumunda aynı akıllı evlerin inşa edilmesi uygun olacaktır.

Dolayısıyla Arduino Bluetooth'un birincil ve asıl amacı, uygun protokolü kullanarak PC'niz ve/veya Android'inizle iletişim kurmaktır. Bu, yalnızca mikro denetleyicideki çeşitli sensörleri kontrol etmenize değil, aynı zamanda gerekirse ürün yazılımını güncellemenize de olanak tanır.

Cihazı kullanarak tamamen yeniden şarj etmek mümkün olmayacaktır. Ayrıca Android Arduino bluetooth, birçok mikrodenetleyici ve cihaz arasında iletişim sağlayabilmektedir. Doğal olarak bunun için her birine bağımsız bir modülün kurulması gerekir. HC-05, USAR-bluetooth-USART tipini kullanarak birden fazla köprü döşemenize olanak sağlar. Bu durumda cihazın kendisi USART'a yanıt veriyormuş gibi algılanacaktır. Ve iletişim projenizin donanımı tarafından organize edilecektir.


Arduino için Bluetooth modülünün, diğer mikrodenetleyiciler için standart eklentilere göre birçok avantajı vardır:

  1. Bir mühendisin yazılım yazmak veya hazır kütüphaneleri kullanmaya başlamak için Bluetooth protokol teknolojisini incelemesine gerek yoktur.
  2. Genel olarak kullanım kolaylığı. Güç dağıtımı için ayrı bir kartı lehimlemenize gerek kalmayacak, cihazı hazır bir MK'ye pinler aracılığıyla bağlamanız yeterli.
  3. Kapsamlı kütüphane seçimi. Arduino'nun giriş eşiği düşük olduğundan tüm modülleri için çeşitli amaçlara yönelik çok sayıda kütüphane bulabilirsiniz. Ancak bunların önemli bir kısmının işe yaramaz olduğunu belirtmekte fayda var çünkü çalışmıyorlar veya aşırı derecede kötü çalışıyorlar. Sonuçta, bunlar algoritmanın temellerini incelememiş ve çoğunlukla prensipte programlama konusunda yeterince bilgili olmayan bir topluluk tarafından yazılıyor. Bu nedenle çoğu durumda başka birinin yazılımını değiştirmek en iyi çözüm değildir ve kendi yazılımınızı yazmak çok daha kolaydır.

RC araba Arduino bluetooth'un uygulama kapsamı çok büyük ve yalnızca sizin hayal gücünüzle sınırlıdır. Örneğin, sıradan bir Çin kulaklığı satın alabilir, MK olmadan çalışabildikleri için Arduino için birkaç modülü ona lehimleyebilir ve hazır kütüphanelerden birini yükleyebilirsiniz. Bu tür manipülasyonlardan sonra kulaklıklar kablosuz olarak kullanılabilir ve kabloların dolaşması veya bükülmesi sorunu ortadan kalkacaktır. Bu, bu protokolün bir projede uygulanmasının sıradan sorunlarından biridir; aslında bunlardan binlercesi var.

Bluetooth ses modülü, özellikleriyle kolaylaştırılan evsel ve ticari kullanıma yöneliktir. Gelecekte bir PC ile aynı adı taşıyan protokolü kullanarak iletişim kuracaksanız, çoğu modern cihazda USB üzerinden Bluetooth satın almanız gerekeceğini de dikkate almak gerekir. Ancak bilgisayarınız için kendi bluetooth modülünüzü oluşturarak onu bir MK'den de lehimleyebilirsiniz. Doğal olarak bu, aynı isimli vericilerin kurulu olduğu dizüstü bilgisayarlar için geçerli değildir ve bunları hiçbir şekilde değiştirmenize gerek yoktur.

HC-05 ve HC-06 Pin Çıkışı

Kartlardaki pinler şunlardan sorumludur:

Özellikler

Böyle bir bluetooth modülünün PC'ler ve çeşitli projeler için hangi özelliklere sahip olduğuna daha yakından bakalım. Geliştiricilerin kendileri hc 05'teki ticari standardı karşıladıklarını iddia ediyorlar. Buna göre, cihazı kontrol etmek için akıllı telefon veya bilgisayardaki sensörden veri gönderip almanızı sağlayacak özel bir program yeterli olacaktır. Ancak uygulama alanında bir sınırlama var çünkü amplifikatör kullanılmadan kararlı bir sinyal çipten yalnızca 9 metre uzakta yakalanabiliyor. Bunların ham sayılar olduğunu ve dalgaların yolundaki engelleri hesaba katmadığını unutmayın.

Hc yongaları, SPP'yi destekleyen tüm adaptörlerle tamamen uyumludur. Cihaz kartının üzerinde, üst katmana yılan benzeri bir iz şeklinde lehimlenmiş küçük bir anten bulunmaktadır. Cihazın özellikleri şu şekilde belirtiliyor:

  1. Aktif radyo frekansları 2,4-2,48 GHz aralığındadır.
  2. Kanal uyarlanabilir anahtarlama için uyarlanmıştır.
  3. Geleneksel iletişim aralığı 10 metredir ancak bu rakama engeller ve parazitler dahil değildir.
  4. Bilgi alışverişi için maksimum hız 115300 baud'dur.
  5. Çip -40 ila +85 derece arasındaki bir sıcaklık aralığında saklanabilir, ancak -20 ila +70 arasında kullanılabilir.
  6. Çalıştırmak için aşağıda inceleyeceğimiz 3,3 V'luk bir voltaja ihtiyacınız olacak.

Bağlantı

Baskılı devre kartının cihazın uçlarında birkaç lehim kontağı vardır. Ancak kabloları doğrudan cihazın kontaklarına bağlamamalısınız çünkü kart, cihazın boyutlarını mümkün olduğunca kompakt bir şekilde sisteminize sıkıştırmanıza olanak tanıyan özel bir teknoloji kullanır.

Modül, standart MK'nin veya fiş konnektörleri kullanan özel kartların uygun olacağı kadar sıkı bir şekilde kurulmalıdır. Ancak hc serisi cihazlar için ayrı bir kart satın alabilir veya elektronik kart tasarlama ve oluşturma becerisine sahipseniz bunları kendiniz yapabilirsiniz.

Böyle bir cihazın bir bağlantı konektörü/kablolama için özel deliklerin yanı sıra akımın akıp akmadığını ve cihazın çalışıp çalışmadığını belirlemeye yardımcı olacak LED'lere sahip olması gerekir. Diğer şeylerin yanı sıra, isteğiniz üzerine ürün yazılımını ve arayüz dönüştürücülerini sıfırlamak için özel bir anahtar olan dengeleyicilere ihtiyacınız vardır.

İlk kez bağlanırken işlevselliği kontrol etmek önemlidir, bunun için bir akıllı telefon veya PC uygundur. Sadece modüle akım uygulayın ve uygun cihazlarla tarayın.

Ayarlar

Çipi yapılandırmak için, pin 34'ün ortak kabloya bağlanacağı USART-bluetooth aracılığıyla eşleştirme kurmanız gerekecektir. Bundan sonra dilediğiniz gibi standart AT komutları verebilir veya mikroçipi yeniden başlatabilirsiniz.

Kutunun dışında arayüzü bağlamak için şifre 1234'tür, ancak veri alışverişi hızı 38400 baud ile sınırlıdır. HC 05 için çok fazla hazır kütüphane yok, ancak uygulama yönü oldukça dar, bu da mevcut herhangi bir yazılımı ihtiyaçlarınıza göre uyarlamanıza olanak tanıyor.

Kısa mesafelerde farklı cihazlar arasında kablosuz olarak bilgi alışverişi yapmak için Bluetooth teknolojisini kullanabilirsiniz. Bu amaçlar için Çin endüstrisi, aralarında HC-05 ve HC-06 modellerinin oldukça popüler hale geldiği çeşitli Bluetooth modülleri üretmektedir. Bir keresinde Aliexpress'den üzerinde daha fazla deneyler yapacağım ve onu Çin analogu Arduino'ya bağlayacağım bir HC-06 satın aldım.

Doğrudan Bluetooth modülünün kendisi. Bu formda doğrudan panele lehimlendiği çeşitli cihazlarda kullanılabilir. Modülde 34 pin bulunur: UART aracılığıyla bir bilgisayara bağlanmak için pinler, PCM (darbe kodu modülasyonu) yöntemini kullanarak ses iletimi, analog giriş ve çıkış, USB konektörüne bağlanmak için pinler, SPI arayüzü ve genel olarak- amaçlı bağlantı noktaları. Aslında bu pinlerin hepsi kullanıma açık değil; ses iletim pinlerine (5-8), analog giriş ve çıkışa (9, 10) ve USB'ye bağlanmak için kullanılan kontak grubuna (15, 10) erişim. 20) engellendi.

HC-06, BC417 çipi (BlueCore4-Harici cihaz), Bluetooth V2.0 spesifikasyonu üzerine kurulmuştur. Ayrıca gemide 26 MHz kuvars ve 8 MB flash bellek bulunmaktadır. Güç 3,3V'tan sağlanır.

Tasarımlarınız için, bağlantılar için gerekli kontakların görüntülendiği devre tahtalı bir modül kullanmak en uygunudur ve ayrıca 5 volttan güç almanızı sağlayan bir voltaj dengeleyici de mevcuttur.
Bu tür modülleri satın alırken farklı işaretlerle karşılaşabilirsiniz. Esasen bu, modül modunu (ana / bağımlı) belirleyen ürün yazılımında farklılık gösteren aynı cihazdır.

HC-05 ile HC-06 arasındaki fark, HC-05'in master veyaslave olarak kullanılabilmesidir. Bu modlar AT komutları kullanılarak ayarlanır. Modül kartındaki bir düğme onu AT komut giriş moduna geçirir. Ana mod, modülün böyle bir cihazı kendisinin tespit etmesine ve onunla iletişimi düzenlemesine olanak tanır. HC-06 modülü yalnızca tek bir sabit bağımlı modda çalışabilir.

HC-03 ve HC-04 modelleri de vardır ancak endüstriyel amaçlı üretilmektedir.

HC-06 panosundaki kontakların belirlenmesi.

DURUM- modülün durumunun kontrol edilmesi. Bu pin, karttaki yerleşik LED tarafından görüntülenen sinyali çoğaltır. Çok hızlı yanıp sönüyorsa modül aktif durumdadır. İletişim modunda akım 30-40 mA'dır. Modül başka bir cihazla iletişim kurduğunda LED yanar. Veri aktarım modunda akım 8 mA'dır.
RX- veri alıyor.
Teksas- veri aktarımı.
GND- toprağa bağlanır.
+5V- güç kaynağı +5 Volt
TR- modülü açın/kapatın. Bu kontağa mantıksal 1 (5 volt) uygularsanız modül kapanacaktır; mantıksal 0 uygularsanız veya bu kontağa bağlanmazsanız modül çalışacaktır.

Varsayılan olarak HC-06'nın diğer cihazlar tarafından algılanması için bir adı vardır " HC-06", PIN koduyla" 1234 ».

Bu verileri değiştirmek için modülü bilgisayarınıza bağlamanız ve bir terminal programı kullanarak AT komutlarını girmeniz gerekir. Bu, TTL düzeylerine sahip bir USB'den COM'a adaptör kullanılarak yapılabilir. PL2303HX, CH340G veya benzeri bir adaptör bu amaçlar için uygundur. Bu zamana kadar USB adaptörünün sürücüsünün bilgisayara zaten yüklenmiş olması gerekir.

Kişileri aşağıdaki gibi bağlarız:

HC-06 USB'den COM'a adaptör
+5V +5V
GND GND
RX Teksas
Teksas RX

Bu düzeneği bilgisayarınıza bağladığınızda Bluetooth modül kartındaki kırmızı LED hızlı bir şekilde yanıp sönmeye başlayacaktır. AT komutlarını girmek için herhangi bir terminal programını kullanabilirsiniz; bu amaçla Arduino IDE kullanıyorum.

Ayarlarda, USB adaptörünün bağlı olduğu sanal COM bağlantı noktasının numarasını seçin, benim durumumda bu COM44'tür. Pencereyi açalım" Seri port monitörü».

Komutu büyük harflerle girin “ AT", eğer cihaz başarıyla bağlandıysa yanıt geri dönmelidir" TAMAM" Varsayılan veri değişim hızı 9600 baud'dur.

Ürün yazılımı sürümünü kontrol etmek için “ komutunu girin. +VERSİYONUNDA"benim durumumda cevap geldi" OKlinvorV1.8».

Takım " AT+NAMEyyy", Nerede Vay- Latince'de rastgele bir karakter kümesi, bluetooth cihaz modülümüzün bulunacağı adı değiştirebiliriz (varsayılan olarak HC-06). Örneğimde girdim " AT+NAMEfox", yanıt döndürülür OKsetname.

Takım " AT+PINxxxx", Nerede xxxx– rastgele bir sayı kümesi, PIN kodunu değiştirebilirsiniz (varsayılan 1234). Cevap geliyor" TamamsetPIN».

Takım " AT+BAUDx", Nerede X– 1'den 9'a kadar değer, baud hızını değiştirebilirsiniz (varsayılan 9600).

1 - 1200
2 - 2400
3 - 4800
4 - 9600
5 - 19200
6 - 38400
7 - 57600
8 - 115200
9 - 230400

Örneğin “ komutunu çalıştırırsak AT+BAUD8", 8, 115200 baud'un hızıdır, yanıt geri dönecektir" OK115200».

HC-06'yı Arduino'ya bağlama.

Örnek 1. Arduino'nun 13 numaralı pinine lehimlenen LED'i Bluetooth modülü aracılığıyla açıp kapatacağımız bir çizimi Arduino'ya yükleyelim.

int verileri;
int LED = 13;
geçersiz kurulum ()
{
Seri.begin(9600);
pinMode(LED, ÇIKIŞ);
digitalWrite(LED, YÜKSEK);
}
geçersiz döngü ()
{
if (Seri.available())
{
veri = Seri.read();
if (veri == "1")
{
digitalWrite(LED, YÜKSEK);
}
if (veri == "0")
{
digitalWrite(LED, DÜŞÜK);
}
}
}

Eğer kartta bu LED yoksa şemaya göre pin 13’e bağlayın; direnç değerleri 220 Ohm’dan 1 kOhm’a kadar alınabilir.

Arduino'nun enerjisini kesin ve HC-06'yı bağlayın. Temas etmek Teksas modülü kontağa bağlayın RX Arduino (UNO panosundaki pin 0) ve pin RX, iletişime geçmek Teksas(pim 1). Kişiler +5V Ve GND, ilgili Arduino pinlerine bağlayın.

Montajlı yapı. Arduino'ya güç uygulandığında HC-06 üzerindeki LED hızlı bir şekilde yanıp sönmelidir.

Arduino'yu bilgisayar kullanarak HC-06 üzerinden kontrol etmek.

Windows XP'de bir örnek göstereceğim. Herhangi bir USB Bluetooth adaptörünün bilgisayara bağlı olması ve sürücülerin yüklü olması gerekir.

Benim durumumda bu adaptörü kullandım.

Bir PC'ye bağlandığında tepside (saatin yanında) karşılık gelen bir simge görünür.

Bu simgeye sağ tıklayın ve “ Bluetooth cihazı ekle».

Anahtarı ayarlayın " Cihaz kuruldu ve keşfedilmeye hazır"ve tıklayın" Daha öte».

Bluetooth modülümüz, daha önce değiştirdiğim yeni isimle algılanan cihazlar listesinde görünecektir. Onu seçin ve tıklayın" Daha öte».

Bir sonraki pencerede “” seçeneğini seçerek modüle bağlanmak için PIN kodunu girin. Belgelerdeki erişim anahtarını kullanın:». Varsayılan "1234" ama onu “9999” olarak değiştirdim. Tıklamak " Daha öte».

Bluetooth modülü, ilgili pencerede görülebileceği gibi bilgisayarla başarılı bir şekilde iletişim kurdu. İki Bluetooth cihazı arasında bir bağlantı kurulduğunda, bilgisayarda biri giden veriler için, diğeri gelen veriler için olmak üzere iki yeni sanal COM bağlantı noktasının oluşturulacağını (cihaz yöneticisinde görüntülenecektir) unutmayın. Giden veriler için bir bağlantı noktasına ihtiyacımız olacak, benim durumumda COM45.

Tekrar bir terminal programı açalım, Arduino IDE'yi kullanacağım. Ayarlarda giden bağlantı noktasını seçin (COM45'im var), “ Seri Bağlantı Noktası Monitörü", komutları girin" 1 " Ve " 0 " “1” komutu verildiğinde LED yanar, “0” komutu verildiğinde söner.

Bir akıllı telefon kullanarak Arduino'yu HC-06 aracılığıyla kontrol edin.

Muhtemelen tüm modern akıllı telefonlarda zaten yerleşik Bluetooth bulunmaktadır. Geriye kalan tek şey terminal programını kurmak. Benim durumumda kullanıldı Lumia 640DS, yüklü olarak Windows mobil 10. Terminal programı olarak "" kullanıyorum. Android akıllı telefonlarda her şey benzerdir; " Bluetooth Terminali».

Apple akıllı telefon sahipleri için, HC-05 ve HC-06 (Bluetooth V2.0) Bluetooth modülleriyle çalışmak mümkün olmayacak; onlar için BLE (Bluetooth düşük enerji) teknolojisine sahip, Bluetooth 4.0 özellikli adaptörler kullanmanız gerekecek. . Öne çıkan bir temsilci HM-10 modülüdür.

HC-06'yı akıllı telefonun Bluetooth'u ile eşleştiriyoruz.

1. " Parametreler» akıllı telefon öğeyi seç « Cihazlar».
2. Sonraki " Bluetooth ve diğer cihazlar».
3. Akıllı telefonun Bluetooth kaydırıcısını açın ve “ artı kare» yeni bir Bluetooth cihazı aramak ve eklemek için (bizim durumumuzda HC-06).

4. "Bölümünde Cihaz ekle"seçme "".
5. Akıllı telefon bölgedeki Bluetooth cihazlarını arayacak ve adlarını görüntüleyecektir. Örneğimde, “ olarak yeniden adlandırdığım HC-06 modülü bulundu. tilki».

6. Bağlanacağımız cihazın PIN kodunu girin, “ butonuna basın. Bağlamak».

"" Terminal programını kurun ve başlatın. Akıllı telefona bağlı HC-06 modülü listede görüntülenir, onu seçin.

Komutları girmek için bir alan ve göndermek için bir düğme görünecektir. Dönüşümlü olarak girin " 1 " Ve " 0 "ve pin 13'teki LED'in yanmasını veya sönmesini izleyin.

Örnek 2. Arduino’ya 3 adet LED bağlayıp HC-06 Bluetooth modülü aracılığıyla kontrol etmeye çalışalım.

LED'leri 9, 11 ve 13 numaralı pinlere bağladım, başka pinler kullanırsanız çizimde belirtilmesi gerekiyor.

int verileri;
int LED1 = 9;
int LED2 = 11;
int LED3 = 13;
geçersiz kurulum ()
{
Seri.begin(9600);
pinMode(LED1, ÇIKIŞ);
pinMode(LED2, ÇIKIŞ);
pinMode(LED3, ÇIKIŞ);
digitalWrite(LED1, YÜKSEK);
digitalWrite(LED2, YÜKSEK);
digitalWrite(LED3, YÜKSEK);
}
geçersiz döngü ()
{
if (Seri.available())
{
veri = Seri.read();
if (veri == "1")
{
digitalWrite(LED1, YÜKSEK);
}
if (veri == "2")
{
digitalWrite(LED1, DÜŞÜK);
}
if (veri == "3")
{
digitalWrite(LED2, YÜKSEK);
}
if (veri == "4")
{
digitalWrite(LED2, DÜŞÜK);
}
if (veri == "5")
{
digitalWrite(LED3, YÜKSEK);
}
if (veri == "6")
{
digitalWrite(LED3, DÜŞÜK);
}
}
}

Bir çizim yüklerken, hem bilgisayar hem de Bluetooth UART üzerinden çalıştığı için HC-06 modülünün Arduino ile bağlantısı kesilmelidir. Arduino, bir UART üzerinde birden fazla cihazla çalışamaz.

Terminal programını başlatıyoruz ve taslağı çalışırken deniyoruz. LED kontrolünün anlamı şu şekildedir: Her biri açık veya kapalı olabilen üç LED vardır. 6 takım çıkıyor. Takımlar 1'den 6'ya kadar numaralardan oluşur ( 1, 3, 5 - 1, 2 ve 3 LED'i yakar. 2, 4, 6 - geri ödemek için). Sayılar tek tek veya kombinasyon halinde girilebilir. Örneğin: 145 - birinciyi yakın, ikinciyi söndürün, üçüncüyü yakın.

Örnek 3. "" Makalesindeki röle modülünü Arduino'ya bağlayalım ve güçlü bir yükü Bluetooth üzerinden kontrol etmeye çalışalım. Özünde bir “akıllı prizimiz” olacak. Röle modüllerine çeşitli yükleri (ampul, pompa, fan) bağlayıp uzaktan kontrol edebilirsiniz.

Bu örneğin bir taslağı yakında görünecektir.

Arduino'daki Bluetooth, çeşitli cihazları kablosuz olarak bağlamanızı sağlar. Bluetooth aracılığıyla Arduino sensörlerinden ve kontrol cihazlarından Android cihazlara ve Android cihazlara mesaj iletebilir, akıllı telefonlardan komutlar alabilirsiniz. Bu yazıda, popüler ve çok ucuz olmayan bluetooth modülleri HC05 ve HC06'yı kullanarak Arduino projenizin kablosuz çalışmasını nasıl organize edeceğinizi öğreneceğiz. İnanmayacaksınız ama Bluetooth modüllerini bağlamak ve programlamak hiç de zor bir iş değil ve yeni başlayanlar için bile erişilebilir. Bundan emin olalım.

Çoğu zaman projeler bir telefondan veya başka bir cihazdan uzaktan kontrol veya veri aktarımı gerektirir. En popüler ve kullanışlı yöntemlerden biri Bluetooth üzerinden veri alışverişidir. UART (Seri) arayüzü Arduino kartı ile bilgisayar arasında iletişim kurmak için kullanılır. Herhangi bir Arduino kartında en az 1 UART seri bağlantı noktası bulunduğundan, bir Bluetooth modülünü bağlamak için özel kütüphanelere ve devrelere gerek yoktur.

En popüler modüller BC417 çipini temel alan cihazlardır. Bu seriye HC denir. HC-03 ve HC-05 modülleri hem bağlantı sunucusu hem de istemci olabilir; çok çeşitli AT komutlarına sahiptirler.

Bir PC'ye bağlanmak için bir Bluetooth modülüne, Arduino kartına, bağlantı kablolarına ve bir bilgisayara ihtiyacınız olacaktır. Arduino kartını bir akıllı telefon ve bir bilgisayar aracılığıyla kontrol etme taslağı aynı olacaktır, çünkü her iki durumda da veriler mikro denetleyiciye UART protokolü aracılığıyla gönderilecektir. Bluetooth modülünü karta bağlama şeması şekilde gösterilmiştir. Arduino üzerindeki RX pini TDX'e, TX'den RDX'e, GND'den GND'ye, 5V ise VCC'ye bağlanır.

Çizimi yüklerken Bluetooth modülünü devre dışı bırakmanız gerekir, aksi takdirde Arduino'ya erişimde bir hata görünecektir. Modüle veri göndermek için Android işletim sistemini destekleyen bir akıllı telefon veya tablete de bir uygulama yüklemeniz gerekir. Uygulamayı yükledikten sonra taslağı indirip modülü Arduino kartına bağlamanız gerekiyor. LED flaş kodu örneği:

Dahili değer; void setup() (Serial.begin(9600); pinMode(13, OUTPUT); // Pin 13 bir LED'dir, çıkış olarak bildirildi) void loop() ( if (Serial.available()) // gönderilen komutlar kontrol ediliyor ( val = Serial.read(); if (val == "1") (digitalWrite(13, HIGH);) // 1'de LED yanar if (val == "0") (digitalWrite(13, LOW) );) / / 0'da LED söner ))

Artık telefon ile modül arasındaki bağlantıyı yapılandırmanız gerekiyor. Bağlantı kurmak için telefon ayarlarınıza gitmeniz ve Bluetooth'u açmanız gerekir. Cihaz bulunduğunda, genellikle “1234” veya “0000” olmak üzere bir şifre girmeniz gerekir. Bundan sonra uygulamaya gitmeniz, “Bluetooth'u bağla” butonuna tıklamanız ve istediğiniz cihazı seçmeniz gerekiyor. Eşleştirme başarılı olursa modül üzerindeki LED yaklaşık her 2 saniyede bir, daha yavaş yanıp sönmeye başlayacaktır.

Çizimde “1” ve “0” sayıları alındığında LED açılıp sönmektedir. Rakamların yanı sıra Latin alfabesindeki harfleri de büyük/küçük harfe duyarlı olarak kullanabilirsiniz.

Aynı şekilde modüle bilgisayar kullanarak da bağlanabilirsiniz. Bunu yapmak için COM portuna bağlanacak çeşitli programlar vardır. Program başladığında port numarasını, hızını ve bağlantı tipini soruyor. Bağlantı başarılıysa, ekranda LED'i açan klavyeden sayıları/harfleri girmeniz gereken bir terminal alanı görünecektir.

Bluetooth HC 06 modülünün açıklaması

Mevcut tüm Bluetooth modülü türlerinin kendi özellikleri vardır, ancak işlev ve çalışma açısından benzerdirler. Modül türlerinden biri Bluetooth HC 06'dır. Arduino tarafından bakıldığında modül normal bir seri arayüze benzer, böylece bilgisayarınızdaki cihazla anında etkileşim kurabilirsiniz.

Modülün ana özellikleri:

  • Güç kaynağı 3,3V – 6V;
  • Maksimum giriş voltajı 5 V;
  • Maksimum akım 45 mA;
  • Veri aktarım hızı 1200–1382400 baud;
  • Çalışma frekansları 2,40 GHz – 2,48 GHz;
  • Bluetooth spesifikasyonu sürüm 2.1'i destekler;
  • Düşük enerji tüketimi;
  • Yüksek düzeyde veri koruması;
  • İletişim aralığı 30 m;
  • Bir akıllı telefona bağlanmak için aşağıdaki veriler kullanılır - şifre “1234”, veri aktarım hızı 9600, modül adı HC-06.

Modülde aşağıdaki kişiler bulunur:

  • VCC, GND – güç kaynağı artı ve eksi;
  • RX ve TX – alıcı ve verici;
  • MCU-INT – durumu görüntüler;
  • Temizle (Sıfırla) – modülü sıfırlayın ve yeniden başlatın. Son iki pin genellikle operasyonda kullanılmadığından artık bu pinlere sahip olmayan modüller üretilmektedir.

HC-06 modülü yalnızca bağımlı modda kullanılır, yani diğer Bluetooth cihazlarına bağımsız olarak bağlanamaz. Bağlantının tüm “şifre, veri aktarım hızı” ayarları AT komutları kullanılarak değiştirilebilir.

Modül paketine bağlantı kabloları dahil değildir.

Bluetooth modülleri HC 05 ve HC 06'nın karşılaştırılması

HC 05 ve HC 06 modülleri en çok kullanılanlardır ve diğerlerinden daha sık satışta bulunabilirler. Bu modüllerin çalışma prensibi benzerdir, her iki modül de aynı çipi temel alır ancak önemli farklılıklar da vardır. Her şeyden önce, HC 05 modülü hem ana hem de bağımlı olarak iki çalışma modunda çalışabilir.

Her iki modül de iki lehimli karttır. Bunlardan biri fabrikada bir mikro devre ile kurulmuş, diğeri ev yapımı cihazlar için gerekli, standart 2,54 mm aralıklı GPIO pinleri ve voltaj dengeleyici ile donatılmıştır.

HC-05 modülü biraz daha pahalıdır ancak daha kullanışlı çalışma fonksiyonlarına sahiptir.

HC-05 modülü pin çıkışı:

  • TR – güç yönetimi;
  • Güç VCC'si;
  • RX, TX;
  • DURUM – gösterge;
  • ANAHTAR – AT komutlarını kullanarak kontrol modunu etkinleştirir. ANAHTAR=0 olduğunda – veri aktarımı, ANAHTAR=1 olduğunda – AT komutları.

AT komutlarının varsayılan aktarım hızı HC-05 için 38400, HC-06 – 9600'dür. Önemli bir nokta, HC-05 için AT komutlarının sonunda CRLF karakterlerinin olması gerektiğidir.

HC-05'in ana özellikleri:

  • Çalışma frekansları 2,4 – 2,48 GHz;
  • İletim gücü 0,25 – 2,5 mW;
  • Menzil 10 m;
  • Maksimum veri değişim hızı 115200 baud;
  • Güç kaynağı 3,3V;
  • Akım 30-40 mA;
  • -25C'den 75C'ye kadar çalışma sıcaklıkları.

Her iki modülün Arduino kartına bağlantısı aynıdır.

Bir bölücü kullanarak bir modülü bağlama seçeneği Arduino Nano için bir seçenek sunulmuştur, ancak aynı zamanda Uno kartıyla da çalışacaktır.

Çözüm

Bu makalede en yaygın Arduino modüllerinden bazılarına bağlanma ve bunlarla çalışma seçeneklerine baktık BluetoothHC05,HC06. Bu modüllerle herhangi bir özel zorluk yaşamamalısınız - sadece onu donanım veya yazılım UART ile pinlere bağlayın ve ardından geleneksel kütüphaneleri kullanın (0, 1 pinlerine bağlı modül için Seri, diğerlerine bağlanma durumunda SoftwareSerial).

Bluetooth'u Arduino projenize bağlamak, diğer cihazlarla iletişim kurma yeteneğinizi büyük ölçüde artırabilir. Denetleyiciyi yeniden başlatmadan sensörlerin durumlarını izleyebilecek ve sistem parametrelerini değiştirebileceksiniz. Ve elbette, akıllı telefonunuzdan bluetooth ile kontrol edilen Arduino'yu kullanarak kolayca robotlar ve arabalar oluşturabilirsiniz. Umarım bu makaleyi okuduktan sonra ilk projenizi yapabilirsiniz.