Bluetooth

Bluetooth cz14

Bluetooth to bezprzewodowa technologia radiowa, która pozwala wielu różnym urządzeniom łączyć się ze sobą i współpracować na nie dalekie odległości. Został pierwotnie wynaleziony jako niedroga bezprzewodowa alternatywa dla przewodowych klawiatur, słuchawek, głośników i innych urządzeń peryferyjnych.

Technologie bluetooth łącząc z Andino możemy użyć na wiele sposobów, jednym z nich jest np. stworzenie robota z bezprzewodowym sterowanie z telefonu. Komunikacja z modułem bluetooth odbywa się za pomocą UART, z którą zachęcam się zapoznać przed przystąpieniem do zadania.

Zadanie

Zbudować układ z diodą led, która będzie się zapalać po wciśnięciu przycisku w aplikacji mobilnej.

Do zbudowania potrzebujemy:
  • Diodę Led
  • Rezystor 56Ω
  • XM-15B SPP (Lub inny moduł bluetooth)
  • Arduino (użyłem MKR1010 wifi)
Schemat połączenia:

schemat

Po podłączeniu przechodzimy do ustawień bluetooth w telefonie i wyszukujemy urządzenie o nazwie XM-15B SPP. Jeśli telefon odnalazł urządzenie i połącznie przebiegło poprawnie to możemy przejść do programowania.

Kod programu:
#define Led 13 // Definicja pinu 2 jako Led
int state = 0; // Zmienna przechowująca dane z UART

void setup() {
  pinMode(Led, OUTPUT); // Deklaracja Led jako WYJŚCIE
  digitalWrite(Led, LOW); // Wyłącz Led
  Serial1.begin(9600); 
}

void loop() {
    if(Serial1.available() > 0){ // Czy Arduino odebrało jakieś dane z UART
      state = Serial1.read(); // Odczyt z UART do zmiennej state
  }

  if (state == '0') { // Jeśli state = 0 
    digitalWrite(Led, LOW); // Wyłącz Led
    state = 0;
  }
  else if (state == '1') { // Jeśli state = 1 
    digitalWrite(Led, HIGH); // Włącz Led
    state = 0;
  }
  delay (50);
} 

Po wgraniu programu przydała by nam się aplikacja do  wysyłania poleceń przez bluetooth. Ja zainstalowałem gotową aplikację BT Arduino Led. Możecie również użyć zwykłego terminala bluetooth do wysyłania poleceń. Mój kod został napisany tak aby dla 1 zapalał i 0 gasił diodę led.

Otwierając aplikacje ujrzałem interfejs w którym mamy informację o statusie połączenia i duży przycisk w kształcie żarówki na środku. Przycisk po wciśnięciu zmienia kolor na czerwony i wysyła polecenie „1”, które zapala diodę led. Ponowne jego wciśnięcie gasi diodę poleceniem „0”.

 

off on

 

Układ stworzyliśmy po to aby zapalał i gasił diodę led, ale co jeśli byśmy zastąpili diodę przekażnikiem i podłączylibyśmy przez niego obwód żarówki? Dodalibyśmy czyjnik temperatury ? Otrzymalibyśmy mały smarthome z możliwością gaszenia i zapalania światła z telefonu i informację o aktualnej temperaturze. Aktualnie na rynku jest wiele aplikaji, które w łatwy sposób pomogą nam stworzyć aplikacje mobilną do wysyłania i odbierania różnych poleceń z bluetooth.