LAKI PINGVINI
MikroElektronika Flip&Click SAM3X
Gde MikroElektronika sreće Arduino
D. PETROVIĆ
1. decembar 2021.

Kada smo pre koji mesec pisali o Mini-AT pločici (SK 9/2021, i.sk.rs/30014), rekli smo da je odlična alternativa Arduino razvojnim pločama. Štaviše, preporučili smo je kao proizvod domaćeg, ali svetski renomiranog proizvođača. Mini-AT svakako nije jedina razvojna ploča koju Mikroelektronika ima u svom ogromnom katalogu, a koja se može programirati kroz Arduino razvojno okruženje.

Flip&Click SAM3X ne samo da može da se programira kroz Arduino IDE i koristi sve pogodnosti ovog sistema, već donosi i MikroBUS standard. Drugim rečima, sa ovom razvojnom pločom, pored standardnih „šildova”, senzora i modula, za razvoj projekta mogu da se koriste i neki od preko hiljadu „klikova”. O ovim dodatnim pločicama više u zasebnom tekstu. Da ne zaboravimo, Flip&Click je format koji SAM3X za sada deli samo sa PIC32MZ, a koji će, nadamo se, naći svoje mesto na ovim stranicama.

Flip&Click SAM3X je razvojna ploča koja uspešno u svet Arduina donosi MikroE klikove. A, opet, zadržana je osnovna forma Arduino platforme. Na neki način, u zavisnosti sa koje strane posmatramo ploču, možemo videti dva sveta, Arduino i MikroE. Čak su i strane u različitim bojama, plava i bela. Razlike koje jasno distanciraju dva sveta se ovde ne završavaju, ali o njima kasnije. Raspored headera i konektora uslovljen je malo nestandardnim dimenzijama ploče, ali je, ipak, krajnje praktičan.

Krenućemo od plave strane. Centralno mesto na ploči zauzima AT91SAM3X8E, mikrokontroler koji se nalazi i na Arduino Due, ploči o kojoj ste na ovim stranicama već mogli da čitate (SK 5/2019, i.sk.rs/15869). Broj Dva u malo drugačijem formatu, ali sa, ipak, skoro svim funkcijama koje se nalaze na Due, a o kojima smo pisali. Upoređujući SAM3X sa Due, vidimo da su osnovne stvari tu. Programming Port je tu, međutim, nije označen. Izvorni Host Port je sa donje, bele strane. Niz od standardne četiri LED je uz ivicu. Na sredini oboda je naponski priključak, a SAM3X možemo preko njega da napajamo naponima od 7-20 volti. Za komunikaciju sa računarom upotrebljen je ATmega16u2 UART čip, kao i na Due. Njega koristimo preko Programming Porta. Ipak, mnoge stvari nisu kao na Due. Taster ’Reset’ je na beloj strani, dok je taster’Erase’ uz ivicu i plitak, zgodno da ga slučajno ne pritisnemo.

Naveli smo da je SAM3X svojevrsna simbioza dva sveta. Standardnom redu headera kakav zatičemo na Arduino Uno formatu ploča ovde je dat prioritet u odnosu na format kakav je na Due ili Megi. Drugim rečima, na plavoj strani nemamo izveden kompletan pinout mikrokontrolera, pa ploču nećemo moći da koristimo sa šildovima koji ove nedostajuće headere koriste. Ruku na srce, takvi i jesu retki. SPI header je na svom mestu, te samim tim svaki šild koji radi na 3,3 volta, a standardan je za Uno format, radiće i ovde. Mali osvrt na činjenicu da su apsolutno sve komponente SMD. Drugim rečima, prilikom češćeg menjanja šildova i klikova treba voditi računa da se headeri ne oštete. Ovo posebno važi za mikro-USB priključke. Sve oznake na plavoj strani su identične onima iz Arduino sistema. Na SAM3X JTAG i ICSP headeri ne dolaze zalemljeni, ali su ostavljeni predviđeni pad-ovi.

Bela strana je ta koja dodaje težinu tasu na vagi. Na njoj se nalaze četiri MikroBUS podnožja (socket), preko kojih u istom trenutku možemo da povežemo do četiri klika. Ako ovome dodamo i neki šild na plavoj strani, jasno je da sa SAM3X možemo imati zaokružen projekat, a ne samo razvojnu platformu. Na beloj strani vidimo da je veliki broj neiskorišćenih pinova i interfejsa našao svoje mesto u MikroBUS podnožjima. Za razliku od plave strane, oznake pinova na beloj su izvorne, to jest, ispisane su oznake prema portovima. Svaki pin ima svoj pandan označavanja u Arduino okruženju, tako da lako možemo da ih adresiramo. U folderu Arduino15 Arduino instalacije na računaru možemo naći kompletno Arduino adresiranje pinova prema oznakama portova. Tabela se može naći i online. MikroElektronika za svoje primere na GitHubu ima dodatni fajl flip_click_defs.h, koji se može koristiti kao referenca, ali i za adresiranje. Kao mali dodatak, svaki MikroBUS ima i svoju LED. Ove LED, nažalost, nemaju ispisane oznake pinova za koje su vezane, te moramo da se obratimo tehničkoj dokumentaciji. Recimo, LED za podnožje A je vezana za PC6, to jest, digitalni pin 38. Razumljiva je odluka da se taster ’Reset’ nalazi sa ove strane. Ako ćemo ploču koristiti za razvoj sa klikovima, bela strana je ta koja nam treba.

Za potrebe ovog teksta, od MikroElektronike smo dobili i dva klika: Pressure 4 klik i OLED C klik. Prvi nosi senzor BMP280 o kome je bilo reči na ovim stranicama u više navrata (SK 4/2017, i.sk.rs/14113). Ovaj senzor kompanije Bosch omogućava merenje temperature i atmosferskog pritiska, a posredno i nadmorske visine. Na klik pločici senzor je predviđen da sa mikrokontrolerom komunicira putem SPI interfejsa, mada se uz promenu položaja otpornika ovo lako dâ prebaciti na I2C. Na isti način može se promeniti I2C adresa. Bez obzira na interfejs, uz Pressure 4 klik savršeno radi Adafruit_BMP280 biblioteka.

OLED C klik je ekran u boji sa SSD1351 drajverom. Rezolucija ekrana je 96×96 tačaka, a dijagonala 1,12 inča. Sam OLED ekran je PSP27801. Sa mikrokontrolerom se može povezati preko 8/16/18bit Parallel, kao i 3-wire i 4-wire SPI interfejsa. Koristimo standardne SPI pinove, ali i neke dodatne, recimo R/WC i EN. Zadnji pin sa HIGH logičkim stanjem, zapravo, i uključuje ekran. Za korišćenje SSD1351 OLED ekrana u Arduino okruženju postoji nekoliko biblioteka. Međutim, biblioteke se uglavnom oslanjaju na Adafruit ekrane koji, iako sa istim drajverom, koriste ekrane različitih tipova, rezolucija i različitih dijagonala. Niti jedna biblioteka nije dala odgovarajuće rezultate. Štaviše, sve su se ponašale isto i prikazale iste anomalije. Uz svesrdnu pomoć lexus2k, autora lcdgfx biblioteke, uspeli smo da OLED C klik dovedemo u stanje delimične upotrebljivosti. Do zaključenja ovog broja proces još nije završen, ali se nadamo da će biti. Ukoliko ostvarimo odgovarajuću podršku, potrudićemo se da primer postavimo na GitHub, a nadamo se i na stranice MikroElektronike. Ovde napominjemo da MikroElektronika ima za svaki svoj klik, svaku razvojnu ploču i kompletna razvojna okruženja, kompajlere, biblioteke i primere. Koristeći SAM3X uz ove klikove i njihov sistem, sve će, naravno, raditi out-of-the-box.

Ako nam Arduino IDE nije dovoljan, možemo preći na jezik Zmija. Za programiranje ploče na programskom jeziku Python, MikroElektronika predlaže Zerynth Studio. Softver koncepcijski podseća na Visual Studio, na koji se inače i oslanja. U levoj bočnoj traci su ikonice preko kojih pozivamo biblioteke, primere, projekte, ali i podešavanja virtuelne mašine. Do ove trake je Project View gde stoji pregled fajlova. Najveći deo ekrana zauzima polje za programiranje. Za SAM3X u Zerynthu već postoje definicije. Povezivanjem ploče sa računarom, u padajućem meniju Device vidimo da ju je softver prepoznao i možemo da biramo između SAM3X i Due. Device Info će jasno prikazati podatke o ploči, mikrokontroleru, memoriji i slično. Vrlo zanimljiv je pinout dijagram SAM3X. Pinovi nose D i A oznake, međutim, samo se delimično mogu porediti sa Arduino pinoutom.

Kao i kada smo govorili o CircuitPython i MicroPython pločama, i ovde je potrebno napraviti par koraka pre samog programiranja, Register, Create, Virtualize. Zerynth koristi virtuelnu mašinu da na SAM3X zavrti Python. Pre samog programiranja, potrebno je SAM3X registrovati, zatim kreirati virtuelnu mašinu i na kraju „virtualizovati” je. Tek nakon toga ploča može da se programira. Mi smo, naravno, probali ovu stazu koja je, ispostaviće se, „posuta trnjem”. Naime, Zerynth (bivši Viper IDE) je uz novi SDK izostavio podršku za sve „3rd party” ploče (i.sk.rs/358234). To smo saznali tek nakon višesatnog pokušavanja da na SAM3X podignemo virtuelnu mašinu Zeryntha.

Šta reći za SAM3X, ali i za celokupan setup? Imamo ARM mikrokontroler koji može da se programira na nekoliko načina. Kvalitet izrade je vrhunski, podrška takođe. Prednosti ovakvog flip i klik načina su i više nego očigledne. Ako bismo baš tražili dlaku u jajetu, možda da je integrisan neki baterijski menadžment. Ono, jeste, tu su klikovi i za baterije.

MikroBUS

MikroBUS je podnožje razvijeno od strane MikroElektronike, a u međuvremenu je postalo opšteprihvaćen standard u embedded svetu. Podnožje ima jasno definisane dimenzije i pinout. Dva ženska headera od po osam pinova sadrže sve što je neophodno jednom senzoru, integralnom kolu, ekranu ili drugom uređaju za komunikaciju sa mikrokontrolerom. Levi header sadrži jedan analogni pin, zatim RST, četiri SPI pina (CS, SCK, MISO, MOSI), kao i +3,3V i GND. Na suprotnoj strani su PWM, INT(errupt), RX, TX, SCL, SDA i na kraju, +5V i GND. Ovaj broj pinova je do sada bio dovoljan za preko hiljadu i sto klikova (u trenutku dok pišemo tačan broj je 1120), a kraj se ne nazire. Pritom, ne treba zanemariti veliki broj custom rešenja gde je zajednica koristila ovaj standard za svoje projekte, a koristeći neku od platformi koja omogućava korišćenje MikroBUS-a. Opet, ne nužno od MikroElektronike. Da ne zaboravimo da dodamo, broj podnožja na razvojnoj ploči direktno zavisi od mikrokontrolera i njegovih mogućnosti. Ne možemo očekivati da na jednoj Flip&Click ploči sa četiri MikroBUS-a nađemo ATmega328p.

Šta su klikovi?

Click pločice su uniformne dodatne pločice koje sa mikrokontrolerom povezujemo preko MikroBUS podnožja. Na sebi mogu nositi senzore, aktuatore, integralna kola, ekrane, zapravo, sve što se inače može povezati sa mikrokontrolerom. Sve pločice MikroElektronike su izdeljene u nekoliko grupa, poput Interface, HMI, Sensors, Motor Control i slično. Postoji nekoliko različitih dimenzija pločica, ali samo po visini, a direktno zavise od komponenata na njima. Širina je, rekosmo, standardna, a klikove možemo da koristimo uz prototipske ploče. Svaka od klik pločica dolazi sa kompletnom dokumentacijom, bibliotekom i primerima za svaku od platformi koju nudi Mikroelektronika. Naravno, za njihova razvojna okruženja i kompajlere. Postoje jasne i striktne odredbe standardizacije klikova. Sve komponente su, uglavnom, sa gornje strane. Uz neke izuzetke, nekorišćeni pinovi podnožja moraju se obeležiti sa NC i slično. Takođe, svaki klik je jasno označen na kom naponu radi, kao i kojoj porodici klikova pripada. Pa, tako, pomenuti klik sa BMP280 senzorom nosi oznaku Pressure 4, što znači da postoje i Pressure 3 i stariji, ali vrlo verovatno i noviji (ako ne trenutno, u skorijoj budućnosti svakako). Uz obilje podataka, kao što su selektori interfejsa na pločicama i obeležavanja pinova, ne postoji oznaka, u ovom slučaju, senzora BMP280. Za dodatne informacije, potrebno je ispratiti tehničku dokumentaciju.

Namena kompletnog standarda je da se fokus sa klimavih žica baci na programiranje i da se problemi uzrokovani lošim kontaktima svedu na minimum. Pritom, da se na jednom mestu dobije svaka moguća podrška. Prema rečima MikroElektronike, da se usredsredimo na ono što je zaista važno - a to je razvoj projekta.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2025
Microsoft Majorana 1
Kvantna topologija
Topološki kvantni računar otporan je na uticaj kosmičkog zračenja, ali i dalje mora da se ohladi skoro do apsolutne nule...
AMD Ryzen 9 9950X3D
Jedan, da svima vlada
Ako vam je potreban najbrži procesor, i za igranje, i za ozbiljnije zadatke, Ryzen 9 9950X3D nema konkurenciju...
Gigabyte GeForce RTX 5070 Ti Aero OC 16G i GeForce RTX 5070 Ti Gaming OC 16G
I za kreativce, i za igrače
Sasvim sposoban da se nosi sa 4K rezolucijom u svim igrama i pruži sasvim pristojne performanse, dok u 1440p apsolutno blista...
Asus ROG Strix Scar 18 (G835LX)
Fantastična zver i kako je kupiti (3)
Laptop namenjen onima koji „ne žale pare” da imaju ono što je trenutno najbolje i najbrže...
Deset najboljih Microsoft PowerToys alatki
Najbolji od najboljih
PowerToys Run je alatka kojoj treba da se okrenete ukoliko vam sistemska rutina za pretragu ne odgovara...
Apple iPhone 16e
Malo muzike za mnogo para
Problem nije samo cena i slabiji grafički podsistem, već i trajanje baterije...
Cemu 2.6
Wii U emulacija
Cemu omogućava pokretanje i privođenje kraju oko 57 procenata igara „napisanih” za Wii U...
.rs: nove usluge eUprave - novi propisi - najava 5G
Mnogo eNoviteta
U novom esDnevniku roditelji će dobijati notifikacije za ocene i izostanke...
Trgovinski rat Istoka i Zapada
Velika igra, nesagledive posledice
Kao u igri „kukavice”, dve supersile kreću se velikom brzinom jedna prema drugoj, izazivajući drugu da prva skrene...
Blue Prince
Jedinstveni dijamant i jedna od najoriginalnijih igara u poslednjih nekoliko godina...
Tempest Rising
Skupa i ambiciozna fotokopija legendarnog RTS klasika Command & Conquer...
South of Midnight
Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama