5 minute read
BBC micro:bit [21
KODIRANJE
Poštovani čitatelji, nakon ljetnog školskog raspusta nastavljamo seriju posvećenu BBC micro:bitu. U ovom nastavku bit će obrađena komunikacija preko sabirnice I2C. U digitalnim uređajima glavninom zadataka upravljaju mikrokontrolori koji su okruženi raznim drugim komponentama s kojima komuniciraju, kao na primjer osjetilima. Prilikom projektiranja, inženjeri se moraju opredijeliti između serijske i paralelne komunikacije. Kod serijske komunikacije prenosi se jedan po jedan bit, dok se kod paralelne komunikacije istovremeno prenosi cijeli bajt. Zbog toga serijska komunikacija zahtijeva manje priključnih točaka od paralelne komunikacije (prijenos informacije ide preko jedne ili dviju linija), no paralelna komunikacija radi znatno brže od serijske komunikacije (jer prijenos informacija ide preko 8 ili više linija). Ipak, serijska komunikacija češće se koristi zbog jednostavnije izvedbe. Postoji nekoliko različitih sabirnica za serijsku komunikaciju (na primjer, USB, Serial ATA...), ali jedna od njih, I2C (Inter Integrated Circuit) razvijena u Philips Semiconductorsu posebno je pogodna za mikrokontrolore zbog mogućnosti izravnog spajanja većeg broja komponenata, bile one digitalne ili analogne. Ovdje valja napomenuti da se kratica I2C izgovara “i na kvadrat ce” od engleskog “i squared c”. I2C – kratak opis sabirnice BBC micro:bita Za komunikaciju su predviđena dva izvoda: SDA (Serial Data), preko kojega se prenose podaci (P20); SCL (Serial Clock), koji određuje takt prijenosa podataka za sve priključene komponente (P19). Unutar samog BBC micro:bita v.1. na sabirnici I2C spojena su dva osjetila, akcelerometar i magnetometar (kod verzije v.2. to nije slučaj). Zbog toga preporuka je da se navedeni izvodi koriste isključivo za I2C, a tada treba pripaziti samo na adrese novopriključenih komponenata, no o tome poslije. Brzina prijenosa podataka ili frekvencija takta ovisi o broju priključenih komponenti, odnosno o ukupnom pridodanom kapacitetu na SCL-priključku, jer svaka priključena komponenta povisuje taj kapacitet. Tako se pri 1 nF ukupnog kapaciteta priključenih komponenti frekvencija takta snižava na 100 kHz, dok je sa samo 150 pF ukupnog kapaciteta frekvencija takta 400 kHz. Drugim riječima, što je manje priključenih komponenti, veća je brzina prijenosa podataka. Na oba izvoda ugrađeni su pull-up otpornici pa je zbog toga, dok se sabirnica ne koristi, prisutna logička jedinica, odnosno prisutan je napon između tih izvoda i GND od približno 3,3 V.
Advertisement
Slika 21.1. LCD 16×2 Hitachi HD44780 1602 s ugrađenim I2C modulom PCF8574T (pogled sprijeda i straga) Slika 21.2. Crvena kružnica označava mjesto (19 i 20) gdje valja zalemiti dva segmenta muških STRIP-konektora. Strip-konektori prodaju se u nizu od 40 segmenata, vi odsijecite samo dva (crvena strelica) Slika 21.3. Rubni priključak proširen je i spreman za korištenje sabirnice I2C
Praktična primjena Radi boljeg razumijevanja valja na primjeru isprobati sabirnicu I2C. U tu svrhu trebate nabaviti Liquid Crystal Display (LCD) 16×2 Hitachi HD44780 1602 s ugrađenim I2C modulom PCF8574T, Slika 21.1. Prije samog sastavljanja, lemljenjem trebate proširiti rubni priključak BBC micro:bita s dva segmenta muškog STRIP-konektora kako bi električna veza između SDA i SCL BBC micro:bita s LCD-om bila besprijekorna, Slika 21.2. i Slika 21.3. Prema montažnoj shemi sa Slike 21.4. sve spojite kako je prikazano.
Slika 21.5. Fotografija prikazuje uradak sastavljen prema Slici 21.4.
Kodiranje Pokrenite MC E te imenujte novi projekt, na primjer “LCD”. Kliknite na simbol zupčanika (na plavoj traci, gore desno). Iz padajućeg izbornika izaberite i kliknite na “Extensions”. U tražilici novog prozora upišite i2c te kliknite na simbol lupe. U popisu koji se pojavljuje pronađite i kliknite na sliku LCD-a s naslovom i2cLCD1602, Slika 21.6. Dobit ćete blokove za upravljanje LCD-om preko sabirnice I2C BBC micro:bita, Slika 21.7.
Prije je napomenuto da svaka komponenta priključena na sabirnicu mora imati odgovarajuću adresu. Za modul PCF8574T tvornički je prdodređena adresa 39, no ako ste kojim slučajem nabavili modul PCF8574AT tada je adresa 63. Ovu adresu valja upisati unutar bloka “LCD initialize with Address 0” gdje trebate umjesto 0 upisati 39, odnosno 63. Ako ne znate koji ste modul
Slika 21.4. Montažna shema spajanja BBC micro:bita s LCD-om
Na Slici 21.5. vidljivo je kako bi sve to trebalo izgledati. Kako za napajanje LCD-a trebate napon od 5 V morate predvidjeti vanjsko napajanje. U tu svrhu bit će dobra i baterija od 4,5 V. Crnu krokodil-štipaljku spojite na minus baterije, a crvenu krokodil-štipaljku na plus baterije.
Slika 21.6. Ekstenzija potrebna za rad s LCD-om preko sabirnice I²C
Slika 21.7. Novi blokovi za rad s LCD-om preko sabirnice I²C
Slika 21.8. Na tijelu integriranog sklopa valja pročitati o kojem se modulu radi nabavili, to možete pročitati na tijelu ugrađenog integriranog sklopa, Slika 21.8. Isprobajte radi li sve kako valja. U tu svrhu prepišite program sa Slike 21.9.
Slika 21.9. Program za ispitivanje funkcionalnosti
Program preuzmite i otpremite do BBC micro:bita. Ako je sve kako valja u prvom redu LCD-a ispisat će se ‒ Hello, a u drugom ‒ ABC tehnike. U slučaju da je pozadinsko osvjetljenje previše slabo, onda malim križnim odvijačem ugodite plavi trimer potenciometar (nalazi se pokraj integriranog sklopa PCF8574T). Kad ustanovite da sve radi kako valja, upustite se u nešto zahtjevnije programiranje. Radi razumijevanja x i y koordinata proširite postojeći program, Slika 21.10.
Slika 21.10. U ovom programu treba imenovati promjenljivu, na primjer – Brojilo
Poigrajte se i s preostalim blokovima, Slika 21.11.
Slika 21.11. Ovim se programom upisani tekst pomiče lijevo-desno
Slika 21.12. Vrlo zanimljivo rješenje programa za privlačenje pozornosti na LCD
Isprobajte i ovo sa Slike 21.12. Preostalo je još nekoliko blokova, samostalno ih isprobajte.
Slika 21.13. Primjer prikaza zaporne ure
Zadatak za samostalan rad, napišite program koji će prikazivati zapornu uru (štopericu) koja odbrojava vrijeme u sekundama, minutama i satima, Slika 21.13. Predvidite tipke zaporne ure za START, STOP i RESET. To mogu biti tipke A, B i A+B s pločice BBC micro:bita.
Sretno i uspješno kodiranje!
Za ove ste vježbe trebali: • BBC micro:bit, • USB-kabel, • baterije za BBC micro:bit, • bateriju od 4,5 V za LCD, • rubni priključak za BBC micro:bit, • spojne žice u raznim bojama (7 komada) tipa ARDUINO male/female dužine 150 mm (ili duže), • spojne žice s krokodil-štipaljkama (2 komada, jedna crna i jedna crvena), • eksperimentalnu pločicu na ubadanje, • LCD 16×2 Hitachi HD44780 1602 s ugrađenim
I2C modulom PCF8574T (ili PCF8574AT), • dva segmenta muškog STRIP-konektora, • lemilo i malo lema, • križni odvijač.
Marino Čikeš, prof.