Kako izbrati pravi krmilnik za naš projekt?
Na strani strojne opreme je težko na kratko povzeti VSE možne različice. Če ne kar nemogoče, ker vedno znova dobivamo nove verzije. Zato sledi splošni pregled osnovnih popularnih družin: Uno, Mega, ESP8266, Zero in MKR. Tudi znotraj teh obstajajo različice, od katerih nekatere omenim spodaj. Najprej poglejmo odločitev, ki temelji na specifikacijah.
8-bit ali 32-bitov?
Za razliko od zgodnjih konzol za video igre izbira procesorja ni tako preprosta kot bitna številka. Na splošno 8-bitni procesorji ponujajo osnovne zmogljivosti ob porabi manjše energije. Preprostejše arhitekture pomenijo, da so programi za neposredno programiranje ponavadi razmeroma enostavni. 32-bitni procesorji ponujajo večje hitrosti takta skupaj z več RAM-a, ROM-a in serijskimi perifernimi napravami. Njihove arhitekture bi lahko programiranje zakompliciralo. Na srečo okvira, kot sta knjižnica Arduino in CircuitPython, skrivata velik del te zapletenosti.
Izbira mikrokontrolerja samo zato, ker je 8-bitni ali 32-bitni, je lahko torej kratkovidna. Zato je nujno, da razmislite, kako ga nameravate uporabljati.
8-bitni: Uno, Nano, in Mega
Arduino Uno R3
Arduino UNO je izhodišče za Arduino projekte. Ima izrazito obliko s psevdo-standardnim razporedom priključkov. Njegov CPU je Microchip ATmega328P. Najbolj spregledana specifikacija tega procesorja je 2.048 bajtov RAM-a. Arduino UNO je slaba izbira, če razmišljate o pošiljanju, prejemanju ali obdelavi “stringov”. Če ne boste obdelovali “stringov”, bi vas presenetilo, kaj lahko naredite s tako malo elektroniko, še posebej glede na število GPIO, ki so na voljo. Potrebno je še poudariti, da Arduino UNO postavlja fizične standarde za nadgradnje. Velja omeniti, da potem te iste nadgradnje lahko uporabljamo tudi na Arduino MEGA.
Arduino Nano
V kolikor je Uno prevelik, vzemite Nano. Gre za najbolj kopirano ali klonirano različico Arduino. Gre za enak procesor kot pri Uno, vendar je plošča zmanjšana. Neposredna sposobnost programske opreme pomeni, da lahko razvoj delate z Uno in svoj končni projekt namestite v Nano.
Mega
Če Uno (ali Nano) ne ponuja dovolj I / O ali RAM-a, so na voljo plošče, ki temeljijo na ATmega2560. Mega plošče so izjemno priljubljene v aplikacijah za upravljanje motorja, kot so 3D-tiskalniki. Medtem ko so njihova jedra pogosta, v primerjavi z ATmega328p ima ATmega2560 več časovnikov, dodatni ADC, dodatni hardverski UART in tono več I / O priključkov. Vendar je to še vedno 8-bitni procesor, kot se nahaja v Uno.
USB z 32U4
Še ena različica Uno je Leonardo ali Micro. Te plošče uporabljajo čip ATmega32U4. Za razliko od drugih omenjenih 8-bitnih plošč ima procesor vgrajen USB vmesnik. S to funkcijo lahko zelo enostavno ustvarite tipkovnice, miške in USB igralne palice. Priljubljena združljiva plošča je Teensy LC iz PRJC. To je enak 32U4, vendar v drugačni obliki.
32-bitni
Opomba: mislim na 32-bitne mikrokontrolerje, ki nimajo operacijskega sistema. Zato Arduino ne primerjam z Raspberry Pi ali podobnimi ploščami, kot je BeagleBone in podobne.
Arduino Zero
Arduino Zero vsebuje 32-bitni Microchip SAM D21, ki je vgrajen okoli ARM Cortex-M0 +. Plošča ima enako obliko kot Uno, vendar je procesor povsem drugačen.
Na splošno 8-bitne plošče temeljijo na 5-voltnem napajanju, 32-bitne plošče pa na 3,3-voltnem napajanju. Pomembno je vedeti, da večina 3,3-voltnih procesorjev ne more prenašati 5-voltnih signalov. Pri povezovanju med dvema napetostnima nivojema boste morda morali uporabiti prilagodilnike logičnih nivojev.
Najbolj presenetljiva značilnost M0 + plošč so neverjetno prilagodljivi serijski vmesniki. Medtem ko plošče definirajo I²C in SPI priključki, je sam čip zelo prilagodljiv. Podpira več vrst serijskih vmesnikov na več vhodnih / izhodnih priključkih. Tako kot njegov 8-bitni bratranec, je tudi Zero na voljo v manjših oblikah.
ESP8266 in ESP32
Ko je ESP8266 prišel na trg, je to spremenilo način, kako projekti vključujejo WiFi. Ta sistem na čipu je 32-bitni mikrokontroler, ki deluje na 80 MHz s čipom, namenjenim WiFi delovanju. Kar pomeni, da izvaja celoten niz TCP / IP ločeno od mikrokontrolerja, ki poganja vašo kodo.
ESP moduli vsebujejo poln mikrokontroler v svojem SoC ohišju. Osrednja Arduino knjižnica je bila prenesena na ESP12 in ESP32, kar pomeni, da v nekaterih primerih koda za Uno napisana za ESP12 prevede brez sprememb!
Slika prikazuje 4 različne ESP možnosti. Zgolj ESP8266, Adafruit’s Huzzah ESP8266, Adafruit Feather ESP32 in ESP8266 NodeMCU. Zgolj ESP8266 plošča je bila popularna zaradi cene. Huzzah ESP8266 doda nekaj teh delov in doda več I / O priključkov. Kljub temu pa še vedno potrebuje serijski USB-adapter. Feather plošča podjetja Adafruit dodaja serijski USB in LiPo polnilnik v ESP8266 ali ESP32. Delo z ESP je zelo enostavno. Morda boste opazili, da Feather plošča izgleda kot MKR. Čeprav sta vizualno podobni, sta žal različne velikosti in nimata skupnega razporeda priključkov.
Zadnja je NodeMCU, ki ima popolnoma drugačno obliko! NodeMCU vsebuje ugnezdeno programsko opremo, ki na ESP8266 izvaja skriptni interpreter Lua. Nadomestimo ga lahko z zagonskim Arduino bootloaderjem. Ko je zamenjan, lahko ploščo programirate z Arduino IDE.
Ko morate projektu dodati WiFi, so plošče, ki temeljijo na ESP, odlično izhodišče.
Kateri Arduino je najboljši?
Morda se še vedno sprašujete: katera od teh plošč je najboljša Arduino plošča? Kot lahko vidite, ima vsaka od teh različnih plošč nekaj prednosti za različne situacije. Vprašanje, »katera Arduino plošča je najboljša« ni popolno vprašanje. Vprašanje morate dopolniti z “… za mojo aplikacijo ali projekt.” Medtem ko ni mogoče zajeti vsake vrste in različice plošč, bi vam morali ti podatki dati dovolj konteksta za razmislek o plošči za vaš projekt.