Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

AVR [C] - Połączenie BTM-222 -> HC-06

17 Sie 2014 12:32 2904 11
  • Poziom 11  
    Witam,
    Szukałem już podobnego tematu na forum niestety nic nie znalazłem, więc pytam się was drodzy forumowicze, czy kiedykolwiek próbowaliście połączyć 2 atmegi za pomocą modułu bluetooth? Powiem wam do czego miałbym to potencjalnie zastosować. Tematem mojej pracy inżynierskiej jest stworzenie robota zdalnie sterowanego przez bluetooth. Udało mi się zadanie te zrealizować korzystając z odbiornika HC-06, który odbierał dane (przez USARTa) nadawane przez smartfona i poprawnie sterował silnikami oraz serwami. Doszedłem jednak do wniosku iż ekran dotykowy nie jest za szczęśliwym rozwiązaniem dla aparatury sterującej. Postanowiłem zrobić układ Atmegi z paroma potencjometrami lub enkoderami i przyciskami który za pomocą BTM-222 nadawałby dane do innej atmegi która by informacje odbierała za pomocą posiadanego już HC-06. Mam teraz pytanie czy jest takie coś możliwe do zrealizowania za pomocą BTM-222 i HC-06?
    Jeśli tak to w jaki sposób sie paruje te urządzenia ze sobą?

    Z góry dziękuje za wszelkie porady i pomoc.
  • Poziom 20  
    Dlaczego koniecznie chcesz mieszać moduły. Nie lepiej jak już posiadasz HC-06 dokupić jeszcze jeden. One pięknie ze sobą współpracują. Wystarczy ustawić jednakowe piny w obu modułach i master będzie sie łaczył z tym drugim automatycznie jezeli tylko slave znajdzie się w jego zasięgu. Po sparowaniu tworzą oba "bezbarwne" połączenie tzn. tak jak byś swoje urządzenia połączył kablem. Oczywiście muszą mieć również ustawioną jednakową prędkość komunikacji.
  • Poziom 11  
    Ale czy HC-06 nie ma możliwości tylko odbioru danych? Pisze w dokumentacji technicznej że u niego jest możliwy tylko tryb slave? Jak już to chyba powinienem użyć układu HC-05 (który obsługuje tryby master/slave)?
  • Pomocny post
    Poziom 20  
    Trzeba kupić HC-06 Master oznaczone są mazakiem lub farbą na scalaku i cechą charakterystyczną jest też że płytka posiada 6 pinów nie jak slave 4 mozna je dostać na ebayu już za pare euro z przesyłką. Wszystkie moduły nieoznaczone są slave, w przeciwieństwie do HC-05 te z kolei są konfigurowalne i są oznaczone jako maser lecz domyślnie są sprzedawane jako slave trzeba je rekonfigurowac przy pomocy komend AT
  • Pomocny post
    Poziom 20  
    Z modułami HC_06 jest tak że slave nie ma mozliwości nawiązania połączenia, taką możliwość posiada tylko master. Dlatego ze slave można nawiązać połączenie przez komputer, telefon lub inny moduł Master.
  • Poziom 11  
    Bardzo dziękuję za odpowiedź chcialbym sie jeszcze dowiedzieć jak mam odczytać adres mac modułu hc-06 (slave). By to zrobić potrzebuje posłać odpowiednią komende at tylko jak go mam do pc podłączyć? Za pomocą rs-232 czy da sie może wprowadzać komendy at już bezprzewodowo? Wybacz takie głupie pytanie ale nigdy nie miałem doświadczenia z konfigurowaniem tych urządzeń.
  • Poziom 20  
    W przypadku modułów HC-06 macadres nie jest ci do niczego potrzebny. Jest w nich zastosowana inna idea połączeń niż w modułach BT222 lub HC-05, mianowicie Master po otrzymaniu stanu wysokiego na pinie 26 rozpoczyna procedurę wyszukiwania urządzeń BT. Jeżeli natrafi na moduł slave z jednakowym pinem jak Master, zapisze go do swojej pamięci i nawiąże połączenie. Te procedurę wykonuje się tylko raz w celu zapamiętania slave, potem te dwa moduły mające ten sam pin stają się parą nie wymagająca żadnej konfiguracji. Jeżeli master wykryje slave w swoim zasięgu nawiąże z nim automatyczne połączenie.
    Warto wspomnieć, że po zakupie mają one standardowo ustawiony pin na 1234, więc master będzie nawiązywał automatycznie połączenie ze slave HC-06. Należało by to jednak zmienić ponieważ jeżeli inny użytkownik takiego modułu nie zmienił ustawień fabrycznych twój sterownik przez powiedzmy pomyłkę mógłby nawiązać połączenie nie ze swoją parą.
    Jeżeli chodzi o konfiguracje i wydawanie komend AT to dokonuje się jedynie drogą przy pomocy RS232 lub po podłączeniu do procesora lecz nie drogą radiową i moduł nie może być sparowany podczas wydawania komend. Moduły te mają ograniczoną liczbę komend. Jest ich niecała dziesiątka. Bardzo ważną rzeczą jest, że po wysłaniu komendy nie należy przesyłać żadnych znaków sterujących typu CR lub LF. Wysyłamy czystą komendę w przeciwnym razie moduł nie będzie ich rozpoznawał. W przypadku HC-05 jest inaczej, komendy muszą być zakończone sekwencją CR LF a liczba komend jest znacznie szersza.
    Do połączenia modułu do komputera można użyć przejściówki USB To RS232 TTL PL2303HX, która to zapewnia odpowiednie poziomy sygnałów sterujących i dowolnego terminala. Natomiast połączenie mikrokontrolera należy zrealizować przy pomocy konwertera poziomów lub użyć procesora na 3V ponieważ moduły BT pracują w standardzie 3.3V.
    W załączonym pdf-ie znajdują sie schematy wraz komendami AT pozostawiam je dla twojej analizy.
  • Pomocny post
    Poziom 20  
    FT232 jest znacznie droższe, zgadzam sie że posiada RS232 ze wszystkimi sygnałami sterującymi, ale do jednokrotnego skonfigurowania PL2303 w zupełności wystarcza i można je nabyć w symbolicznej cenie za niecałe euro z przesyłką. Druga sprawa to przejśćówka ta nie będzie zastosowana w układzie docelowym. Decyzje te pozostawmy koledze, który projektuje urządzenie.
  • Pomocny post
    Moderator na urlopie...
    Do jednorazowej konfiguracji owszem, ale ogólnie scalak ten czasem ma problemy ze sterownikami i stabilnością działania, a FT232 w laboratorium zawsze się przydaje.
  • Poziom 11  
    Zdecydowałem się jednak na zakup 2 modułów BTM-222 z wbudowaną anteną gdyż mają większy zasięg działania ponoć do 100 metrów (testowałem 20 metrów - działa ok). Dla potomnych - jeśli szukacie jak sparować 2 BTMy ze sobą to polecam kurs:

    http://www.atnel.pl/bluetooth-atb-btm-222.html

    Jest tu wszystko opisane co należy zrobić.

    Do konfiguracji użyłem jednak nie FT232 tylko uC atmega 128 A. Jak za jej pomocą wysyłać do BTM-222 komendy AT znajdziecie w przykładowych kodach na stronce sklepu Kamami (zip pod opisem modułu KaModBTM222).

    Pozdrawiam i dziękuję za obszerne i pomocne komentarze.
  • Poziom 11  
    Dla potomnych jeśli BTM-222 nie zachowywałby się tak jak oczekujecie (np. u mnie czasem posyłał dobry znak a czasem znak w ASCII 219 lub 221 zamiast poprawnego), to zresetujcie go do ustawień fabrycznych odpowiednią komendą AT mi pomogło.