Arduino - Modudł bluetooth i

kontrolowanie pinów androidem

arduino-jak-zrobic-kostke-do-gryDzisiaj chciałem pokazać wam jak w łatwy sposób połączyć arduino z modułem bluetooth dając nam możliwość kontrolowania wszystkich pinów na przykład z poziomu androida.

Moduł bluetooth z jakiego korzystam to HC-06. Koszt takiego modułu to 15zł na ebay-u, ale za to daje sporo możliwości. Sposób połączenia modułu jest bardzo prosty, ponieważ posiada on tylko 4 podpisane piny. Są nimi kolejno RX, TX, GND, VCC. RX i TX podłączamy do pinów 0 i 1 w arduino. Są to piny Serial1 i wpinamy je odwrotnie, czyli RX do TX, a TX do RX. GND - uziemienie, a VCC - 5V.

Do całego układy demonstracyjnie podłączam jeszcze 3 diody, przez rezystor i podłączone do pinów 13, 12 i 11.


Cały schematy podłączenia wygląda tak:

polaczenie-bluetooth

Teraz czas na troche programowania na arduino.

Cały program ma za zadanie kontrolowanie naszych diodek i czytanie i przetwarzanie danych, które będziemy wysyłać z telefonu.


Kod programu (pobierz):


int data;

void setup() {
Serial1.begin(9600);

pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
}

void loop() {
data=Serial1.read();
delay(1);

if (data==100)
digitalWrite(13, HIGH);
if (data==101)
digitalWrite(13, LOW);

if (data==102)
digitalWrite(12, HIGH);
if (data==103)
digitalWrite(12, LOW);

if (data==104)
digitalWrite(11, HIGH);
if (data==105)
digitalWrite(11, LOW);

if (data==106)
digitalWrite(10, HIGH);
if (data==107)
digitalWrite(10, LOW);

if (data==108)
digitalWrite(9, HIGH);
if (data==109)
digitalWrite(9, LOW);

if (data==110)
digitalWrite(8, HIGH);
if (data==111)
digitalWrite(8, LOW);
}

Najlepszy w pisaniu programów nie jestem, dlatego nie zabijcie że tak częste używam funkcji "if". Wzór macie wiec możecie samemu napisać program. Dla mnie ważne, że działa ;p Programik ten umożliwia włączać (ON) i wyłączać (OFF) piny od 13 do 8. Po wgraniu programu brakuje nam jeszcze tylko aplikacji na androida. Można ściągnąć takie z Google Play. Np Bluetooth Terminal czy jakies specjalne do arduino do kontrolowania diodek.

Ja jednak napisałem sam aplikację, którą do pobrania macie niżej.

Arduino Bluetooth Controler.apk

arduino-bluetooth-controler

Aplikacja jest prosta i ma dwie funkcje. Pierwsza jest Terminal BT umożliwiający odczytanie znaków i wyświetlenie ich w formacie ASCII w "Szeregowym monitorze" w oprogramowaniu arduino. W apikacji dodałem kod programu, który służy tylko do terminalu.



terminal-bluetooth
Druga funkcja to możliwość sterowania 6 dowolnymi pinami (ON/OFF, ON lub OFF). W aplikacji opisałem jaki klawisz ma jaki kod w razie, gdyby ktoś chciał wykorzystać tą aplikacje w innym celu ^^

arduino-pin-controler

Zanim włączymy aplikację nalerzy sparować moduł z telefonem w tym celu wchodzimy w ustawienia komunikacji bluetooth i dodajemy moduł HC-06. Kod do zatwierdzenia to 1234.
Następnie włączamy aplikacji iwybieramy tryb pracy, po czym łączymy się z modułem bluetooth. W module HC-06 jeśli nie jest połączony z żadnym urządzeniem będzie migała czerwona diodka. Po uzyskaniu połączenia będzie, po prostu się świeciła.

Moduł ten daje nam sporo możliwości. Na przykład możemy kontrolować urządzenia w domu (lampka, komputer, rolety itd). Aplikację robiłem w App Inventor i myślę, że niebawem zrobie poradniki odnośnie tworzenia aplikacji na androida.