Önce her iki modülü de yapılandırmamız gerekiyor. Bunu yapmak için AT Komut Moduna geçmemiz gerekiyor ve işte bunu nasıl yapacağız. Öncelikle, Bluetooth modülünü önceki eğitimlerde açıklanan devre şemaları olarak Arduino'ya bağlamamız gerekir. Ek olarak yapmamız gereken, Bluetooth modülünün “EN” pinini 5 volta bağlamak ve ayrıca Arduino Kartındaki TX ve RX pinlerini değiştirmektir.
HC-05 Bluetooth Modülünü Yapılandırma - AT Komutları
Genel Bakış
Bu yüzden Arduino'nun RX pininin Bluetooth modülünün RX pinine voltaj bölücü aracılığıyla ve Arduino'nun TX pininin Bluetooth modülünün TX pinine bağlanması gerekir. Şimdi "EN" piminin üzerindeki küçük düğmeyi tutarken modüle güç vermemiz gerekiyor ve bu şekilde komut moduna gireceğiz. Bluetooth modülü ledi 2 saniyede bir yanıp sönüyorsa bu, AT komut moduna başarıyla girdiğimiz anlamına gelir.
Bundan sonra Arduino'ya boş bir taslak yüklememiz gerekiyor ancak yükleme sırasında RX ve TX hatlarının bağlantısını kesmeyi unutmayın. Sonra Seri Monitörü çalıştırmalıyız ve orada "Hem NL hem de CR" yi ve ayrıca Bluetooth modülünün varsayılan baud hızı olan "38400 baud" oranını seçmeliyiz. Artık komut göndermeye hazırız ve formatı aşağıdaki gibidir.
Tüm komutlar "AT" ile başlar, ardından "+" işareti, ardından bir <Parametre Adı> ve "?" o parametre için yeni bir değer girmek istediğimizde parametrenin o anki değerini döndüren işareti veya "=" işareti.
Slave Yapılandırması
Örneğin, bir test komutu olan "AT" yazarsak, "Tamam" mesajını geri almalıyız. O zaman "AT + UART" yazarsak? 38400 olan varsayılan baud hızını gösteren masajı geri almalıyız. O zaman "AT + ROLE" yazarsak "+ ROLE = 0" masajını geri alacağız, bu da Bluetooth cihazının bağımlı modda olduğu anlamına gelir. "AT + ADDR" yazarsak Bluetooth modülünün adresini geri alacağız ve şuna benzer: 98d3: 34: 905d3f.
Şimdi, ana cihazı yapılandırırken ihtiyacımız olacağı için bu adresi yazmamız gerekiyor. Aslında köle cihazını yapılandırırken, adresini almak için ihtiyacımız olan tek şey bu, ancak adı, baud hızı, eşleştirme şifresi vb. Gibi birçok farklı parametreyi değiştirebiliriz, ancak bu örnek için bunu yapmayacağız.
Ana Yapılandırma
Tamam şimdi devam edelim ve diğer Bluetooth modülünü ana cihaz olarak yapılandıralım. İlk olarak, bağımlı cihazla aynı 38400 olduğundan emin olmak için baud hızını kontrol edeceğiz. Daha sonra "AT + ROLE = 1" yazarak Bluetooth modülünü ana cihaz olarak ayarlayacağız. Bundan sonra "AT + CMODE = 0" kullanarak bağlantı modunu "sabit adres" olarak ayarlayacağız ve "AT + BIND =" komutunu kullanarak daha önce yazdığımız slave cihazın adresini ayarlayacağız.
Adresi yazarken iki nokta üst üste yerine virgül kullanmamız gerektiğini unutmayın. Ayrıca, "AT + CMODE" komutunda "0" yerine "1" girersek önceki adımı atlamış olabileceğimizi unutmayın; bu, ana birimin iletim aralığındaki herhangi bir cihaza bağlanmasını sağlar, ancak bu daha az güvenli bir konfigürasyondur. Burada komutların ve parametrelerin tam bir listesini bulabilirsiniz: HC-05 Bluetooth ve AT Komutları
Bununla birlikte, Bluetooth modüllerinin ana ve bağımlı aygıtlar olarak çalışması için temel bir yapılandırması için ihtiyacımız olan tek şey bu ve şimdi bunları normal, veri modunda yeniden bağlarsak ve modülleri yeniden çalıştırırsak, ana birim birkaç saniye içinde bağlanacaktır. köleye. Her iki modül de başarılı bir bağlantı olduğunu gösterecek şekilde her 2 saniyede bir yanıp sönmeye başlayacaktır.
İki HC-05 Bluetooth Modülü Örneği Arasındaki İletişim
Tamam, şimdi bu eğitim için pratik bir örnek oluşturmaya hazırız. İşte devre şemaları. Slave'deki bir servo motoru kontrol etmek için master'da bir potansiyometre kullanacağız. Ve tam tersi, ana birimdeki bir LED'i kontrol etmek için ikincil cihazda bir basma düğmesi kullanacağız.
Arduino Kaynak Kodları
Açıklama: Öncelikle program için gerekli olan pinleri ve bazı değişkenleri tanımlamamız gerekiyor. Kurulum bölümünde master'da led pinini çıkış olarak ayarlayıp hemen düşük seviyeye ayarladık ve 38400 baud hızında seri haberleşmeyi başlatıyoruz. Benzer şekilde slave'de de buton pinini input olarak ayarlıyoruz, pin'in bağlı olduğu servoyu tanımlıyoruz ve aynı baud hızı ile seri haberleşmeyi başlatıyoruz.
Döngü bölümünde, her iki kodda da Serial.available () fonksiyonu ile seri portta okunacak veri olup olmadığını kontrol edeceğiz ve Serial.read () fonksiyonunu kullanarak veriyi okuyup saklayacağız. "durum değişkeni. Bu nedenle, eğer master, buton durumu yüksek olduğunda slave'den gönderilen '1' karakterini alırsa veya butona basıldığında, LED yanar. Aksi takdirde karakter '0' ise LED kapalı olacaktır.
Servo motor kontrolüne gelince, önce master'da potansiyometre değerini okuruz ve 0 ile 255 arasında servo için uygun bir aralığa eşleriz. Bu değer, servo motoru uygun şekilde döndürmek için onu kullanan slave'e gönderilir. Tek ihtiyacımız olan bu ve işte örneğin gösterimi.
Ana Kod:
* How to configure and pair two HC-05 Bluetooth Modules
* by Dejan Nedelkovski, www.HowToMechatronics.com
digitalWrite(ledPin, LOW);
Serial.begin(38400); // Default communication rate of the Bluetooth module
if(Serial.available() > 0){ // Checks whether data is comming from the serial port
state = Serial.read(); // Reads the data from the serial port
digitalWrite(ledPin, HIGH); // LED ON
digitalWrite(ledPin, LOW); // LED ON
// Reading the potentiometer
potValue = analogRead(A0);
int potValueMapped = map(potValue, 0, 1023, 0, 255);
Serial.write(potValueMapped); // Sends potValue to servo motor
Slave Kodu:
* How to configure and pair two HC-05 Bluetooth Modules
* by Dejan Nedelkovski, www.HowToMechatronics.com
Serial.begin(38400); // Default communication rate of the Bluetooth module
if(Serial.available() > 0){ // Checks whether data is comming from the serial port
state = Serial.read(); // Reads the data from the serial port
// Controlling the servo motor
buttonState = digitalRead(button);
if (buttonState == HIGH) {
Serial.write('1'); // Sends '1' to the master to turn on LED
ANA SAYFAYA DÖN
Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook robotic.code
instagram @roboticcode
Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.