Dostępny w naszym sklepie moduł Bluetooth HC-05 można skonfigurować według własnych upodobań. Wpis ten powstał w związku z zawiłością, z którą mieliśmy do czynienia w trakcie zmiany ustawień.
Najpopularniejsze obecnie moduły to HC-05 oraz HC-06. W tym wpisie poruszymy HC-05, jako, że z nim prowadziliśmy boje – bo te są w naszej ofercie. W internecie można się natknąć na dużo poradników jak połączyć moduł z Arduino, ale jest też sporo informacji jak skonfigurować moduł, niestety nie zawsze była informacja jakiego modułu tyczą się komendy.
Zacznijmy od początku.
Aby móc skonfigurować moduł, musimy wejść w tryb komend AT. W tym celu zanim podłączymy zasilanie zwieramy pin34 do Vcc(3.3V), tak ustawiony moduł uruchamiamy i obserwujemy diodę LED, która powinna migać co 2s. Jeżeli częstotliwość migania jest szybsza to znaczy, że moduł nie wszedł w tryb AT. Należy sprawdzić jeszcze raz połączenia i uruchomić ponownie. Czasem tak może być.
W wypadku gołych modułów Bluetooth to ten pin opisany KEY(34) (zdjęcie poniżej). Powyżej znajduje się zdjęcie modułów Bluetooth ze zintegrowanym adapterem do płytek stykowych. Pin 34 jest wyprowadzony na pole lutownicze zaznaczone czerwoną strzałką (nie jest podłączony do pinu znajdującego się tuż obok!).
Jeżeli udało nam się uruchomić tryb AT możemy przejść do przeprogramowania modułu Bluetooth. Istnieją dwie metody, jedna łączymy się przez jakiś moduł USB-Serial, bądź wykorzystujemy do tego celu Arduino.
My zajmiemy się podłączeniem do Arduino. Po pierwsze należy wgrać program, który nam ułatwi komunikację (w trybie AT moduł działa z prędkością 38400) i do tego celu użyjemy SoftwareSerial.
/* AUTHOR: Hazim Bitar (techbitar) DATE: Aug 29, 2013 LICENSE: Public domain (use at your own risk) CONTACT: techbitar at gmail dot com (techbitar.com) */ #include SoftwareSerial mySerial(10, 11); // RX, TX void setup() { Serial.begin(9600); pinMode(9,OUTPUT); digitalWrite(9,HIGH); Serial.println("Enter AT commands:"); mySerial.begin(38400); } void loop() { if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) mySerial.write(Serial.read()); }
Pin RX modułu Bluetooth podłączamy do pinu 11, pin TX do pinu 10, a pin 34 (KEY) do pinu 9 Arduino. Po wgraniu powyższego programu Arduino ustawi pin KEY w stan wysoki co powinno objawić się jak już wcześniej podaliśmy stabilnym miganiem diody co 2s. Jeśli tak będzie otwieramy monitor portu szeregowego, wybieramy prędkość 9600 i możemy rozpocząć komunikację z naszym Bluetoothem.
Spis komend:
AT : Sprawdzenie połączenia
AT+NAME : Wyświetla nazwę modułu
AT+ADDR : Wyświetla adres modułu
AT+VERSION : Wyświetla wersję oprogramowania
AT+UART : Wyświetla prędkość transmisji
AT+ROLE: Wyświetla tryb pracy modułu(1=master/0=slave)
AT+RESET : Resetuje moduł i wychodzi z trybu AT
AT+ORGL : Przywraca fabryczne ustawienia
AT+PSWD: Wyświetla standardowe hasło
Jeżeli chcemy zmienić nazwę modułu na jakąś bardziej wyszukaną, wystarczy wpisać:
“AT+NAME=NASZA NAZWA”
Tak samo jest jeśli chcemy zmienić prędkość transmisji:
“AT+UART=115200,1,0” , wartość bitu STOP 1, wartość bitu parzystości 0 (można zmieniać według uznania).
Zmiana hasła ze standardowego na nasze:
“AT+PSWD=2987” hasło zmieniono z 1234 (standardowe hasło) na 2987.
Więcej informacji o komendach można znaleźć w pliku pdf
http://www.instructables.com/files/orig/FKY/Z0UT/HX7OYY7I/FKYZ0UTHX7OYY7I.pdf