2. maja, 2012

Programirajmo Android naprave z Basic programom (5) – Krmiljenje MiniPin z Bluetooth

Revija 198 198 27a - Programirajmo Android naprave z Basic programom (5) - Krmiljenje MiniPin z BluetoothRevija logo se - Programirajmo Android naprave z Basic programom (5) - Krmiljenje MiniPin z BluetoothV tokratnem sestavku si bomo pogledali, kako uporabiti Android tablico skupaj s pripadajočim program kot del elektronskega projekta. B4A program bomo uporabili kot daljinski krmilnik prižiganja lučk na MiniPin-u ter bralnik pritisnjenih tipk. Komunikacija bo potekala s pomočjo Bluetooth protokola.

Krmiljenje LED-ic in branje tipk z Androidom

Revija 198 198 27a - Programirajmo Android naprave z Basic programom (5) - Krmiljenje MiniPin z Bluetooth

KLIK

Revija 198 198 27d - Programirajmo Android naprave z Basic programom (5) - Krmiljenje MiniPin z Bluetooth

KLIK

Pri zasnovi programa moramo biti pozorni na dve stvari. Prva je delovanje programa s stališča uporabnika naprave. Zaradi enostavnosti primera sem se odločil, da bomo z daljincem prižigali in ugašali komplet LED-ic na enih vratih (portu) MiniPin-a, ter prikazovali stanje tipk na MiniPin-u. Izrišemo dve verziji uporabniškega vmesnika (slika 1 in slika 2) za dimenzije telefona 320 x 480. Ostale velikosti bomo dobili s preslikavo dimenzij s pomočjo podprograma z imenom »PrilagodiDimenzije« (slika 3). Tipke na MiniPin-u prižigamo tako, da stisnemo enega od gumbkov. Pri tem se spremeni stanje LED diode, ki ga zapišemo v tabelo »Ledice(x)«. Ob vsakem pritisku na katerega od gumbov tudi pošljemo spremenjeno stanje tabele »Ledice« po Bluetooth povezavi na MiniPin. MiniPin (oziroma Bascom program, ki se tam izvaja) je potem odgovoren prižiganje in ugašanje LED-ic.

Revija 198 198 27b - Programirajmo Android naprave z Basic programom (5) - Krmiljenje MiniPin z Bluetooth

KLIK

Pri sprejemanju je situacija ravno obrnjena. MiniPin nam pošlje podatke o tem, katera tipka je pritisnjena, na Androidu pa le izrišemo odprto ali zaprto stikalo, glede na prejete podatke.

Zelo pomembna odločitev je tudi komunikacijski protokol, ki ga bomo uporabili za izmenjavo podatkov. Ker bomo uporabili ASCII kodiranje znakov, bi lahko stanje posamezne diode ali stikala zapakirali v en byte in prenašali binarne podatke. Taka rešitev bi bila s stališča hitrosti prenosa podatkov najučinkovitejša. Ker pa ne potrebujemo velike hitrosti prenosa, se odločimo za prenos teksta. Na ta način bomo lahko testirali delovanje komunikacije s pomočjo terminalskega programa, ki smo ga razvili v prejšnjem članku. Tako lahko testiramo delovanje programa še preden bomo razvili Bascom program za MiniPin modul.

Revija 198 198 27c - Programirajmo Android naprave z Basic programom (5) - Krmiljenje MiniPin z Bluetooth

KLIK

Med napravama bomo pošiljali niz desetih znakov, ki bodo podali ukaz za želeno stanje diod, ki jih želimo videti na MiniPin-u, ali stanje pritisnjenih tipk, ki jih želimo prikazati na našem telefonu ali tabletki. Niz bo vseboval tudi znaka za začetek in konec niza (velika črka »Z« za začetek in velika črka »K« za konec), stanje posamezne diode ali tipke pa bomo predstavili s števkama »0« za izključeno in »1« za vključeno. Na primer, ko bo naš telefon poslal niz »Z01010101K«, bo to pomenilo, nas se na MiniPin-u prižge vsaka druga ledica. Ko bo naš telefon prejel niz »Z00010000K«, bo to pomenilo, da smo pritisnili četrto tipko na MiniPin-u.

Program za download

Celotni članek

Programirajmo Android naprave z Basic programom (5) – Krmiljenje MiniPin z Bluetooth

2012_SE198_27