{"id":787,"date":"2017-10-27T23:40:26","date_gmt":"2017-10-27T21:40:26","guid":{"rendered":"http:\/\/yarogniew.net\/arduino\/?p=787"},"modified":"2021-12-22T16:33:27","modified_gmt":"2021-12-22T15:33:27","slug":"bluetooth-parowanie-dwoch-modulow-hc-05","status":"publish","type":"post","link":"https:\/\/arduino.net.pl\/index.php\/bluetooth-parowanie-dwoch-modulow-hc-05\/","title":{"rendered":"Bluetooth, parowanie HC-05"},"content":{"rendered":"\n<p>Posiadaj\u0105c dwa modu\u0142y HC-05 postanowi\u0142em &nbsp;po\u0142\u0105czy\u0107 je w par\u0119, by przekazywa\u0142y mi\u0119dzy sob\u0105 informacj\u0119. Wymy\u015bli\u0142em najprostszy z mo\u017cliwych uk\u0142ad\u00f3w oparty na mikro-w\u0142\u0105czniku i diodzie LED. Naci\u015bni\u0119cie przycisku w jednym z uk\u0142ad\u00f3w powoduje zapalenie diody w drugim i odwrotnie.<br>Bardzo pomocny okaza\u0142 si\u0119&nbsp;<a href=\"http:\/\/www.instructables.com\/id\/Arduino-Bluetooth-Master-and-Slave-Using-Any-HC-05\/\" target=\"_blank\" rel=\"noopener\">ten&nbsp;artyku\u0142<\/a>.<\/p>\n\n\n\n<p>Aby wszystko odby\u0142o si\u0119 bez problem\u00f3w nale\u017cy najpierw przygotowa\u0107 oba modu\u0142y, gdy\u017c jeden z nich musi pe\u0142ni\u0107 rol\u0119 MASTER, drugi SLAVE. Przypisane role potrzebne s\u0105 wy\u0142\u0105cznie przy parowaniu obu modu\u0142\u00f3w, potem nie ma znaczenia kt\u00f3ry modu\u0142 jest kt\u00f3ry. W ka\u017cdym razie obecny stan mojej wiedzy na to wskazuje. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/yarogniew.net\/arduino\/wp-content\/uploads\/2017\/04\/1-HC-05.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"680\" src=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/04\/1-HC-05-1024x680.jpg\" alt=\"HC-05\" class=\"wp-image-807\" srcset=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/04\/1-HC-05-1024x680.jpg 1024w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/04\/1-HC-05-300x199.jpg 300w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/04\/1-HC-05-768x510.jpg 768w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/04\/1-HC-05.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n\n<p><br>Pierwsze co nale\u017cy zrobi\u0107 by m\u00f3c skonfigurowa\u0107 modu\u0142, to wej\u015b\u0107 w tryb komend AT. Pisa\u0142em ju\u017c o tym <a href=\"https:\/\/arduino.net.pl\/index.php\/bluetooth-hc05-arduino-uno-android\/\">tu<\/a>.<br>Je\u015bli mamy pod\u0142\u0105czone tak jak tam oba modu\u0142y, mo\u017cemy wys\u0142a\u0107 komendy.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><span style=\"font-size: 18px; font-weight: bold;\">Dla modu\u0142u, kt\u00f3ry pe\u0142ni funkcj\u0119 SLAVE:<\/span><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>AT : Sprawdza po\u0142\u0105czenie (powinno zwr\u00f3ci\u0107 &#8222;OK&#8221;)<\/li><li>AT+ORGL : Przywraca fabryczne ustawienia<\/li><li>AT+ROLE: Wy\u015bwietla tryb pracy modu\u0142u (1=master\/0=slave). Powinien by\u0107 tryb 0. (AT+ROLE=0).<\/li><li>AT+UART : Wy\u015bwietla pr\u0119dko\u015b\u0107 transmisji. Powinna wynosi\u0107&nbsp;38400. (AT+UART=38400,0,0)<\/li><li>AT+ADDR : Wy\u015bwietla adres modu\u0142u. <strong>Kopiujemy i zapisujemy.<\/strong> Adres mojego modu\u0142u wy\u015bwietli\u0142 si\u0119 tak: <em>21:13:1FA96<\/em>.<\/li><li>AT+RESET : Resetuje modu\u0142 i wychodzi z trybu AT<\/li><\/ol>\n\n\n\n<p><span style=\"font-size: 18px; font-weight: bold;\">Dla modu\u0142u, kt\u00f3ry pe\u0142ni funkcj\u0119 MASTER:<\/span><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>AT : Sprawdza po\u0142\u0105czenie<\/li><li>AT+ORGL : Przywraca fabryczne ustawienia<\/li><li>AT+ROLE: Wy\u015bwietla tryb pracy modu\u0142u (1=master\/0=slave). Ustawiamy tryb 1. (AT+ROLE=1).<\/li><li>AT+UART : Wy\u015bwietla pr\u0119dko\u015b\u0107 transmisji. Powinna wynosi\u0107&nbsp;38400. (AT+UART=38400,0,0)<\/li><li>AT+CMODE=0 &#8211; powoduje \u017ce modu\u0142 HC-05 b\u0119dzie si\u0119 pod\u0142\u0105cza\u0142 do konkretnego modu\u0142u, kt\u00f3rego adres podamy w nast\u0119pnym kroku.<\/li><li>AT+BIND=<em>&#8222;zapisany wcze\u015bniej adres&#8221;<\/em>. &nbsp;Adres mojego modu\u0142u wpisuj\u0119 tak: AT+BIND=<em>21,13,1FA96<\/em>. Dwukropki zamieniamy na przecinki.<\/li><li>AT+RESET : Resetuje modu\u0142 i wychodzi z trybu AT<\/li><\/ol>\n\n\n\n<p>Teraz nale\u017cy tylko pod\u0142\u0105czy\u0107 modu\u0142y do Arduino. Ja u\u017cy\u0142em p\u0142ytki Arduino Uno i Nano. Oto schemat po\u0142\u0105cze\u0144:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/yarogniew.net\/arduino\/wp-content\/uploads\/2017\/10\/Zrzut-ekranu-2017-10-29-o-16.00.14.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1855\" height=\"623\" src=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/10\/Zrzut-ekranu-2017-10-29-o-16.00.14.png\" alt=\"po\u0142\u0105czenia HC-05 z p\u0142ytkami Nano i Uno parowania\" class=\"wp-image-798\" srcset=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/10\/Zrzut-ekranu-2017-10-29-o-16.00.14.png 1855w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/10\/Zrzut-ekranu-2017-10-29-o-16.00.14-300x101.png 300w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/10\/Zrzut-ekranu-2017-10-29-o-16.00.14-768x258.png 768w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2017\/10\/Zrzut-ekranu-2017-10-29-o-16.00.14-1024x344.png 1024w\" sizes=\"auto, (max-width: 1855px) 100vw, 1855px\" \/><\/a><\/figure><\/div>\n\n\n\n<p>Rezystor o warto\u015bci 1k.<\/p>\n\n\n\n<p>Wgrywamy program. Ten sam do obu modu\u0142\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">KOD<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;SoftwareSerial.h&gt;\nSoftwareSerial BTserial(10, 11);\nint state = 0;\nconst int ledPin = 8;\nconst int buttonPin = 2;\nint buttonState = 0;\n\nvoid setup() {\n  Serial.begin(9600);\n  BTserial.begin(38400);\n  pinMode(ledPin, OUTPUT);\n  pinMode(buttonPin, INPUT);\n}\n\nvoid loop() {\n  buttonState = digitalRead(buttonPin);\n  if (buttonState == HIGH) {\n    BTserial.write('1'); \/\/sends a 1 through the bluetooth serial link delay (1);\n  } else {\n    BTserial.write('0');\n    delay(1);\n  }\n\n  if (BTserial.available() &gt; 0) {\n    state = BTserial.read(); \/\/czytanie danych z BT\n  } if (state == '1') {\n    digitalWrite(8, HIGH); \/\/ LED ON state = 0;\n  } else if (state == '0') {\n    digitalWrite(8, LOW); \/\/ LED OFF state = 0;\n  }\n}<\/code><\/pre>\n\n\n\n\n\n<p>Po pod\u0142\u0105czeniu zasilania do obu p\u0142ytek modu\u0142y powinny si\u0119 sparowa\u0107. Podw\u00f3jne migni\u0119cia diod na obu HC-05 oznaczaj\u0105, \u017ce tak si\u0119 sta\u0142o.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"VID HC-05 pairing\" width=\"774\" height=\"581\" src=\"https:\/\/www.youtube.com\/embed\/n5NQZv9Na3Q?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Teraz, je\u015bli wszystko zosta\u0142o pod\u0142\u0105czone prawid\u0142owo, naci\u015bni\u0119cie przycisku na dowolnej p\u0142ytce spowoduje wys\u0142anie przez bluetooth informacji, odczytanie, czego efektem b\u0119dzie za\u015bwiecenie diody na drugiej p\u0142ytce.<br>I to wszystko.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">LINK<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>How To Configure and Pair Two HC-05 Bluetooth Modules as Master and Slave | AT Commands<ul><li><a href=\"https:\/\/howtomechatronics.com\/tutorials\/arduino\/how-to-configure-pair-two-hc-05-bluetooth-module-master-slave-commands\/\">https:\/\/howtomechatronics.com\/tutorials\/arduino\/how-to-configure-pair-two-hc-05-bluetooth-module-master-slave-commands\/<\/a><\/li><\/ul><\/li><li>ESP8266 Bluetooth | NodeMCU Bluetooth | ESP8266 Android application, HC05 or HC06 Bluetooth<ul><li><a href=\"https:\/\/youtu.be\/MAyOgmK5d4c\">https:\/\/youtu.be\/<\/a><a rel=\"noreferrer noopener\" href=\"https:\/\/youtu.be\/MAyOgmK5d4c\" target=\"_blank\">MAyOgmK5d4c<\/a><\/li><li><a href=\"https:\/\/www.electroniclinic.com\/esp8266-bluetooth-hc05-bluetooth-interfacing-with-nodemcu-esp8266\/\">https:\/\/www.electroniclinic.com\/esp8266-bluetooth-hc05-bluetooth<\/a><a rel=\"noreferrer noopener\" href=\"https:\/\/www.electroniclinic.com\/esp8266-bluetooth-hc05-bluetooth-interfacing-with-nodemcu-esp8266\/\" target=\"_blank\">&#8211;<\/a><a href=\"https:\/\/www.electroniclinic.com\/esp8266-bluetooth-hc05-bluetooth-interfacing-with-nodemcu-esp8266\/\">interfacing-with-nodemcu-esp8266\/<\/a><\/li><\/ul><\/li><li>ESP32 Bluetooth Classic with Arduino IDE \u2013 Getting Started<ul><li><a href=\"https:\/\/randomnerdtutorials.com\/esp32-bluetooth-classic-arduino-ide\/\">https:\/\/<\/a><a rel=\"noreferrer noopener\" href=\"https:\/\/randomnerdtutorials.com\/esp32-bluetooth-classic-arduino-ide\/\" target=\"_blank\">randomnerdtutorials.com<\/a><a href=\"https:\/\/randomnerdtutorials.com\/esp32-bluetooth-classic-arduino-ide\/\">\/esp32-bluetooth-classic-arduino-ide\/<\/a><\/li><\/ul><\/li><\/ul>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Posiadaj\u0105c dwa modu\u0142y HC-05 postanowi\u0142em &nbsp;po\u0142\u0105czy\u0107 je w par\u0119, by przekazywa\u0142y mi\u0119dzy sob\u0105 informacj\u0119. Wymy\u015bli\u0142em najprostszy z mo\u017cliwych uk\u0142ad\u00f3w oparty na mikro-w\u0142\u0105czniku i diodzie LED. Naci\u015bni\u0119cie przycisku w jednym z&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2],"tags":[9,38,39,12,23,30],"class_list":["post-787","post","type-post","status-publish","format-standard","hentry","category-arduino","tag-arduino","tag-at","tag-bluetooth","tag-hc05","tag-nano","tag-tutorial"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/comments?post=787"}],"version-history":[{"count":36,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/787\/revisions"}],"predecessor-version":[{"id":4755,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/787\/revisions\/4755"}],"wp:attachment":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/media?parent=787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/categories?post=787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/tags?post=787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}