Skocz do zawartości

Problem z komunikacją HC-06 Arduino


Pomocna odpowiedź

Napisano

Cześć,

Próbuję przesłać dane z telefonu (używam gotowej aplikacji bluetooth terminal), na arduino.

Schemat podłączenia wygląda następująco 

image.thumb.png.d2de520f685c4ce94eaa5532cfa227fd.png

Oraz Kod



SoftwareSerial BTSerial(2, 3);

void setup() {
  Serial.begin(9600); 
  BTSerial.begin(9600);
  pinMode(2, INPUT);
  pinMode(3, OUTPUT);
}

void loop() {
  
   if (BTSerial.available()) {
    char received = BTSerial.read(); 

    Serial.print("Received: ");
    Serial.println(received);
  }
  
  
  delay(100); 
}

W momencie gdy przesyłam dowolną wartość z telefonu wyskakuje mi coś takiego:

 

image.thumb.png.3c5256d2c1e12871599f36fe7ee7306f.png

Z tego co się orientuje powinienem otrzymać po prostu znac ASCII

Gdy zamieniłem to na INT, pojawia się coś takiego

image.thumb.png.b7ec489f2801978c9233f98f96a5a30c.png

Próbowałem znaleźć podobny problem na internecie, ale nigdzie nic nie widzę, czy to oznacza uszkodzony moduł bluetooth? 

Pozdrawiam i z góry dziękuję za pomoc

image.png

  • Lubię! 1

Nie ma pewności jak jest ustawiony moduł, jakie ma komendy, to zależy jaki ma firmware. Mam tylko jeden HC-06, BTW nie widzę sensu by takie kupować, są w tej samej cenie co HC-05, a mają połowę funkcjonalności.

Mój w każdym bądź razie jest ustawiony na 9600 i nawet nie miałem pojęcia jak to zmienić, nie działają komendy z HC-05, tu też są różne w zależności od firmware zmiana baud rate to może być komenda BAUD lub UART.

Niektóre tutoriale są opisane jako HC-05/HC-06 a to są zupełnie inne moduły, różnie się zachowują, przykładowo tryb komend AT w HC-05 można wywołać przyciskiem, a w czasie pracy sens ma tylko wcześniejsze wykonanie karkołomnego lutowania by pin spod przycisku GPIO 34 wyprowadzić i ewentualnie podłączyć do 3.3V, gdzie w HC-06 on jest w trybie komend od razu po włączeniu i gdy nie jest w aktywnym połączeniu po BT z prędkością jak jest ustawiony UART (u mnie 9600). Prędkość do komend AT w 5 są zależne czy go się uruchomiło w tym trybie, wtedy to jest zawsze 38400, albo czy jest to tryb włączony w czasie działania, wtedy prędkość jest taka jak jest ustawiona normalna komunikacja. Jest to nawet fajne, bo jak się wyjmie moduł z szuflady po paru latach to od razu w tryb AT i można sobie pogadać, sprawdzić, przestawić. Poza tym komendy w 5 muszą być zakończone znakiem końca linii, w 6 być nie mogą i muszą być wielkimi literami, w 5 wielkość liter jest obojętna.

Najlepszy opis jaki znalazłem jest tu: https://www.instructables.com/AT-command-mode-of-HC-05-Bluetooth-module/ choć użyłem np. komendy AT+PIN0000 i dostałem potwierdzenie setPIN to i tak się go nie dało sparować, jak zmieniłem z powrotem na 1234 to telefon się połączył i wysłał o dziwo prawidłowy komunikat. A chwilę potem utracił połączenie i tyle z działania, kolejna próba i znowu po paru komunikatach rozłączenie. HC-05 mam dużo lepsze doświadczenie. Może 1m to za daleko do działania dla mojego egzemplarza, na komendę AT+VERSION odpowiada KlinvorV1.8.

Kupiłem właśnie HC-05 i wszytko śmiga... 

Prędkość transmisji jest 9600 fabryczna, podejrzewam dwie rzeczy, na tym setupie podłączyłem do 5V komunikację zamiast do 3,3V (choć ludzie robili do 5V i wszytko śmigało) i mogłem uszkodzić lub kupiłem od razu uszkodzone... 

Tak czy inaczej, dziękuję za pomoc 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...