İçindekiler:

OldMan ve Bluetooth2: 4 Adım
OldMan ve Bluetooth2: 4 Adım

Video: OldMan ve Bluetooth2: 4 Adım

Video: OldMan ve Bluetooth2: 4 Adım
Video: BUNU YAŞAMAYAN YOKTUR 😂 #emirbeşli #shorts 2024, Kasım
Anonim
OldMan ve Bluetooth2
OldMan ve Bluetooth2

Yani bu Tembel Yaşlı Geek (L. O. G.) sonunda AliExpress.com'dan bir Bluetooth HC05 modülü aldı. Bu Eğitilebilir Yazıyı yazdıktan sonra bir tane sipariş ettim:

www.instructables.com/id/OldMan-and-Blueto…

Pekala, bunun komut modunda başarılı bir şekilde çalışmasını sağlamak için birkaç saat harcadım. Bir HC05 modülünü bile yok ettim (muhtemelen yanlış voltaj uygulayarak) bu yüzden bir tane daha satın almak zorunda kaldım.

İPUCU: Komut modu, HC05 veya HC06 modülünün kendisiyle konuşuyor. İletişim modu başka bir Bluetooth cihazıyla konuşuyor.

Bulduğum şey HC05 ve HC06 arasında çok fazla fark var. HC05 master veya slave olabilir, HC06 sadece slave olabilir. Temel olarak, bir efendi bir köle ile konuşabilir, iki köle birbiriyle konuşamaz. HC05 ve HC06'nın farklı komutları vardır. HC05, komut moduna geçmek için donanımla yapılandırılmalıdır, iletişim ve komut modu için farklı baud hızlarına sahip olabilir.

HC06 her zaman iletişim ve komut modundadır. Biri için baud hızının ayarlanması diğerini değiştirecektir.

İPUCU: Benim yapmadığım ve bazı problemler yaşadığım için bunu takip edin.

İPUCU: Farklı HC05'ler ve HC06'lar, sahip olduklarımdan farklı olabilir.

HCO6 komutları gerçekleştirir, ancak her zaman değişen sonuçları göstermez, örn. isim değişikliği.

Adım 1: Değerlendirme/değişiklik

Değerlendirme/değişiklik
Değerlendirme/değişiklik
Değerlendirme/değişiklik
Değerlendirme/değişiklik
Değerlendirme/değişiklik
Değerlendirme/değişiklik

Ekli, benimkine benzer bir HC05 şemasıdır. Bildiğim iki fark, PIO11 (34) ile EN pini arasında 2.2K direnç olması ve 3.3v regülatörün 3 pinli bir paket olması ve CE pininin olmaması. Ekli resim, sahip olduğumu düşündüğüm şeyin işaretlenmiş bir şemasıdır.

Programlama amaçlı olarak önemli olan, pin 34 Key'in EN pinine 2.2K'lık bir direnç üzerinden bağlanmasıdır. (Ayrıca buton bağlanır, diğer taraf 3.3V'a bağlanır)

Stok HC05, 3.3V sinyallerle çalışmasına rağmen 5V güç gerektirir, bu yüzden HCO5'imi bunun yerine 3.3V kullanacak şekilde değiştirdim. 3.3V regülatörünü çıkardım ve VCC pininden doğrudan 3.3V'a bir jumper çalıştırdım. Bu, değiştirilmiş şematikte ve değiştirilmiş HC05 resmimde gösterilir.

Bu arada, ekteki HC05 Komut Seti.pdf'de HC05'in kullanımıyla ilgili bazı değerli bilgiler var, Ne yazık ki, pek kullanıcı dostu değil.

Adım 2: HC05'in Programlanması

HC05'in programlanması
HC05'in programlanması
HC05'in programlanması
HC05'in programlanması

HC05'i kullanmanın en kolay yolunun, HC06 ile Old Man And Bluetooth Instructable'da yaptığım gibi onu CP2102 3.3V seri adaptörlerimden birine bağlamak olduğuna karar verdim. Resme ve şemaya bakın.

ÖNEMLİ İPUCU: HC05'i komut modunda çalıştırmak için, 3,3V uygulanmadan önce PIO11 piminin (34) yüksek olması gerekir. HC05'imdeki EN pini, PIO11'e 2.2K'lık bir dirençle bağlı, bu yüzden sadece 3.3V'a bağlanması gerekiyor. Şematik bunu Program pinleri olarak gösterir, ancak sadece 3.3V'den EN pinine bir jumper yerleştirin. Güç uygulamadan önce bunu yaptığınızdan emin olun. Benimkinde, HC05 LED'i yavaşça yanıp söneceği için komut modunda olup olmadığınızı anlayabilirsiniz. Hızlı yanıp sönüyorsa, eşleştirme modundasınız ve tekrar denemeniz gerekiyor.

İPUCU: Komut modundaki HC05 her zaman 38400 baud hızında konuşur. Tüm komutlar büyük harfle yazılır ve ardından bir CR ve LF gelmesi gerekir. (Bu, HC06'dan farklıdır)

İPUCU: Komut biçimi çok katıdır. Her zaman büyük harf kullanın. Hepsi “AT” ile başlar Onları aynen takip edin, gösterilmedikleri yerlere boşluk ekleyemezsiniz.

Arduino'yu başlatın. “Araçlar” “Port”a gidin ve CP2102'nin bağlandığı Com portunu seçin.

Seri Monitörü açın. Bu pencerenin altına doğru, “Hem NL hem de CR” ve “38400 baud” öğesini seçin. (NL, Satır Besleme olan LF ile aynı olan Yeni Satır anlamına gelir).

Yukarıya doğru Gönder düğmesinin yanında bir kutu var, onu tıklayın.

PC'nizde Caps Lock'u açın

AT yazın

Büyük pencerede “Tamam” görüntülenmelidir.

Komut modunda iletişim kuruyorsunuz

Benimkinde çalışan bazı komutlar

NS

+ SIFIRLAMADA

+VERSİYONDA?

AT+NAME?

AT+ADDR? ADDR:98D3:31:F5CB41

AT+NAME=BT1 Bu, adı BT1 olarak değiştirir

AT+ROLE? 0 = Bağımlı 1=Ana

Adım 3: HC06 Yeniden Ziyaret Edildi

HC06 Tekrar Ziyaret Edildi
HC06 Tekrar Ziyaret Edildi

HC05 ve HC06 arasındaki temel farklardan biri, HC05'in master veya slave olabilmesi, HC06'nın ise sadece bağımlı olabilmesidir. Bu, bir HC05 ve bir HC06 arasında konuşabileceğiniz anlamına gelir. Ancak başka birçok farklılık var.

HC06'mı kurmak için bir Arduino kullanabilirken, bir 3.3v CP2102 kullanmayı seçtim. Resmi görmek

Bağlantılar

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Bu temelde HC05 ile aynıdır, ancak HC06'mın sadece dört pimi vardır.

CP2102'm 3.3V sağlayacak şekilde değiştirildi

HC06'm 3.3V kabul edecek şekilde değiştirildi

CP2102 USB bilgisayarıma bağlı. Bilgisayarımda Arduino IDE kullanıyorum.

Doğru “Port”u seçin ve Seri Monitörü açın.

HC06'mda kırmızı LED hızlı yanıp sönüyor, bu da eşleştirmeye hazır olduğunu ancak komutları da alabildiğini gösteriyor.

Bu bilgilerin bir kısmı Martyn Currey'den geldi:

www.martyncurrey.com/arduino-and-hc-06-zs-0…

Bu nedenle, her HC06 türü farklı olabilir, benimki VERSION linvorV1.5'i döndürür

HC06'm için (ve muhtemelen hepsi için), onu komut moduna almak için özel bir prosedür yok. Görünüşe göre eşlenmemişse, seri bağlantı noktası üzerinden her zaman komut gönderebilirsiniz.

İPUCU: Bluetooth aracılığıyla (bildiğim) herhangi bir Bluetooth modülüne komut gönderemezsiniz.

Seri Monitörü açın

Seri Monitörün altındaki ilk kutuya tıklayın ve "satır sonu yok" olarak ayarlayın

Başlangıçta, baud hızım 9600 baud idi.

PC'nizde Caps Lock'u açık olarak ayarlayın

Üst kutuya AT yazın

Enter yazın veya “Gönder” düğmesine dokunun

Ekran Tamam'ı göstermelidir

İPUCU: Tamam almazsanız, bunun nedeni baud hızının değişmiş veya farklı olması olabilir. Umarım doğru olanı bulana kadar çeşitli olanları deneyebilirsiniz.

NOT: Birden çok komut gönderildiğinde, yanıt verileri bir sonraki satıra kaymaz. Aşağıya doğru, Çıktıyı temizle'ye tıklayabilirsiniz.

İşime yarayan komutlar:

Komut Yanıtı

AT+VERSİYON OKlinvorV1.5

AT+NAMEFred döndürürOKsetname

(Adını söylemez ama Bluetooth ile bağlanırsa görünür.)

NOT: Adı değiştirirseniz, eşleştirmeyi kaldırıp yeniden eşleştirene kadar akıllı telefonunuzda eski ad görünecektir.

AT+PINxxx Denemedim. Varsayılan değer 1234

AT+BAUD8 Baud hızını 115200 olarak değiştirir

Yanıt, baud hızıdır, örn. 115200

(Baud hızını değiştirdikten sonra, daha fazla komut göndermek için Seri Monitör baud hızını 115200 olarak değiştirmelisiniz.

Baud hızı seçenekleri

1 1200

2 2400

3 4800

4 9600(varsayılan)

5 19200

6 38400

7 57600

8 115200

9 230400

460800

B921600

C 1382400

NOT: 8 115200'den daha yüksek denemedim. Daha yüksek oranları deneyen ve kötü sonuçlar alan insanlar duydum.

Çalışması gereken ancak test edilmeyen diğer komutlar:

AT+PN parite kontrolü yok (varsayılan)

AT+PO tek parite kontrolü

AT+PE çift parite kontrolü

ÖNEMLİ: Bu noktada size özgün bir isim belirlemenizi ve onu yerleştirmenizi öneririm. Ayrıca haberleşmek istediğiniz baud hızına karar vermenizi ve HC06'nızı bununla işaretlemenizi öneririm.

Adım 4: HC05'i HC06'ya Ayarlama

Tamam, bu Eğitilebilirlik bana en çok yardımcı oldu:

www.instructables.com/id/How-to-Configure-…

Kurulumum:

KÖLE bulma adresi

CP2102'li HC06 (otomatik olarak komut modunda)

HC06'ya güç sağlamak için CP2102 USB kablosunu takın.

HC06 LED'i hızlı yanıp sönüyor olmalıdır (Eşleştirme modu).

Akıllı telefonunuzda ayarları açın

Bluetooth'a git

Yeni cihaz ara

HC06 veya verdiğiniz ad gibi bir şey görürseniz bunu seçin.

Büyük olasılıkla 00:12:09:27:19:13 gibi bir dizi sayı göreceksiniz, muhtemelen bu kadar.

Bu adresi bir yere yazın. (Numara benzersiz adresidir)

onu seç

Pin istendiğinde 1234 yazın.

İsim görüntülenmelidir.

Adres hala sizde yoksa, “Önceden Bağlanmış Cihazlar” altında adı seçin.

Bilgi'ye tıklayın, Adres görüntülenmelidir. Bir yere yaz.

Görünmezse kurulumdan çıkın ve Bluetooth Terminal HC-05 uygulamasını açın.

Eşleştirilmiş Cihazlar altında adı bulun, adresin altında olması gerekir, yazın.

Köle Kurulumu

HC06 LED'i yanıp sönmüyorsa, eşleştirme moduna geri getirmek için gücü kapatıp açın.

Arduino'yu Başlat

“Araçlar” “Port” altında doğru Com portunu seçin

Seri Monitörü Aç

Bu pencerenin alt kısmında

“Satır sonu yok” ve “9600 baud”u seçin

USTA

CP2102'li HC05, komut moduna ayarlandı (EN yüksek atlamalı)

CP2102'den gelen USB kablosunu PC'ye takın

İki Arduino açabileceğimi öğrendim

İkinci Arduino'da HC05 için doğru Com portunu seçin

Seri Monitörü Aç

Pencerenin alt kısmında

“Hem NL&CR” hem de “38400 baud”u seçin

Aşağıdakiler yukarıdaki Talimattandır

Ana Yapılandırma

Yapılandırmayı ayarlamak için gerekli AT komutları:

KOMUT YANIT Ne yapar

AT+ROLE=1 OK HC05'i master olarak ayarla

AT+CMODE=1 Tamam Belirli bir adrese bağlanın

NOT: HC06 adresi muhtemelen şu şekilde biçimlendirilmiştir 00:12:09:27:19:13

BIND komutu bu 0012, 09, 27193'ü bekler (iki nokta üst üste işareti çıkarırsınız, ilk dört sayıyı alırsınız, sonra virgül, sonraki iki sayıyı, sonra virgül, sonra son altı sayıyı alırsınız)

AT+BIND=0012, 09, 271913 Tamam HC06 ile bağlanır/bağlanır

(Bu arada AT+BIND? +BIND:12:9:271913 ile yanıt verir.

(HC05 iletişim hızının HC06 ile aynı olmasını istiyorsunuz) örneğin:

AT+UART=115200, 0, 0 OK Baud hızı 115200 (1stop bit, parite yok)

İletişimi test etmek için:

HC05 EN atlama telini çıkarın, güç döngüsü.

İkisi bağlandığında, HC05 LED'i birkaç saniyede bir iki kez yanıp sönecek, HC06 LED'i sürekli yanacaktır.

Her iki com bağlantı noktasını da aynı baud hızına ayarlayın (ne ayarlarsanız yapın)

Her ikisini de “Both NL&CR” olarak ayarlayın

Seri Monitör1'e bir şey yazın, Seri Monitör2 bunu göstermelidir.

Seri Monitör2'ye bir şey yazın, Seri Monitör1 bunu göstermelidir.

Tebrikler, Bluetooth üzerinden iletişim kuruyorsunuz

Şimdi yukarıdaki Instructable, modüllerin Arduino ile nasıl kullanılacağına dair bazı eskizlere sahip. Bu Eğitilebilirlik için, buna girmeyeceğim.

Önerilen: