
Selles postituses töötame Bluetooth mooduliga HC-05. Eriliseks teeb see selle, et välimuselt meenutab see XBee moodulit aga sisuks on tavaline Bluetooth moodul. Siinkohal tuleb rõhutada, et XBee on täiesti omaette juhtmevaba ühenduse moodul, mis kasutab ZigBee tehnoloogiat. Eeliseks on see, et saad Bluetooth moodulit kasutada XBee’le mõeldud laienduskaartidega.
Bluetooth HC-05 mooduli puhul saab seda kasutada nii ülemseadmena (master) kui ka alamseadmena (slave). Antud versiooni leidub põhimõtteliselt kahes versioonis. Esimene, tavaline ja tunduvalt odavam, on nö lihtne BTBee moodul, mille hinnad taolise moodli puhul hakkavad 4€ (AliExpress). Kallim versioon on kannab nime BTBee Pro, mis võimaldab konfigureerida moodulit ilma kaablita (IteadStudio).
Selles peatükis vaatamegi kuidas saame seda moodulit reaalselt kasutada, seda seadistada ning kasutada BTBee Pro toega mootorite juhtplaati. Tegemist on kolmanda postitusega Bluetooth moodulite peatükist:
- https://www.metshein.com/arduino-ja-bluetooth-hc-06/
- https://www.metshein.com/app-inventor-arduino-ja-bluetooth/
HC-05 mooduli ühendamine Arduinoga
Antud XBee laienduskaardil olev HC-05 Bluetooth moodulit saaks ühendada otse Arduinoga nagu alloleval joonisel.
Jama selles, et tüüpilsed juhtmed on liiga suured ja arendusplaadile need ka ei istu. Ja seepärast oleks vaja mingisugust laiendusplaati soovitud pesaga.
Neid on erineva suuruse ja eesmärgiga. Meie kasutada on eelmisel pildil mootorite juhtplaat MotoMama V2.0, mis põhineb L298N H-sillal. Kasutada saad sa seda 2 alalisvoolu (DC) mootori juhtimiseks. Vajadusel saaks see kontrollida ka üht pipolaarset samm-mootorit. Sellega ühendatud 7-15V aku toidab ära ka Arduino enda. Arduino koodi üleslaadimisel USB kaudu, ühenda aku juhtmed lahti. Lisaks XBee ja BTBee moodulitele, on võimalik kasutada siin ka nRF24l01 juhtmevaba moodulit.
Järgmisena ühendame MotoMama V2.0 Arduinoga ning krutime kaks DC-mootorit külge. Kui selle tööle saame, siis saame testida Bluetooth võimalusi.
MotoMama ühendab mootori juhtimiseks Arduino pordid D8-D13.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | void setup(){ pinMode(11, OUTPUT); //EnableB pinMode(12, OUTPUT); //InB1 pinMode(13, OUTPUT); //InB2 pinMode(8, OUTPUT); //InA1 pinMode(9, OUTPUT); //InA2 pinMode(10, OUTPUT); //EnableA } void loop(){ int i; //Edasi digitalWrite(12,HIGH); digitalWrite(8,HIGH); digitalWrite(13,LOW); digitalWrite(9,LOW); for(i = 0;i<256;i++){ analogWrite(11, i); analogWrite(10, i); delay(10); } //Tagasi digitalWrite(13,HIGH); digitalWrite(9,HIGH); digitalWrite(12,LOW); digitalWrite(8,LOW); for(i = 0;i<256;i++){ analogWrite(11, i); analogWrite(10, i); delay(10); } } |
MotoMama juhtimine üle Bluetoothi
Aga ühendame MotoMama nüüd Bluetooth mooduliga ära. BTBee pessa ühendades tuleb suhelda portidega D0 ja D1. Ühenduskiirus (baudrate) on vaikimisi 38400 ja parool 1234. Ülejäänud on peaaegu sama, nagu me HC-06’ga tegime.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | #include <SoftwareSerial.h> SoftwareSerial BTSerial(0,1); // RX | TX int BTvalue; void setup() { pinMode(11, OUTPUT); //EnableB pinMode(12, OUTPUT); //InB1 pinMode(13, OUTPUT); //InB2 pinMode(8, OUTPUT); //InA1 pinMode(9, OUTPUT); //InA2 pinMode(10, OUTPUT); //EnableA digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); Serial.begin(9600); Serial.println("Abiks: 0 = Stop, 1 >> Edasi, 2 << Tagasi"); BTSerial.begin(38400); } void loop() { if (BTSerial.available()){ BTvalue = BTSerial.read(); if(BTvalue=='0'){ //STOP digitalWrite(10, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); } if(BTvalue=='1'){ //Mootor 1 edasi digitalWrite(10, HIGH); digitalWrite(8, HIGH); digitalWrite(9, LOW); } if (BTvalue=='2'){ //Mootor 1 tagasi digitalWrite(10, HIGH); digitalWrite(8, LOW); digitalWrite(9, HIGH); } if(BTvalue=='4'){ //Mootor 2 edasi digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, LOW); } if (BTvalue=='5'){ //Mootor 2 tagasi digitalWrite(11, HIGH); digitalWrite(12, LOW); digitalWrite(13, HIGH); } } delay(100); } |
Meeldetuletusena, et Bluetooth käske saame anda läbi Androidi rakenduse Bluetooth Terminal (Google Play). Kui sul ei peaks kood tööle minema, siis võiks proovida Bluetooth vaikimisi seadeid taastada ehk vaata järgmist pealkirja.
BTBee Pro Bluetooth mooduli seadistamine FocaPro abil.
Bluetooth mooduleid on võimalik ka seadistada. Näiteks anda parem nimi või muuta parooli. HC-06, mis käitub alamseadmena (slave), on käskusid palju vähem kui seadmel HC-05. Kui kunagi googeldad, siis nimetatakse neid AT Commands. Et Bluetooth moodulitele ligi saada on päris palju võimalusi ja meie kasutame FocaPro USB to serial UART moodulit.
Ühenda Bluetooth moodul pesasse, hoia all mooduli COM nuppu (1.) ja ühenda USB kaabel (2.). Hoida paar sekundit ja vabasta nupp.
Kui Status LED (roheline) vilgub rahulikult intervalliga 3-4s, siis oled valmis sisestama AT-käske.
- Ava Arduino IDE ning vali õige port Tools>Port.
- Ava Serial Monitor
- Alt servas lisa valikud Both NL & CR ja 38400 baud
- Ja kui õnnestus, siis sisestades käsu AT saad vastuseks OK
Võimalikud AT-käsud leiab tootja kodulehe ITEAD Wiki‘st. Teeme mõned näited:
- küsime ühenduskiirust – AT+UART
- küsime parooli – AT+PSWD
- taastame algseaded – AT+ORGL
Et sarnaselt seadete kuvamisega, saab seadeid ka muuta. Näiteks muudame ära vaikimisi parooli AT+PSWD=4321.
NB! Kui kasutad meie kooli moodulit, siis palun taasta hiljem ka kõik seadistused.
0 responses on "Bluetooth HC-05 BTBee Pro"