„Calliope mini 3 – mali računar za velike ideje!“ je lajtmotiv ovog nemačkog STEM učila na kome se uz par klikova može ući u proces programiranja ili pokrenuti neki mehatronički sistem. Lakoća nadogradnje senzorima, uz postojeće koji su već na Calliope mini 3 ploči i mogućnost direktne kontrole motorima izdvaja ovu zvezdicu među malim računarima u grupu nama omiljenih.
Calliope mini 3 dolazi u lepo dizajniranoj kutiji veličine 10 x 10 x 3 cm koja ga svojim šarmom čak čini i lepim poklonom za nekog budućeg mejkerskog mađioničara. Pored same ploče, unutra se nalazi i kutijica za dve 1,5 V AAA baterije, pa će Calliope mini 3 moći da radi na svakom mestu. Dobićete i veoma kvalitetan i svakako moderan USB kabl za programiranje.
A kada pogledamo u unutrašnjost kutije, naći ćemo i osnovna uputstva za prvo pokretanje, nalepnicu sa slikom Calliope mini 3 i specifikaciju svih pinova. Sve ove informacije uz mnogo više detalja i praktičnih primera naći ćete i na sajtu proizvođača, pa i ako ne sačuvate kutiju za skladištenje ovog STEM učila, što svakako preporučujemo, nećete biti ostavljeni sami sebi u istraživanju mehatronike.
Hardver
Iako ćemo sada ući u hardver na kome je bazirano ovo učilo, bitno je razumeti da za njegovo korišćenje ove informacije nisu vitalno važne. Naime, Calliope nije prvenstveno razvojni sistem za neki mikrokontroler, već je gotov proizvod – STEM učilo koje je razvijeno na mikrokontrolerskoj platformi i za koje je proizvođač obezbedio hardver i dodatni softverski lejer. Time je obezbedio potpunu kompatibilnost sa većim brojem postojećih programskih paketa i hardverskih dodataka koji se već standardno koriste u STEM obrazovanju. Upravo je ovo jedna od značajnih prednosti Calliope mini 3, čiju izradu je podržalo i Ministrastvo ekonomije i zaštite klime Nemačke, što samo dodatno govori o kvalitetu ovog učila.
Osnovni mikrokontroler je nRF52833 kompanije Nordic Semiconducter. Radi na 64 MHz ARM Cortex-M4 jezgru sa FPU-om u sebi i ima 512 KB fleš memorije za programe i 128 KB RAM memorije dostupne za rad aplikacija. To je isti procesor koga smo sretali u micro:bit V2.0 i V2.2x verzijama i o kojima smo pisali u recenziji micro:bit case.
Ova činjenica nas upućuje, mada nas je i karakteristično 5 x 5 polje dioda tamo već odvelo, na sličnost ove platforme sa standardnim engleskim školskim STEM mini računarom: BBC micro:bit-om. Recenzijom koji pišemo želimo otkriti koliko su oni zapravo slični i koje prednosti ima nemački pandan u odnosu na dobro poznatu viziju engleskih pedagoga.
Za sagledavanje mogućnosti povezivanja, što je veoma bitno kod STEM učila ovog tipa, najbolje je pogledati zvaničnu šemu. Ukažimo na najbitnije detalje. Ploča je u obliku interesantne šestokrake zvezde u čijem centru se nalazi pomenuto 5 x 5 LED polje sa crvenim diodama. U projektima se često koristi za vizuelizaciju stanja sistema ikonografskim simbolima. Ispod njega nalaze se tri RGB LED diode. Veoma često na učilima se nalazi samo jedna RGB LED dioda kojoj se može menjati boja u eksperimentu. Sa tri, koje sada čine niz, moguće je izvesti daleko veći broj lekcija i bez nabavke dodatnog RGB LED niza.
Na svakom od krakova zvezde nalazi se po jedan metalni kontaktni prsten. Gornja dva su napojna sa GND i 3.3 V linijama, dok su ostala četiri povezana sa I/O pinovima i mogu detektovati dodir prstom, veoma zgodno za izradu pokaznih eksperimenata. Kako su prstenovi povezani sa I/O izlazima, treba primetiti da P0, P1 i P2 mogu raditi sa analognim i digitalnim signalima, dok P3 može biti samo digitalni. Dakle, jedan prsten više nego micro:bit, mada ograničen samo na digitalni signal, ali i daleko pristupačniji za detekciju dodira prstom.
Na ploči su i dva dugmeta, poput dva dugmeta na micro:bit-u, označena sa A i B čija stanja se mogu očitavati programski. Uz svako dugme nalazi se po jedan Grove konektor, označen sa A0 i A1 za povezivanje Grove periferija – obično senzora, displeja i aktuatora. Grove periferije mogu biti sa I2C (signali SDA/SCL) i UART (signali TX/RX) protokolom, pa je tako konektor A0 namenjen periferije sa prvopomenutim, a A1 za one sa drugopomenutim. Sa obzirom da su fizički identični, neophodno je obratiti pažnju prilikom povezivanja.
Reset dugme se nalazi pored USB-C konektora preko koga se ploča programira i u isto vreme napaja. Opciono, kao što smo na početku rekli, može se napajati i baterijski za šta postoji poseban konektor. U kompletu dolazi kutijica za dve standardne AAA 1,5 V baterije. Nije omogućeno punjenje napojnih baterija, stoga nije data česta opcija sa Li-Ion punjivim baterijama. Nama se ovaj pristup dopada sa stanovišta bezbednosti učenika. U krajnjem slučaju, moguće je koristiti standardne punjive AAA 1,5 V baterije koje bi se dopunjavale u izdvojenom punjaču koji su danas masovno prisutni. Sa obzirom na izuzetno malu potrošnju energije, punjive ili ne, baterije će trajati jako dugo i napajanje svakako neće ometati tok nastave. Obratite samo pažnju ukoliko vaš projekat koristi motore.
Zanimljivo je prisustvo drugog Nordic Semiconducter SoC-a sa oznakom nRF52820. nRF52820 je takođe ARM Cortex-M4 procesor na 64 MHz, ali sa 256 KB fleša i 32 kB RAM-a. Iako „slabiji“ ima jednu specifičnu osobinu, a to je mogućnost kontrole USB portova. I upravo ono što kod micro:bit-a radi NXP KL27Z, ovde radi ovaj nRF. Calliope tim se odlučio da ceo uređaj bazira na silicijumu jednog evropskog proizvođača i to vrhunskog.
Da bi dodatno proširi hardversku kompatibilnost i povećali povezivost periferija Calliope tim je dodao i dva Jacdac konektora na samom dnu ploče. Kod nas je taj tip konektora prilično nepoznat. Jacdac je Microsoft-ov sistem za povezivanje periferija sa mikrokontrolerskim sistemima, čija je realizacija izuzetno jednostavna, budući da je u pitanju specifično izrezana PCB ploča sa tri kontakta koja se lako spaja sa odgovarajućim Jacdac ženskim konektorom. (Muški konektor je sama PCB ploča.) Microsoft je uložio dosta pažnje u ovaj standard i podržao ga u okviru Microsoft MakeCode okruženja velikim brojem periferija.
Konačno postavljen je i ženski 30-pinski heder koji pored signala napajanja i četiri linije izvedene na ugaone kontakte o kojima smo ranije pričali (P0-P3), ima i sedamnaest dodatnih I/O linija (C4-C20), a ima i četiri zasebna izlaza za motore (M0-M3), kao i izdvojeno napajanje za njih.
Calliope mini 3 na sebi ima bogatu paletu senzora, koja je sama po sebi dovoljna za veći broj eksperimenata. Tu su dodatni pin za detekciju dodira koji je izveden u obliku zlatnog Calliope logoa sa zadnje, bele strane pločice. Sa prednje strane, ne toliko jasno uočljivi su: kompas, senzor pomeraja i akcelerometar, senzor temperature i senzor osvetljenja, mikrofon (odlično uparen sa ugrađenim zvučnikom), kao i Radio/Bluetooth antena.
Iako svi bežični primeri koje smo videli pokrivaju Radio ili Bluetooth, sam nRF52820 podržava i Bluetooth LE 5.4, Bluetooth mesh, Thread i Zigbee, dok nRF52833 uz sve to podržava i NFC. Radio funkcije omogućavaju prenos podataka, brojevnih vrednosti i alfanumerika sa jedne Calliope na drugu, putem unapred određenog zajedničkog kanala za prenos. U jednom trenutku jedna Calliopa može primati i slati informacije samo kroz jedan radio kanal ili putem Bluetooth veze.
Software
Kupivši Calliope mini 3 po ceni od $40 nećete dobiti samo lepo upakovan hardver kompatibilan sa Grove i Jacdac periferijama, već i odličnu softversku podršku i mnoštvo primera i lekcija za vas ili vaše učenike i time podržati tim da nastavi dalji razvoj.
Prvo okruženje je Calliope mini blocks on-line editor u kome se programira grafičkim elementima u Scratch programskom jeziku. Jezik je već dobro prihvaćen u STEM edukativnoj zajednici i učenici su verzirani za njegovu upotrebu. Calliope tim je napravio i dodatnu Calliope mini biblioteku i njome se može pristupiti svim senzorima i I/O linijama učila. U ovom okruženju ne postoji mogućnost pisanja u višim programskim jezicima. Za rad je potrebno prvo prebaciti blocks.hex program na Calliope USB kablom, pa upariti Bluetooth vezom pločicu sa računarom sa koga se pokreće on-line editor. Svaka promena blokova programa u radnom ekranu u realnom vremenu će modifikovati kod na Calliope mini 3. Slično ovom okruženju mogu se koristiti i MicroBlocks koji je danas standard u mejkerskom svetu za mikrokontrolere i Open Roberta Lab, takođe grafički programski jezik sa blokovima baziran na NEPO jeziku.
Kompletnije okruženje je Microsoft MakeCode on-line verzija za Calliope mini, takođe na sajtu proizvođača. U njemu se programi mogu pisati vizuelno, blokovima, ali i u JavaScript i Python jeziku. Tim je napravio nekoliko tutorijala i kompleksnijih workbook online radionica kroz koje učenici treba da prođu i time steknu znanja za samostalan rad. Takođe, postoji daleko veći broj ekstenzija za ovu platformu nego za Calliope mini blocks, te su mnogi senzori podržani svojim bibliotekama: na primer Grove senzori ili oni Jacdac tipa. Programe je moguće pisati u bilo kom od tri data jezika, a konverzija iz jednog u drugi je automatska. Napisan program se preuzima i prebacuje na Calliope preko USB kabla i tek onda startuje.
Ako želite da pišete programe u Python jeziku, možete to raditi u Python on-line editoru. Editor je intuitivan i pomaže sugestijama koda prilikom pisanja, a prebacivanje programa se vrši preko USB kabla. Pri prvom programiranju, prebacuje se i, nazvaćemo ga „BIOS“ uz vaš kod, te proces traje neznatno duže.
Posebno nam se dopala mogućnost programiranja u Arduino IDE, za koji je data .json definicija ploča koju treba uneti u Preferances. Nakon toga se instalira podrška za Nordic Semiconductor nRF5 Boards i izabere Calliope mini V3. Tu ćete videti da je to definicija i za micro:bit ploče, što samo potvrđuje naše zapažanje sa početka recenzije. Na kraju potrebno je instalirati i Calliope Arduino biblioteku sa povezanim bibliotekama. Sketch treba eksportovati kao kompajlirani binarni fajl i nakon toga prebaciti .hex datoteku na Calliope, gde će biti automatski pokrenut. Ovako Calliope mini 3 postaje razvojni sistem gde samo veština mejkera određuje granice.
I na kraju, postoji i „mobilni“ pristup Calliope mini 3 kroz Calliope mini app za Android i iOS. Sa obzirom da Calliope opremljen baterijom postaje prenosan uređaj i da može biti lociran na udaljenom mestu gde bi pristup računara bio otežan, moglo bi se reći da ova opcija ima svoju potencijalnu primenu.
Zaključak
Ne može se ne biti zadivljen Calliope mini 3. Nemački STEM odgovor na engleski BBC micro:bit je dostojan. Baziran je na istom SoC-u, ali se i dodatno insistiralo da sav silicijum bude iz iste evropske fabrike. Oblik je svakako daleko interesantniji i omogućava bolji pristup svakoj tač tački, kojih ima četiri na obodu uz petu sa zadnje strane u obliku Calliope logoa. Tu su i tri RGB LED diode i četiri tačke za direktnu kontrolu motora sa napojnom tačkom za njih.
Zajednički im je 5 x 5 crveni LED ekran, dva dugmeta za interakciju, mogućnost baterijskog napajanja, reset dugme i funkcionalno identičan set senzora. Mrežno povezivanje je bazirano na Bluetooth komunikaciji, ali i na Radio komunikaciji koju nRF58xxx podržavaju.
Prednost Calliope mini 3 su po dva (I2C i UART) Grove i Microsoft Jacdac konektora. Time je hardverski omogućeno direktno povezivanje ta dva ekosistema na Calliope. BBC micro:bit ima svoj ivični konektor, koga Calliope nema, iako svi ti signali jesu na ugrađenom ženskom hederu. Potencijalno bi se mogao napraviti dodatni Calliope-2-micro:bit break-out board koji bi se povezao na ugrađeni GPIO heder i time omogućio upotrebu velikog broja periferija i uređaja namenjenih micro:bit platformi.
Softverska podrška je odlična i omogućava razvoj programera od najmlađeg uzrasta koji koristi Scratch, preko NEPO jezika, JavaScripta i Python-a, pa sve do C/C++ programiranja u Arduino IDE okruženju koje nas dovodi do nivoa razvojnih sistema i spušta kontrolu na nivo procesora.
Cena je isto bitna karakteristika kod ovakvih uređaja koji se za obrazovne institucije kupuju u velikom broju. Calliope mini 3 paket je za oko $20 skuplji od identičnog micro:bit V2 paketa kod većine prodavaca kada se naručuje na komad. U ovom slučaju je to skoro duplo viša cena i o tome u Calliope timu moraju razmišljati, ako se odluče za slobodno tržište. Biće teško, ali verujemo da će naći način da što većem broju mejkera osvoje srca i budu prvi izbor za nRF52833 platformu, kao što je nama definitivno postala.