![]() | ![]() |
![]() |
| ![]() |
| ||||||||||||
SAMD21 M0 mini
SAMD21 M0 mini je ploča neznatno veća od Arduino Nano ploče, mada RobotDyn u ponudi ima i „full size” M0 ploče sa layoutom Una. Na crnoj PCB je mikrokontroler sa punom oznakom SAMD21G18A. Isti MCU koristi Arduino Zero, kao i starija ploča M0. Ploča iz naslova je najpribližnija baš M0 i nju i biramo u okviru IDE, ali o tome posle. Mikrokontroler o kome govorimo je ARM Cortex M0+ sa 32-bitnim jezgrom, uz interni maksimalni klok na 48 megaherca. Pride, tu je i eksterni kristal na 32,768 kiloherca. RobotDyn je MCU opskrbio sa 256 kilobajta fleš memorije i 32 kilobajta SRAM, što je u skladu i sa firmiranim M0 i jasno se vidi da je u pitanju njegova umanjena verzija.
Kao i kod Nano, i ovde su svi pinovi poređani sa strana gde pored pomenutih naponskih imamo šest analognih i 16 digitalnih GPIO. Pored ovih 16, u sklopu ICSP hedera imamo još tri digitalna zadužena za SPI interfejs. GPIO D20 i D21 su zaduženi za I2C. Od svih digitalnih pinova, PWM je moguć na njih 12. Analogni ulazi su 10-bitne rezolucije, a zanimljivo je da A0 ujedno ima i ulogu analognog izlaza.
Ove ploče pored RobotDyna prave još i Wemos i DIYMore pa se tako može naleteti na primerak na kome se nalazi samo bootloader koji dozvoljava prebacivanje skeča putem SWD konektora (ROM based). Ovakvi primerci su retki, ali postoje. Mi smo, srećom (ako se tako može reći), dobili primerak koji dozvoljava prebacivanje skeča putem USB porta (FLASH based). U okviru IDE je potrebno pod Boards Manager u polje za pretragu uneti SAMD i instalirati podršku za SAMD ploče. IDE će prilikom instalacije dodati i neophodan drajver za njih. Nakon toga, dovoljno je izabrati Arduino MO i odgovarajući port. U slučaju da naletite na ploču sa ROM based bootloaderom, odgovarajući bootloader možete naći u Google pretrazi koristeći ključne reči – adafruit m0 bootloader. RobotDynov SAMD21 radi bez mušica. Ono što se može nazvati razlikom u odnosu na programiranje standardnih Arduino kompatibilnih ploča je pravljenje Serial objekta. Kod SAMD21 M0 Mini bi Hello World preko serijal terminala išao ovako: void setup(){ SerialUSB.begin(9600); } void loop(){ delay(1000); SerialUSB.println(„Hello World!”); } Delay od jedne sekunde je obavezan. U suprotnom, terminal će ostati bez „Zdravo Svete!”. Razlog ovakvom pravljenju serial objekta je što je na ovoj ploči (kao i na drugim SAMD21) USB port nativan. Skečevi koji koriste serial terminal jednostavno neće funkcionisati. Ovaj (nazovimo) problem se može rešiti standardnim USBtoTTL adapterom (FTDI, recimo) koji ćemo povezati na TX/RX same ploče i terminal pratiti, recimo, preko PuTTY. Naravno, možemo koristiti bilo koji digitalni pin uz SoftwareSerial biblioteku. Pored standardnog pisanja skeča u okviru IDE, SAMD21 se može programirati i koristeći CircuitPython. CircuitPython je varijanta MicroPythona koji je razvila Adafruit. Po prirodi stvari, ako će se pisati standardni skeč i koristiti IDE, koristićemo Flash based bootloader. Za upload se u ovom slučaju koristi BOSSAC, kao i kod Arduino Due. Ako je izbor CircuitPython, jedino logičko rešenje je flešovati ROM based bootloader. Više o ovoj verziji Pythona možete naći na stranicama Adafruit, sekcija learn. S obzirom na to da se dok ovo pišemo bliži kraj školske godine, rešili smo da malo propitamo SAMD21 iz matematike da bismo videli razliku u odnosu na neke druge ploče, prvenstveno Due i pomenuti MKR1000. Očekivano, M0 Mini je postigao identično vreme sa MKR1000 u računanju broja Pi, a to je 1958 milisekundi za 100.000 iteracija. SAMD21 je očekivano brz, ipak nedovoljno u poređenju sa Due. ESP32 je naravno sve ovo gledao iz prikrajka i smeškao se. Za veliki broj scenarija ovaj RobotDyn može biti idealno rešenje. Dimenzije su minimalne, mikrokontroler je brz i pritom govorimo o ARMu. Prilikom maltretiranja na časovima matematike je trošio jedva 12 miliampera, što naravno nije neko merilo, ali može dati određeni uvid. Cena za ploču sa ARM mikrokontrolerom je i te kako prihvatljiva, ipak za standardne projekte AVR je svakako pristupačniji. Dejan PETROVIĆ |
| ||||||||||||||
![]() | |
![]() | ![]() |
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |