Problem z modułem BT HC-06

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
MorganMLGman
Młodszy majsterkowicz
Posty: 7
Rejestracja: 13 cze 2017, 19:42

Problem z modułem BT HC-06

Post autor: MorganMLGman » 13 cze 2017, 19:58

Kupiłem od chińczyków moduł BT HC-06 i próbuję coś z nim działać, ale już od samego początku napotykam trudności. Nawet podstawowy program:

Kod: Zaznacz cały

 void setup() {
  Serial1.begin(9600);
}
void loop() {
  Serial1.print(".");
  delay(100);
} 
nie działa poprawnie. Na telefonie, który sparowałem z modułem, zamiast kropek widzę tylko znaki zapytania. Podobnie w programie, który odbiera dane z telefonu przez BT i wyświetla je na serial monitorze, wysyłając "1" dostaję "255", na jakimś forum napisali, żeby zmienić baud rate na 138400 czy coś takiego, ale to zmieniło jedynie wartość na "49". Nie wspomnę już nawet o jakichś bardziej zaawansowanych programach. Nie mam już pojęcia co mogę zrobić, żeby moduł działał poprawnie. Proszę o pomoc i w miarę proste tłumaczenie, ponieważ z jeszcze niezbyt długo znam się z arduino.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 448
Rejestracja: 29 mar 2015, 15:05

Re: Problem z modułem BT HC-06

Post autor: Slawek » 13 cze 2017, 20:43

Skoro masz zainicjowany Serial z baud 9600 to HC-06 tez musisz ustawić na 9600. Druga sprawa to napisz może jakim programem czytasz na telefonie to co wysyłasz na telefon.

Połącz się terminalem z HC-06 i za pomoca komend AT ustaw włąsciwe parametry pracy http://www.puntoflotante.net/BOLT-SYSTE ... MMANDS.htm

No i trzecia kwestia, zakładam, że Rx i Tx podłączasz krzyżowo czyli Rx BT z Tx Arduino i odwrotnie.

Pozdr
MorganMLGman
Młodszy majsterkowicz
Posty: 7
Rejestracja: 13 cze 2017, 19:42

Re: Problem z modułem BT HC-06

Post autor: MorganMLGman » 13 cze 2017, 21:11

Na telefonie próbowałem kilkoma różnymi BluetoothTerminal albo BluetoothSerial, właśnie nie wiem jak mogę się połączyć z modułem żeby wysłać komendy, ponieważ w każdym poradniku jaki czytałem, oglądałem używali jakichś dodatkowych kabli/przejściówek/adapterów, których nie mam. Na jakimś forum pisali żeby podłączyć na leonardo moduł TX - TX, RX - RX i wgrać czysty program na arduino i wysyłać komendy terminalem, ale to nie działa, przy podłączeniu krzyżowym też. Moduł próbowałem już podłączać krzyżowo i nie, przez konwerter 3.3V i bezpośrednio do pinów Arduino zawsze jest ten sam problem.
Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 448
Rejestracja: 29 mar 2015, 15:05

Re: Problem z modułem BT HC-06

Post autor: Slawek » 13 cze 2017, 21:27

Moduł fabrycznie jest ustawiony na baud 9600. Niektóre programy na telefonach potrzebują znak końca linii czyli :

Serial1.print(".\n");

Obejrzyj ten film https://www.youtube.com/watch?v=8DOg8onUvks - chłopak naprawdę dobrze tłumaczy, użyj też tego programu który pokazuje i sprawdź.

Pozdr
MorganMLGman
Młodszy majsterkowicz
Posty: 7
Rejestracja: 13 cze 2017, 19:42

Re: Problem z modułem BT HC-06

Post autor: MorganMLGman » 13 cze 2017, 21:30

Przy Serial1.print(".\n"); dostaję 2 znaki zapytania w tej samej linii zamiast 1
MorganMLGman
Młodszy majsterkowicz
Posty: 7
Rejestracja: 13 cze 2017, 19:42

Re: Problem z modułem BT HC-06

Post autor: MorganMLGman » 13 cze 2017, 21:59

Jeden problem rozwiązałem metodą prób i błędów, przy pomocy różnych postów na forach ustaliłem że domyślna prędkość komunikacji mojego modułu to 34800 baudów. Teraz przy nawiązaniu połączenie przez PuTTy przy tej prędkości z portem COM, który wyświetla się w ustawieniach bluetooth komputera przy module i zresetowaniu arduino przy otwartym PuTTy, z programu

Kod: Zaznacz cały

void setup()
{
  Serial1.begin(38400);
}

void loop()
{
  if(Serial1.read()>0)
    Serial1.println("elo");
}
dostaję to czego się już w sumie nie spodziewałem czyli "elo". Niestety nadal nie mogę dostać odpowiedzi "OK" na komendę AT.
MorganMLGman
Młodszy majsterkowicz
Posty: 7
Rejestracja: 13 cze 2017, 19:42

Re: Problem z modułem BT HC-06

Post autor: MorganMLGman » 14 cze 2017, 17:05

Może nie opisałem tego odpowiednio, ale ten ostatni program "elo" działa przez BT. A wiem to ponieważ łączę się przez PuTTy z portem COM modułu, który nie jest połączony z komputerem. Nie wiem jak to dokładniej opisać, ale Arduino z modułem jest podłączone do ładowarki od telefonu i ma połączenie z komputerem tylko przez BT, więc jest nie ma możliwości żebym łączył się z serial portem Arduino.
Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 448
Rejestracja: 29 mar 2015, 15:05

Re: Problem z modułem BT HC-06

Post autor: Slawek » 14 cze 2017, 21:46

Mam ten moduł, wytrzymuje 5V bez problemu, pomylenie pinów niczym nie grozi. Moduł BT musi być podłączony do arduino bo jak to ma inaczej działać ? Kolega nie chce pokazać jak podłączył i z jakiej apki na telefonie korzysta, zatem trudno zgadywać, szkoda czasu.

Pozdr
MorganMLGman
Młodszy majsterkowicz
Posty: 7
Rejestracja: 13 cze 2017, 19:42

Re: Problem z modułem BT HC-06

Post autor: MorganMLGman » 14 cze 2017, 22:45

Przecież napisałem że korzystam z BluetoothTerminal, tak nazywa się aplikacja, a połączenie to RX - TX TX - RX na pinach 0 i 1 w Arduino Leonardo

Wysłane z mojego FRD-L09 przy użyciu Tapatalka
remolmar
Młodszy majsterkowicz
Posty: 2
Rejestracja: 10 lut 2014, 23:18

Re: Problem z modułem BT HC-06

Post autor: remolmar » 5 maja 2019, 10:52

WITAM,

mam podobny problem. nie mogę sterować serwem poprzez app przez BT. App prawidłowo łączy się BT ( podpiętym do arduino )> Jak sprawdzam poprawność to po wpisaniu znaku w app Bluetooth terminal to znaki pojawiają się w Serial Port monitor w ( arduino ) Gdy przełączam się na BT servo Control łączy się z BT ale nie idzie sterować serwem. Po wpisaniu komendy ( z poziomu PC) w Serial port monitor ( arduino ) wówczas serwo działa.
ODPOWIEDZ

Strony partnerskie: