LCD vezérlés HC-05 Bluetooth modullal és Android okostelefonnal

 

9 Projekt --LCD vezérlés HC-05 Bluetooth modullal és Android okostelefonnal -- V1.0

 by Roboworld Hobbielektronika


Rövid leírás:
Ebben a rövid projektben bemutatjuk neked, hogy egy HC-05 típusú Bluetooth modullal felszerelt Arduino, hogy kommunikál más Bluetooth eszközökkel, mint pl egy okostelefon. A projekt során egy Androidos telefonra fogunk írni egy kis applikációt, amely tud kommunikálni az Arduinoval. Az eredményeket pedig egy 1602-es kijelzőn fogjuk megjeleníteni. A 2. projekt alkalmával már szó esett erről a kijelzőről, így ennek kapcsolását most nem fogom bemutatni.

Hardware:
1 db Arduino Uno
1 db HC -05 Bluetooth modul
1 db 1602 Kijelző I2C kommunikációval
Jumper kábel

Kapcsolási rajz:

A kapcsolás megépítése után jöjjön a programozás, valamint az alkalmazás elkészítése, amelyet az okostelefonodra kell másolni és telepíteni.

Programozás, mintakód
FIGYELEM!! A program feltöltése nem lehetséges, ha a kijelzőt és a HC-05 Bluetooth modult is az Arduinon keresztül tápláljuk meg. Megoldásként csak annyi a teendő, hogy feltöltés előtt az 5V és a GND kábelt (amely a breadboardot táplálja) kihúzzuk és a feltöltés zavartalanul mehet végbe. Ezután a két kábelt vissza lehet helyezni.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>                                  // LiquidCrystal_I2C könyvtár használata 
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // LiquidCrystal_I2C könyvtárat használjuk 

//Szükséges megadni a kommunikációs csatornát. //Esetünkben ez 0x3F azonban ez eltérhet. 
//Ha nem működik a 0x3F akkor i2c_scanner.ino futtatása szükséges, amely kiírja a megfelelő értéket. 0x3F-et 
//átírva pl: 0x27 -re megoldhatja a kommunikációs hibát. 

String readString; 

void setup() { 
Serial.begin(9600); 
lcd.begin(16, 2);          // Megadjuk, hogy 16 karakterből és 2 sorból áll az LCD kijelzőnk. 
                           // FONTOS!!  lcd.begin(karakterszám, sor);  
} 

void loop() { 

while(Serial.available()){ 
delay(50); 
char c=Serial.read(); 
readString+=c; 
} 
if(readString.length()>0){ 
Serial.println(readString); 
if (readString =="button_1"){     // Ha az 1-es gombot nyomjuk meg akkor kiírja hogy Roboworld.hu 
lcd.clear(); 
lcd.print("Roboworld.hu"); 
} 

if (readString =="button_2"){     //Ha az 2-es gombot nyomjuk meg akkor kiírja hogy Hobbielektronika 
lcd.clear(); 
lcd.print("Hobbielektronika"); 
} 

if (readString =="button_3"){     //Ha az 3-es gombot nyomjuk meg akkor kiírja hogy Hello World. 
lcd.clear(); 
lcd.print("Hello World"); 
} 
readString=""; 
} 
} 

Android alkalmazás létrehozása

Az alkalmazás elkészítéséhez az MIT App Inventor programot fogjuk használni, amely online felületen elérhető így nem igényel semmiféle előtelepítést. További információkat a itt találsz.

1.lépés Fejlesztőkörnyezet megnyitása

Nyisd meg a linket: MIT App Invertor, majd „Start new Project” gombra kattints a bal felső sarokban. Nevezd el a projected ahogy szeretnéd. Javaslom: „LCD connect” nevet. Ezután megjelenik a fejlesztői környezet középen egy telefon kijelzővel.

2. lépés Bluetooth Client List létrehozása, gombok beszúrása

Bluetooth Client List létrehozása és gombok elhelyezése a képernyőn. Baloldalon megtalálható egy „Connectivity” nevű fül, amelyre rákkatintva megtalálható a „BluetoothClient”. Fogd meg a „BluetoothClient”-et és húzd a főképernyőhöz. Ekkor megjelenik a képernyő alatt egy kis Bluetooth ikon. „BluetoothClient1” névvel.

Ezután következzen a gombok elhelyezése. Ugyancsak baloldalon a „User Interface” fül alatt található meg a „Button” funkció blokk. Húzd a „Button” a főképernyőre. Helyezz összesen 3db buttont a főképernyőre.

 3. lépés Button gombok elnevezése

Miután a gombok a helyükön vannak azután tudjuk a tartalmukat szerkeszteni. Ha 1x rákattintunk a gombra akkor jobboldalon megjelenik egy sáv, amelyen a gombot tudjuk testreszabni. Itt tudjuk a nevét is változtatni. Ha a Text sort megtaláltad akkor a 3. gombra beírhatod például, hogy „Hello World”. A másik két gombot is ezen módszer alapján nevezd el.

4. Blocks és Listpicker kialakítás

A MIT App Inventor jobb felső sakrában találsz egy „Blocks” nevű gombot amelyre kattints rá. Ezután megjelenik egy új ablak. Itt tudod programozni, azokat a gombokat, funkciókat amelyeket korábban már beillesztettél. Ezeket a bal oldali oszlopban láthatod.

4.1 Bluetooth Client funkcióblokkjai

Kattins a ListPicker1 nevű funkcióra és helyezz el és a legördulő menüből helyezd el az alábbi kép alapján a megfelelő funkcióblokkokat.
Majd kapcsold hozzájuk a Bluetooth Client fül alól a következőket így:

Még 1 funkcióblokk hiányzik. Ezt ugyancsak a ListPicker1-ben fogjuk megtalálni:
Ezt a funkcióblokkot kell hozzákapcsolni a lilla BluetoothClient1 blokkhoz.
Végeredmény:


Ezek a blokkok felelnek, hogy az okostelefon ki tudjuk választani listából a HC-05 Bluetooth modult.

4.2 Nyomógombok funkcióblokkjai

Továbbiakban a nyomógomb funkciókról lesz szó. Kattins a baloldalon megtalálható Button1-re és válaszd ki a megjelenő menüből a következő blokkot:
 Majd egészítsd ki így a Bluetooth Client megjelenő menüjéből így:

Majd csatolj még hozzá egy „text” funkcióblokkot. Ezt baloldalt felül találod a „Built-in” fülben piros színnel.
Kattints a „Text”-re és választ a következő blokkot,
majd írd bele hogy button_1 :
 Eredmény:


Az összeillesztett funkcióblokk nem csinál mást, mint az első gomb megnyomásakor meghívja a BluetoothClient1 funkciót és rajta keresztül elküld egy szöveget amelynek a tartalma „button_1”.
A „button_1” szócska nagyon fontos mivel ez az az információ amit az okostelefonon lévő gomb megnyomásakor az okostelefon a HC-05 Bluetooth modulnak elküld. Ezt az információt fogja az Arduino feldolgozni és kiírni a „button_1”-hez tartozó szöveget.
Ismételd ezt meg még kétszer, hogy a másik két gomb is definiálva legyen.

Végeredmény:
 Teljes programkód itt látható:


Ezzel az applikáció programozás véget ért. Nincs más hátra mint elnevezni az applikációd és apk kiterjesztésű fájlt generálni.

Ahhoz, hogy az applikációd eltudd nevezni vissza kell lépned a Designer ablakba (Jobb felül a Blocks mellett). Miután visszaléptél kattins a megjelenített telefonképernyőre és ekkor jobb oldalon megjelenik a „Properties”, ahol az „AppName”-nél betudod írni az appod nevét.


5. Applikáció generálás

Applikációdat úgy tudsz generálni, hogy a bal felső sarokban lévő „Build” fület lenyitod és az „App (save .apk to my computer)” választod. Ekkor startol el az appgenerálás. Körülbelül 1 percen belül el is készül a letölthető app amelyet másolj fel a telefondodra és telepítsd fel.


6. Használat, csatlakozás

A telepítés után kapcsold be a telefonodon a Bluetooth-t és párosítsd a HC-05 típusú modullal.A modulon van egy kis gomb amelyet meg kell nyomni a párosítás előt, mivel ezzel jelezzük a modul felé, hogy párosítást szeretnénk végrehajtani. A kód 1234 lesz. Miután ez megtörtént nyisd meg az applikációt majd Bluetooth Client gombot nyomd meg és válaszd ki a HC-05 modult.

A kapcsolat létrejött és az Arduinod illetve az okostelefonod már kommunikál is egymással. Abban az esetben ha nem működne elsőre, akkor nem kell más tenned mint újraindítani (USB-t kihúzni/ áramtalanítani) az Arduinot.

7. Megvalósítás

Letöltés

A projekthez tartozó linkek alább találhatóak.
A leírás PDF-ben : Itt található
Mintakód: Itt található
Android applikáció: Itt található





Megjegyzések