skule.sormo.no

ORG NR 885 947 522

Programmere Bluetooth

{jcomments on}Det finnes to typer Bluetooth-kort. HC-05 er er en master og kan kommunisere med HC-06 som er slaveenhet. Kommunikasjonen skjer med en hastighet opp til 1382400 baud og har en rekkevidde opp til 10 meter. Bluetooth egner seg derfor til høyhastighetssamband mellom enheter for korte avstander, opp til 10 meter.

 

HC-06 må kommunisere med en HC-05. Den etableres med at enhetene parres med hverandre. Da kan ingen andre enheter forstyrre kommunikasjonen.

HC-06 kan også brukes mot Bluetooth-funksjonen på en mobiltelefon. Det finnes mange apper som er spesielt laget for å kommunisere med Arduinokort via en Bluetoothenhet. Den har en LED som blinker dersom den ikke er parret. Den lyser konstant når den er parret.

HC-05 fungerer både som en master og slave

Programmering av HC-06

I utgangspunktet er HC-06 satt opp med en hastighet på 9600 baud. Det kan endres ved å programmere den om. Det gjøres lettes med et MEGA-kort som har flere serieporter, eller med en UNO med AltSerialPort/SoftwareSerial-programvare. TXD og RXD kobles da mot henholdsvis RXD og TXD på Arduinokortet. Siden nivået på RXD på HC-06 tåler maksimalt 3.3 volt, må man lage en motstandsbro på 200 ohm fra Arduinokortet til RXD-kontakten på HC-06, og videre en 400 ohms motstand til jord. Det er forholdet mellom motstandene som er av betydning. En tredel av spenningen på 5 volt er 3.3 volt, og det er det HC-06 skal motta på RXD-inngangen. TXD på HC-06 kan kobles direkte til RXD på Arduino, Arduinokortet registrerer det høye nivået på HC-06, så her trenges ingen modifisering. I tillegg kobles VCC til 5 volt og GND til jord. De andre kontaktene brukes ikke.

For å programmere HC-06, sendes tekststrengen 'AT' til HC-06. Den vil kvittere med 'Ok' uten LF eller CR dersom kommunikasjonen er etablert. HC-06 lar seg ikke programmere dersom den er parret med en master.

Før man programmer hastigheten kan man programmere et navn på enheten. Det gjøres med kommandoen 'AT+NAMEDEV2' der DEV2 blir det nye navnet på enheten. Det er dette som kommer til syne når man parrer den med telefonen. I stedet for DEV2 kan man velge det navnet man ønsker.

For å sette opp en baudrate på 115200 baud som appene på telefonene ofte bruker, sendes så komamndoen 'AT+BAUD8'. HC-06 kvitterer med et 'Ok' dersom den godtar kommandoen. Men nå må kommunikasjonen med HC-06 fortsette med den nye hastigheten. Det er ikke mulig å fortsette med den valgte utgangshastigheten på 9600 baud. 8-tallet står får 115200. De andre valgene er:

1: 1200 5: 19200     9: 230400
2: 2400 6: 38400   10: 460800
3: 4800  7: 57600  11: 921600
4: 9600   8: 115200  12: 1382400

Det kan være lurt å sette en etikett bak på HC-06-kortet med navn og hastighet. Da vet man til senere fakta om kortet.

 

 

 

For å kommunisere med en Android-telefon, kan du bruke appen AdruDroid. Etter at du har parret telefonen med bluetooth-enheten på Arduinokortet, kan du kommunisere mellom telefonen og PCen. Dersom du bruker Arduino UNO; må du bruke SoftwareSerial-biblioteket i Arduino IDE der du kobler TXD på bluetoothkortet til pinne 10 på Arduino UNO og RXD på bluetoothkortet til pinne 11 på Arduinokortet. 

Når du starter appen, vises et spørsmål om å slå på Bluetooth, dersom det allerede ikke er gjort.
Men Bluetoothenheten blinker fortsatt som tegn på at den ennå ikke er parret.
For å koble appen til den riktige bluetoothkoblingen på telefonen, trykker du action-menyen nederst på telefonen. På noen telefoner må du holde den litt nede for at et menyvalg med 'Connect me to a Bluetooth device' kommer opp.  Andre (som for Galaxy III) trykker du lett en gang på den nederste venste knappen. Trykker du bare et øyeblikk, kan det hende at lista over aktive apper kommer opp i stedet. Når du har fått opp lista over bluetoothtilkoblinger, velger du den koblinger du skal bruke. Da vil lampa på Bluetoothenheten lyse konstant. Se her for mer info om tilkoblingen

Telefonen parrer seg med Bluetoothenheten med koden 1234 første gang til kobler opp på telefonen..

Prosjekt med ArduDroid