LAKI PINGVINI Gde MikroElektronika sreće Arduino
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.
|
||||||||||
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Doom: The Dark Ages Doom iz mračnog doba drugačiji je od svih drugih Doomova, jer je Slayer koncipiran kao tenk sa štitom... Clair Obscur: Expedition 33 Estetika Belle Époquea, gameplay u skladu sa kanonima JRPG-a, vrhunsko pripovedanje i ljubav prema igrama... Computex 2025, Tajpej, Tajvan AI NEXT Ovaj, nekada ultra-PC-specifični sajam, odavno se proširio na srodne tehnologije, biznis rešenja i digitalne usluge, postavši varijanta azijskog C... Gigabyte GeForce RTX 5070 Gaming OC 12G Višak samopouzdanja Kartica je sa hardverske strane vrlo kvalitetna, ali ništa ne može da nadomesti nedostatak snage „pod haubom”... Asus ProArt P16 (H7606WP) Pronalazak neverovatnog Novi ProArt P16 donosi moderna rešenja, u dobro usaglašenom odnosu gabarita i performansi – alatka koju ćete sa ponosom nosati sa sobom... Logitech ProX Superlight 2 Sve udvostručeno Ovaj miš predstavlja jasnu indikaciju da najveći proizvođač ne želi da napusti nijedan segment tržišta... Winhance 25.05 Popravka Prozora U pitanju je alatka koja omogućava da se brzo rešite (većine) bloatwarea, ali i da obavite optimizaciju rada Windowsa... .rs: Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije Unapređeno e Zakazivanje Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije Google Mariner, Google Astra i AI autonomni agenti Uspon tihog softvera Umesto kliktanja stručnog lica, softver će, već ove godine, u tihom, gotovo nečujnom načinu rada - završavati posao... Fatal Fury: City of the Wolves Fatal Fury je oduvek bio čudna cvećka u svetu borilačkih igara; takav je i ostao... Arc Raiders Novi extraction shooter iz pera autora dobrih delova franšize Battlefield (i potcenjenog The Finals)... |
||||||||||