LAKI PINGVINI
BBC micro: bit
Klavirska školska pločica
D. PETROVIĆ
1. novembar 2021.

Još 2015. godine je BBC (britanska televizijska kuća), kroz svoju kapanju Make It Digital, predstavio micro:bit mikrokontrolersku pločicu. Ideja je bila da se jedan milion ovih pločica dostavi školama u Velikoj Britaniji. Nakon dostavljanja školama, micro:bit je postao dostupan široj javnosti. Kao pločica manja od kreditne kartice, micro:bit je jedno prilično „napucano” parče hardvera. Uspeo je da zaintrigira pažnju zajednice, a vremenom se pojavilo mnoštvo dodataka i HAT-ova.

U međuvremenu se pojavila v2 micro:bit, pločica sa određenim razlikama. Kada kažemo da se pojavila, uzmite to „sa zrnom soli”. Vrlo je teško doći do micro:bit; uglavnom su to backorderi gde se čeka i preko tri meseca, uz limit u broju prilikom kupovine. Mi smo našu toliko čekali, a usled poznate situacije na tržištu čipova, problemu sa nabavkom se ne vidi kraj. Ipak, verzija dva je na našem stolu, pa je red da podelimo sa vama dosadašnja zapažanja.

Na pločici dimenzija 43×52 milimetra prvo što primećujemo je nestandardni ivični edge header. Header je zadržao svoju formu sa prethodne verzije, a u pitanju je „klavir” header, da ga tako nazovemo. Bez obzira na to koju mikrokontrolersku pločicu da uzmemo u obzir, sve imaju izveden pinout na jednoredim (ili u više redova) headerima. Neki dolaze sa sečenim otvorima (kastelacije), ali je forma uglavnom ista i najčešće pravimo razliku da li se mogu koristiti sa prototipskim pločama. Ovde je pinout razveden na header gde su pinovi, bolje reći pedovi (pad), u formi klavirskih dirki na dve strane pločice, gde pedovi sa donje strane nemaju svrhu. Razlikujemo nekoliko širih pedova od ukupno 25 i pet otvora. Ovi otvori povezani su sa širim pedovima lica pločice i namenjeni su pričvršćivanju pločice, a ujedno da žicama razvedemo GND, 3V i GPIO 0-2. Isto tako se mogu koristiti sa aligator konektorima. Ako ćemo pločicu napajati regulisanim naponom preko ovih otvora, treba znati da nema bojazni da šrafom dodirnemo neki od susednih pedova. Pedovi do oba naponska otvora imaju istu funkciju kao i sami otvori (i širi pedovi). Osim ovih pet koji su povezani sa otvorima, nijedan drugi ped nije obeležen: za korišćenje micro:bit potrebno je držati se dijagrama. Prilikom kupovine, zgodno je uzeti i neki od adaptera, poput našeg sa slike. Na taj način možemo pločicu da koristimo sa prototipskim pločama.

Preko pedova pločice dobijamo pristup I2C, SPI, UART, PWM, ali i četiri namenska GPIO. Postoje određene prednosti, ali i neka ograničenja. Na raspolaganju su nam šest ADC, a s obzirom na neke „fičerse” pločice, mnogi od inače dostupnih GPIO imaju već neku ulogu na pločici. Ovde mislimo na tastere i LED, a koliko vidimo, razlike u pinoutu ove i prethodne verzije nema, sem zaduženja pinova za ugrađeni hardver. Pin P12 je u oba slučaja dostupan, ali rezervisan. PWM se odjednom može koristiti na maksimalno tri pina. Svi digitalni ulazi imaju svoje interne pull-down otpornike. Prema dijagramu, pinove sa vitičastim zagradama treba koristiti obazrivo, u smislu da je potrebno kroz softver isključiti povezan hardver. Fajl sa pinout tabelom se nalazi u memoriji pločice, u CSV formatu. U istom folderu je i zapakovana Python skripta, a oba fajla možemo modifikovati prema potrebama.

Kada pričamo o ugrađenom hardveru, razlikujemo interaktivni deo i „motor pod haubom”. Na licu je interaktivni deo sa crvenom LED matricom (5×5) i tasterima. Na ovoj matrici koja ima formu displeja možemo ispisati tekst koji se može pomerati u stranu, poput rešenja koje koristi E-radionica, ali na mnogo većoj matrici (SK 6/2019, i.sk.rs/15938). Osim teksta, matricu možemo koristiti za prikaz bilo čega, pa čak i video igre. LED na matrici se mogu koristiti i kao input, to jest, kao senzor svetla, što do sada nismo sretali. Levo i desno od LED matrice su dva fizička tastera sa 10K pull-up otpornicima, a logotip micro:bit iznad matrice je ujedno i polje osetljivo na dodir. Na licu još imamo i dobro sakriven otvor mikrofona sa LED indikatorom, mada se logotip mikrofona nazire na crnoj mat solder maski. Kroz logotip se i vidi LED, a koja je, inače, sa suprotne stane pločice, to jest, pod „haubom”. Polje osetljivo na dodir, mikrofon i LED su ujedno i jedine razlike u odnosu na prethodnu verziju.

Pa, da zavirimo malo pod tu „haubu”, tj. drugu stranu pločice. „Motor” na micro:bit v2 je Nordicov nRF52833, 32-bitni mikrokontroler ARM Cortex-M4 arhitekture. Pločica na raspolaganju ima 512 kilobajta fleš memorije i 128 kilobajta RAM-a. Poređenja radi, prethodna verzija je nosila nRF51822, sa osetno manje memorije. Nordic na v2, naravno, dolazi sa Bluetooth/BLE 5.0, uz štampanu antenu u uglu pločice. Na ovim stranicama već smo pisali o nekim mikrokontrolerima iz Nordicove kuhinje. Na micro:bit se vrti CODAL/DAL (component oriented device abstraction layer). CODAL podržava većinu nama bitnih programskih jezika, poput MakeCode, C++, Scratch i Python, pa čak i JavaScript. Ovaj lejer nam omogućava upravljanje mikrokontrolerom, ali i hardverom. Recimo, ako ne želimo da koristimo LED matricu, a potrebne su nam GPIO, funkcijom display.enable(false) isključujemo kompletan drajver matrice i senzora svetla, dok ga sa display.enable(true) ponovo uključujemo. Funkcije DAL-a koristimo na isti način i za tastere, ali i za dublje stvari, kao što je dodeljivanje interfejsa pinovima, poput I2C (P19 i P20). Kada smo kod I2C, dodaćemo da oni već imaju pull-up otpornike od po 4,7K.

Pod haubom se našlo mesta i za već pomenuti MEMS mikrofon, ali i MLT-8530 magnetni zvučnik, koji je ujedno i najveća komponenta na pločici. Kao kompas i akcelerator tu je LSM303, koji je sa mikrokontrolerom povezan putem I2C interfejsa. Zanimljivo je i to da se ispod solder maske naziru pedovi za FXOS8700, što je sličan senzor. Za komunikaciju sa računarom preko mikro-USB priključka, upotrebljen je KL27Z, što je ARM Cortex-M0+ mikrokontroler na 48 megaherca. Ovaj MCU je isprogramiran tako da koristi punu brzinu USB 2.0. Do njega su još dve LED (’pwr’ i ’flash’), taster’reset’ i JST PH konektor baterije. Nordicov mikrokontroler u sebi sadrži i temperaturni senzor koji nam je dostupan. Ranija verzija od pobrojanog nema mikrofon i zvučnik.

Kako se programira micro:bit? Pločicu možemo da programiramo uz pomoć računara preko mikro-USB kabla ili mobilnim uređajem, preko micro:bit aplikacije, a putem Bluetooth veze. Ako govorimo o računaru, na raspolaganju nam je nekoliko programskih jezika. Korisnički program možemo prebaciti u klasičnom drag’n’drop maniru ili flešovati direktno. Najčešće se koriste MakeCode i Python, ređe C++ i Scratch. Krenućemo redom.

Microsoftov MakeCode namenjen je deci nižih razreda. Online editor je koncipiran tako da dodavanjem blokova pravimo šta nam treba. Razlikujemo dva početna bloka, on start i forever, a možemo ih posmatrati kroz prizmu setup i loop funkcija u Arduino sistemu. U uspravnoj traci sa alatkama biramo šta nam je potrebno od blokova, a svaka od opcija menija otvara čitav njihov niz. Recimo, Input otvara čak 14 blokova. S obzirom na to da je MakeCode dostupan i za prethodnu generaciju micro:bit pločica, blokovi isključivo namenjeni v2 jasno su odvojeni. Tu je i micro:bit simulator koji će nam još u okviru editora pokazati kako će izgledati naši blokovi uživo. Nećemo dublje ulaziti u MakeCode, ali treba znati da su njime pokriveni svi aspekti pločice. Jednom kada sve potrebne blokove popakujemo, sa Download preuzimamo HEX fajl koji prostim kopiranjem na micro:bit počinje svoj život. Editor nam daje prikaz u blokovima, ali i u JavaScript. Između više opcija, zanimljiva je mogućnost direktnog izvoza na GitHub. Pločica ima veliki broj hardverskih dodataka (extensions), a dodatne setove blokova pozivamo u delu Advanced: Extensions. To je nešto poput biblioteka u Arduino IDE.

Za one koji su sa Pythonom „na ti”, tu je i online Python editor. Inače, zvanične stranice su jako dobro dokumentovane, sa obiljem linkova. Online editor dosta podseća na Thonny. Fajl možemo preuzeti u HEX formatu, a možemo flešovati pločicu i direktno preko webUSB-a, a koji trenutno radi samo na Chrome browseru. U zavisnosti od toga da li smo se povezali sa micro:bit, menjaće se i prva ikonica iz Download u Flash. Primetićete na početnom ekranu snipet koji, između ostalog, treba da prikaže i sliku Srce. U pitanju je built-in set slika, a tu su još i HAPPY, DUCK, GHOST i druge. Ako pogledamo snipet koji sledi, možemo videti da niz odgovara matrici, ali se brojevi za svaku LED razlikuju. Razlog tome je što odabirom vrednosti od 0-9 mi, zapravo, određujemo jačinu svetla dioda.

display.show(Image(’00300:’

’03630:’

’36963:’

’03630:’

’00300’))

Na zvaničnim stranicama možemo videti i spisak funkcija za kompletan hardver micro:bit-a.

Scratch podrazumeva da na micro:bit flešujemo Scratch micro:bit firmver, takođe, prostim kopiranjem, kao na fleš drajv. Scratch je online editor, nalik MakeCode-u, u formi blokova. Da bismo uopšte mogli da slažemo blokove, potrebno je da smo prethodno flešovali micro:bit i da je on priključen na računar. Time smo dodali dodatni set blokova, shodno hardveru pločice. Ako na računaru imamo Bluetooth adapter, micro:bit možemo programirati bežično, dokle god pločica ima neko napajanje i uključena je.

Sa micro:bit možemo koristiti gomilu drugih editora, poput MU o kom smo pisali ranije. Nama je, naravno, najzanimljivije kako se micro:bit ponaša u Arduino sistemu. Koraci ka Arduino IDE mogu biti „posuti trnjem” ako smo prethodno micro:bit programirali microPythonom, barem prethodna verzija. Arduino očekuje softdevice radio, koji će microPython obrisati. Problem se lako dâ rešiti originalnim HEX reklamnim fajlom. Kao i svaku drugu razvojnu ploču, u IDE definicije dodajemo kroz Preferences linijom https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json, a zatim ih instaliramo kao i svake druge.

LED matrica koristi samo nekoliko pinova Nordicovog mikrokontrolera, a LED se multipleksuju. Stoga je potrebno kolonama suprotnim od onih koje koristimo ispisati LOW. Pinovima se obraćamo kao i na Unu, a isto važi i za tastere. Serijski interfejs, kao i I2C, SPI rade standardno. Pod Boards ćemo dobiti podršku za oba micro:bita, međutim, u primerima neće biti onih za ugrađeni hardver. Ipak, biblioteke u Arduino sistemu za hardver postoje. Bluetooth je pokriven sa BLEPeripheral bibliotekom. Adafruit_Microbit biblioteka na jednom mestu nudi pokrivanje kompletnog hardvera pločice. Tu su primeri za akcelerometar, kompas, tastere, LED matricu, Bluetooth UART, Plotter, pa čak i za ugrađen temperaturni senzor.

Ideja BBC-a je pun pogodak što se tiče obrazovanja dece u školama. Istim stopama je hrvatska E-Radionica svojevremeno išla sa svojim Croduino pločicama. Kod nas, srećom, znanja ima; na nesreću - volje nema. Smatramo da i te kako nešto slično može da se napravi i kod nas, sa ciljem da se animira određeni postotak učenika. Dok se to ne desi, radićemo sa pločicama koje su drugi napravili. Ako ćemo po osnovnim školama uopšte raditi.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
NOVEMBAR 2023
Counter Strike 2
Stari, dobri Kanter u osveženom ruhu je više veliki update, nego puna nova igra...
Intel Core i9-14900K i Core i7-14700K
Nema zime uz Intelove mašine
Da li je Raptor Lake Refresh samo još vrelija i neznatno brža verzija prethodne generacije?
Apple iPhone 15, iPhone 15 Pro i iPhone 15 Pro Max
Petrovača, ajdared i zlatni delišes
iPhone 15 je „prepakovana” verzija modela 14 Pro, sa Appleovim čipsetom A16 Bionic „ispod haube”...
High tech igračke i razvoj naučnog razmišljanja
M’mera mpoyamba
Visokokvalitetne, a povoljne edukativne igračke postoje za svaku sferu interesovanja vašeg deteta...
Dell Alienware AW2724DM
Ponos na vašem stolu
Odličan monitor. Vrhunski! Međutim, kao što verovatno znate, Alienware je neka vrsta statusnog simbola...
Hisense 43A7KQ
VIDAA sa više smisla
Neobičan brak pametnog i tradicionalnog televizora, koji se lako koristi i bez ijedne napredne opcije za gledanje TV programa...
Finansijske tehnologije
Turbulencije ne prestaju
Da li nas očekuje recesija ili „meko prizemljenje”? Ključne kompanije sektora finansijskih tehnologija ne čekaju previše...
EmulationStation Desktop Edition 2.1.1
Vizuelna strana emulacije
Emulation-Station je frontend za emulatore, koji donosi mogućnost kastomizacije prikaza sadržaja...
Super Mario Bros. Wonder
Super Mario Bros. Wonder je dragulj u serijalu 2D Mario platformera, na koji se čekalo više od tri decenije...
Assassin’s Creed Mirage
Igra ima fokusiranu, vrlo linearnu priču kakvu su imali prvi naslovi u serijalu...
Forza Motorsport
Pre trka nije moguće voziti kvalifikacije, već sami birate startno mesto na gridu...
Marvel’s Spider-Man 2
Akciona komponenta Marvel’s Spider-Mana 2 je stravično dobra, mada su Majls i Piter previše slični...
© 2023 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama