metshein.com

Arduino ja Bluetooth (HC-06)

Eesmärk on telefoni abil läbi Bluetoothi suhelda ja kontrollida Arduinot. Jagan selle postituse kolmeks, kus alguses teeme selgeks suhtluse läbi HC-06 mooduli, seejärel loome selle kontrollimiseks lihtsa Androidi programmi (MIT App Inventor 2) ning lõpetuseks kasutame HC-05 Bluetooth moodulit koos laienduskaartidega.

Mis on Bluetooth

Bluetooth on standard 2,4 GHz juhtmevaba ühenduse loomiseks. Eelkõige loodi see mõttega ühendada seadmed nagu kõrvaklapid, GPS, klaviatuurid jms arvutite ja mobiiltelefonidega. Ja seepärast on ühenduse loomine tehtud lihtsaks (automaatseks) ja väga kaugele ei levi. Kui rääkida levimiskaugusest, siis jagatakse see kolme klassi:

  • klass 1 – 100m
  • klass 2 – 10m
  • klass 3 – 1m

2016 suvi oli ka uudis, et nüüd levib Bluetooth 5.0 üle 200m, aga ise ei ole mõnda sellist seadet veel käes hoidnud.

Bluetooth seadmetest võrku nimetatakse Piconet’iks ning ühendatud seadmed jagatakse ülemseadmeteks (master) ja alamseadmeteks (slave). Ülemseade suudab hallata kuni 7 alamseadet. Kusjuures iga alamseade võib olla järgmise alamvõrgu ülemseadeks ja sellist võrku nimetatakse Scatternet’iks. Iga alamseade suudab ühendust hoida ainult ühe ülemaga.

Meil on kasutada HC-06, mis suudab käituda ainult alamseadmena (slave) ja hiljem HC-05, kus saame ise määrata, millisena ta käitub.

Igal Bluetooth seadmel on 48-bitine unikaalne MAC aadress (BD_ADDR), mis tavaliselt kuvatakse 12-kohalise arvuna või teksti kujul. Seadmete esmasel ühendamisel küsitakse parooli, mis vaikimisi on 0000 või 1234.

HC-06 ühendamine Arduinoga

Üks populaarsemaid (loe: odavamaid) Bluetooth mooduleid on HC-06 (Aliexpress, eBay), kus mooduli osa on asetatud Arduino jaoks sobivale plaadile.

Antud moodul töötab alati alamseadmena (slave) ning vaikimisi parool on 1234. Ühendamisel Arduinoga, peame jälgima, et seade töötab 3,3-4,2V peal (dokumentatsioon)

  • Vcc –> 3,3V
  • GND –> GND
  • Rx –> D3
  • Tx –> D2

Programmi kirjutamine LED aktiveerimiseks

Ühendame D13 pessa LED’i ja lisame järgmise koodi, mis loeb Bluetooth konsooli sisestatud märke:

  • kui sisestad n, siis lülitatakse LED tööle
  • kui sisestad f, siis lülitatakse LED välja
  • kui sisestad i, siis väljastatakse LED olek 0 või 1 (väljas/sees).

Androidi ja Arduino suhtlemine

Kui kood on Arduinosse üles laetud, siis laeme telefoni suhtlemiseks programmi Bluetooth Terminal (Google Play). Nüüd peaksime valmis olema ühendamiseks. Kui Bluetooth mooduli tuluke vilgub, siis ei ole ühendust loodud. Lülita oma telefonis Bluetooth ühendus sisse ja kui kõik on õigesti ühendatud, siis peaksid nägema midagi, mis viitab sinu moodulile. Näiteks HC-06

Pärast ühenduse valikut küsitakse salasõna, milleks on 1234. Nüüd kui oled ühe korra parooli sisestanud, siis seda enam ei küsita. Nüüd ava oma Bluetooth Terminal rakendus. Kliki telefoni enda valikute nupule ning avanenud menüüst vali ‘Connect a device – Insecure‘.

Kui kõik õnnestus, siis Bluetooth moodul lõpetab vilkumise ning rakenduse üles serva tuleb teade ‘Connected‘. Sisesta nüüd vaheldumisi tähti n, f ja i, et testida, kas kõik töötab.

Lisame funktsionaalsust – lisame vedeliku nivoo mõõtmise

Lisame skeemi sensori, mis reageerib vedeliku kogusele ja saadame info läbi Bluetooth mooduli telefoni. Mooduli hind on alates ~0.30€

Antud moodul ühenda +5V külge, maandus maandusega ja signaal (S) analoogsisendisse A0.

Ja koodi, lisame lihtsalt read, et kui kasutaja vajutab Bluetooth konsoolis v, siis kuvatakse vee taseme anduri väärtus.

Järgmises Bluetoothiga seotud postituses loome oma Androidi rakenduse LED’i sisse/välja lülitamiseks.

jaanuar 10, 2017

0 responses on "Arduino ja Bluetooth (HC-06)"

Leave a Message