Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 10:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 19 sie 2017, o 01:29 
Offline
Nowy

Dołączył(a): 19 sie 2017
Posty: 2
Pomógł: 0

Witam,

Zakupiłem niedawno moduł bluetooth HC-06 ZS-040.
Podłączyłem go w standardowy sposób, by sprawdzić połączenie z komputerem i okazało się, że moduł nie chce się zupełnie pokazać.

Pomimo licznych prób z napięciem wejściowym 3.3V oraz 5V nie chciał się pokazać ani na komputerze z win 10, ani na telefonie z Android 5.0.

Moja obserwacja jest taka, czerwona dioda dołączona do modułu migała cały czas z częstotliwością ok 1hz. Raz przy napięciu 3.3 V stało się tak, że zaświeciła się światłem ciągłym. Nie znalazło to jednak żadnego odbicia w wykrywalności urządzenia.

Schemat połączenia :
[ fotki na forum umieszcza się zgodnie z instrukcją: topic44.html - mirekk36 ]



Będę bardzo wdzięczny za jakąś pomoc, ponieważ nie wiem, czy jest to usterka fabryczna urządzenia, czy jakaś moja gafa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 sie 2017, o 06:34 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Jakiekolwiek zdjęcia wrzucamy na forum a nie na zewnętrzne serwisy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 sie 2017, o 10:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sie 2015
Posty: 205
Lokalizacja: UK
Pomógł: 10

Witam,
Sam bardzo często korzystam z tego modułu. Na wejście daję 5V. Po podłączeniu zasilania powinien być on od razu widoczny jako urządzenie bluetooth (dioda miga). Dopiero po nawiązaniu połączenia przez port COM (np.putty) dioda świeci światłem ciągłym.

Jeżeli nie udaje ci się w ogóle sparować modułu to spróbuj nawiązać komunikację po RS232 i sprawdź czy odpowiada na komendy AT. Potestuj różne prędkości.
Jak nie zadziała to będziemy dalej myśleć. ;)

Pozdr.

_________________
MMT Technologies



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 sie 2017, o 10:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Moduły HC-06 nie mają możliwości przełączania trybów pracy z tego tytułu na rynku występują ich dwie odmiany - bardziej popularna odmiana HC-06-S czyli moduł SLAVE, oraz mniej HC-06-M czyli moduł MASTER. Niestety sprzedawcy często wogule nie zaznaczają w jakim trybie dany moduł pracuje (powiem więcej - sprzedawcy często nie wiedzą że moduł na stałe może pracować w jednym trybie i nawet nie wiedzą w jakim pracuje ten sprzedawany przez nich!). Jeśli Ci się trafił moduł MASTER to raczej nie dziwota że nie możesz go znaleźć bo to MASTER inicjuje połączenie. Musiał byś się podłączyć przez RS232-TTL pod niego i z terminala przy pomocy komend AT z nim pogadać (tylko ten RS232-TTL powinien rozmawiać z poziomami napięcia 3,3V bo te moduły mają logikę właśnie na takich napięciach, zasilanie też, z tym że większość płytek sprzedawanych ma wbudowany stabilizator LDO 3,3V więc zasilanie może być w zakresie od ok 3,6V - 6V, natomiast nie posiadają konwertera poziomów logicznych, a wszyscy piszą że piny tolerują 5V, i że im działa przy 5 i nic się nie dzieje - wszystko do czasu. Nota podaje że powinno być 3,3V).
Obrazek

Bo tak to tylko można powróżyć czy to moduł uszkodzony czy to co innego.

Osobiście odkąd nima BTM-222 :cry: wolę kupować HC-05, te moduły mogą pracować w obu trybach MASTER bądź SLAVE (zresztą tak samo jak BTM) a wyboru trybu dokonujemy właśnie jedną z komend AT.


Autor postu otrzymał pochwałę


Ostatnio edytowano 19 sie 2017, o 19:15 przez xentis, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 sie 2017, o 14:32 
Offline
Użytkownik

Dołączył(a): 18 lut 2015
Posty: 164
Lokalizacja: Koszalin
Pomógł: 16

Witaj.
Miałem podobny problem. To znaczy wydawało mi się, że mój moduł HC-06 ZS-040 nie działa.
Okazało się że to jest to: MLT-BT05-V4.0. Zobaczył go tylko smartfon Lenovo właśnie jako: MLT-BT05. Moje hasło: 123456. (Inni sugerują też: 000000). Ładnie się sparowały.
Ale niestety komputer go nie widzi - widocznie nie ma wsparcia dla V4.0 Bluetooth.
Inna kwestia to dostęp przez UART. Podłączyłem się przez Putty: 9600,8,1,None,None. I faktycznie mimo pisania komendy: AT ciągle cisza.
Natomiast każda komenda powinna być zakończona znacznikiem \n i \r (znak nowej linii i powrotu karetki).
Dlatego w notatniku pisze: AT\n kopiuje do schowka i wklejam do terminala. Mam odpowiedź: OK.
Najłatwiej działa to pod monitorem portu szeregowego w ArduinoIDE gdzie możemy ustawić obok 9600baud: zarówno NL jak i CR.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 sie 2017, o 19:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Do komend at gdy potrzebne są znaki końca linii i powrotu karetki bardzo wygodny jest program "Terminal" https://sites.google.com/site/terminalbpp/ wystarczy zaznaczyć by wysyłał CR + LF, dodatkowo mamy do dyspozycji 24 przyciski pod którymi można sobie zdefiniować makra (czyli wpisujemy sobie pod przyciski konkretne komendy do wysłania, później wystarczy nacisnąć przycisk i cała komenda leci do modułu).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sie 2017, o 17:57 
Offline
Nowy

Dołączył(a): 19 sie 2017
Posty: 2
Pomógł: 0

Okazało się, że kupiłem rzeczywiście HC-06 M . Dziękuję za rady. Kupiłem HC-05, która fabrycznie ustawiona jest jako Slave i teraz moduł jest wykrywany i robi echo.



Napotkałem jednak na inny ciekawy problem związany z HC-05, z którym nie umiem sobie poradzić.

Zainicjowałem połączenie UART z komputerem (8n1, 4800, 1Mhz) po kablu za pomocą przejściówki WSH PL2303 UART Board (type A). Komunikacja była poprawna, żadnych krzaków.

Po czym dokładnie z tym samym programem na ATmedze i dokładnie tym samym ustawieniem terminala spróbowałem zainicjować połączenie przez HC-05 (z którym wcześniej nawiązałem udane połączenie i zrobiłem echo) i otrzymałem bzdury.

Zrobiłem echo wewnątrz programu (jak w kodzie na dole w przerwaniu) i po niektórych klawiszy wyświetla się nic, przy innych wyświetla się krzak, przy innych zdarzają się nawet chińskie symbole.
W przypadku klawiszy po naciśnięciu których nie wyświetla się nic z zachowania diody w porcie PC4, wnioskuję, że w ogóle mikrokontroler nie uznaje, że coś do niego doszło.

Kod:
void USART_Init()
{
   /*Set baud rate */
   UBRRH = (uint8_t)(__UBRR>>8);
   UBRRL = (uint8_t)__UBRR;
   
   /*Enable receiver and transmitter and resive interrupts*/
   UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);
   
   /* Set frame format: 8data, 2stop bit */
   //UCSRC = (1<<URSEL)|(3<<UCSZ0);
   UCSRC = (1<<URSEL)|(0<<USBS)|(1<<UCSZ1)|(1<<UCSZ0)|(0<<UCSZ2);
}

void USART_Transmit( uint8_t data )
{
   /* Wait for empty transmit buffer */
   while ( !( UCSRA & (1<<UDRE)) )
   ;
   /* Put data into buffer, sends the data */
   UDR = data;
   
}

volatile char Dana_odebrana,odebrano,nr_ramki=0;

char USART_Receive( void )
{
   /* Wait for data to be received */
   while ( !(UCSRA & (1<<RXC)) )
   ;
   Dana_odebrana = UDR;
   odebrano = UDR;
   nr_ramki++;
   /* Get and return received data from buffer */
   return UDR;
}


SIGNAL(USART_RXC_vect)
{
   USART_Receive();
   
   switch(Dana_odebrana)
   {
      case 'w':
            if(wypL<250)
               wypL+=2;
            if(wypR<250)
               wypR+=2;
            break;
      case 's':
            if(wypL>0)
               wypL-=2;
            if(wypR>0)
               wypR-=2;
            break;
      case 'a':
            if(wypR<250)
               wypR+=2;
            if(wypL>0)
               wypL-=2;
            break;
      case 'd':
            if(wypR>0)
               wypR-=2;
            if(wypR<250)
               wypL+=2;
            break;   
      case ' ':
               wypR=0;
               wypL=0;
            break;
   }
   if(wypR>=248)
      USART_Transmit('X');
   
   USART_Transmit(Dana_odebrana);
   PORTB ^= 1<<PB4;
   
   
}







W terminalu ustawiłem local echo na auto i Flow control na None.





Wszystko wygląda tak jakby HC-05 nie umiało rozmawiać z Atmegą8a.

Czy wiecie może, jak naprostować tę sytuację?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sie 2017, o 20:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Nie wiem czy dobrze zrozumiałem: wariant w którym komunikacja działała to terminal PC <=> przejściówka PL2303 <=> Procek; a druga próba to zamiast PL2303 jest HC-05?

Jeśli tak to pierwsza próba była na transmisji 4800 ustawione w terminalu i w procku, natomiast w próbie drugiej w terminalu i procku masz te same ustawienia, ale pytanie czy w module również ustawiłeś prędkość 4800? Jeśli dobrze pamiętam to domyślnie on ma 9600...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lut 2019, o 09:28 
Offline
Nowy

Dołączył(a): 08 lut 2019
Posty: 1
Pomógł: 0

Ostatnio kupiłem na Aliexpress moduł HC-06, który według wielu źródeł obsługuje jedynie kilka komend AT, a sam tryb SLAVE jest ponoć zaprogramowany "na sztywno".
Mój problem był podobny, tzn. żadne urządzenia (telefony, laptop) nie były w stanie wykryć modułu jako dostępnego urzadzenia Bluetooth.
Przypadkiem trafiłem na informację na jednym z anglojęzycznych forum, żeby spróbować ustawić tryb jako SLAVE (mimo że nie ma jej oficjalnie w żadnej dokumentacji do HC-06) i to był strzał w dziesiątke!

# HC-06 firmware linvor v1.8
# komenda UART do ustawienia trybu SLAVE
AT+ROLE=S



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO