Dvi nebrangios, mažos formos mikrovaldiklių plokštės kovoja.
Jaudinančiame mikrovaldiklių pasaulyje svarbiausias prioritetas yra rasti tinkamą pusiausvyrą tarp dydžio ir apdorojimo galios įterptosios elektronikos projektui. Ieškant šio atitikmens, Arduino Nano ir Raspberry Pi Pico yra du populiarūs pasirinkimai, kurie dažnai ateina į galvą.
Deja, konkretūs jūsų projekto poreikiai jums gali būti neaiškūs, kol neįsitrauksite į įgyvendinimo procesą. Peržiūrėkime kai kuriuos pagrindinius šių dviejų konkuruojančių plokščių skirtumus ir funkcijas, kad padėtumėte pasirinkti tinkamą mikrovaldiklį jūsų projektui.
Aparatinės įrangos palyginimas
Pirma, verta paminėti, kad „Arduino Nano“ ir „Pico“ asortimente yra įvairių variantų, o ne tik baziniuose modeliuose. Kai kurie yra bazinio modelio atnaujinimai, o kiti turi specialių funkcijų, tinkančių tam tikroms programoms. Tačiau tai turėtų likti: nėra „geriausios“ plokštės jūsų projektui per se, yra tik kompromisai.
Arduino nano
„Arduino Nano“, maitinama ATmega328, yra kompaktiška ir patogi lenta, kuri siūlo panašias funkcijas kaip „Arduino Duemilanove“, tačiau kitokios formos. Jame nėra nuolatinės srovės maitinimo lizdo ir naudojamas Mini-B USB kabelis, o ne standartinis.
Funkcija |
Specifikacija |
---|---|
Mikrovaldiklis |
ATmega328 |
Laikrodžio greitis |
16MHz |
SRAM |
2kB |
Flash atmintis |
32kB |
EEPROM |
1kB |
GPIO kaiščiai |
22 |
Analoginiai kontaktai |
8 |
PWM kaiščiai |
6 |
I/O kontaktų įtampa |
5V |
I/O kontakto srovė |
40 mA |
3,3 V kontakto srovė |
50mA |
Maitinimo įtampa |
7-12V |
Matmenys |
18x45 mm |
Raspberry Pi Pico
Nors Raspberry Pi Pico buvo pristatytas tik 2021 m., jis jau yra populiarus pasirinkimas pasaulyje MCU. „Pico“ centre yra RP2040 mikrovaldiklio lustas, pagrįstas dviejų branduolių „Arm Cortex-M0+“ procesorius.
Funkcija |
Specifikacija |
---|---|
Mikrovaldiklis |
RP2040 SoC su Arm Cortex-M0+ dviejų branduolių |
Laikrodžio greitis |
133 MHz |
RAM su lustu |
264 KB |
Mikroschemos „flash“ atmintis |
2 MB |
Išjungta „flash“ atmintis |
Iki 16 MB per specialią QSPI magistralę |
GPIO kaiščiai |
26 |
Analoginiai kanalai |
3 |
PWM kanalai |
16 |
I/O kontaktų įtampa |
3,3 V |
Temperatūros jutiklis |
Įskaitant |
Maitinimo įtampa |
5V |
Matmenys |
51,3 x 21 mm |
Kalbant apie aparatinės įrangos galimybes, „Raspberry Pi Pico“ aiškiai turi pranašumą prieš standartinį „Arduino“. Nano, su greitesniu procesoriumi, daugiau „flash“ atminties, daugiau GPIO kaiščių ir plačiu PWM valdymu signalus. Be to, „Pico“ esantis dviejų branduolių procesorius tinka kelių gijų programoms.
Tačiau Raspberry Pi Pico trūksta EEPROM, dažnai būtino mikrovaldikliais pagrįstiems projektams. Be to, negalėsite vykdyti projekto naudodami 9 V bateriją be įtampos reguliatoriaus.
IoT programos
Nors pagrindiniuose modeliuose trūksta belaidžio ryšio, Raspberry Pi Pico ir Arduino Nano serijos siūlo specialias plokštes su belaidžiu ryšiu, skirtą daiktų interneto programoms. Kai kurios populiarios „Nano“ serijos daiktų interneto plokštės apima Arduino Nano 33 IoT ir Arduino Nano RP2040 Connect (kuris naudoja tą patį SoC kaip Raspberry Pi Pico).
Raspberry Pi Pico IoT plokščių atveju galite pasirinkti Pico W ir Pico WH. Abu turi „Wi-Fi“ ir „Bluetooth“ ryšį, tačiau „Pico WH“ yra su jau pritvirtintomis smeigtukų antraštėmis, todėl jums nereikia jų lituoti ant plokštės.
Ryšio kanalai
Tiek Raspberry Pi Pico, tiek Arduino Nano siūlo kelis ryšio kanalus, skirtus susieti su kitais įrenginiais. „Raspberry Pi Pico“ turi 2 UART (universalų asinchroninį imtuvą / siųstuvą), du I2C (integruotus). Grandinė) ir dvi SPI (Serial Peripheral Interface) sąsajos, kurios suteikia galimybę bendrauti su kitais prietaisai.
Jei dar nežinote, kas tai yra, pažiūrėkite kaip veikia UART, SPI ir I2C nuoseklusis ryšys ir kodėl mes vis dar juos naudojame.
Standartinis Arduino Nano modelis turi tik vieną iš kiekvieno ryšio kanalo: UART, I2C ir SPI. Tačiau, nebent tai yra didelis projektas, jums nereikės visų „Pi Pico“ turimų ryšio kanalų vienu metu – tikriausiai net visai nereikės naudojant jo PIO funkciją (žr. toliau). Ir daugiau sąsajų nereiškia, kad tai automatiškai geriau, nes žinome, kad tam įtakos turi ir kiti veiksniai.
Apdorojimo galia
Raspberry Pi Pico ir Arduino Nano plokštėse naudojami mikrovaldiklio lustai turi savo stipriąsias ir silpnąsias puses. Ir čia jums reikės padaryti didžiausią kompromisą.
CPU
Daugumoje Arduino projektų CPU greičiausiai praleidžia 99,9% savo laiko miegodamas. Tai rodo, kad procesoriaus greitis nėra toks svarbus, kaip jūs įsivaizduojate, išskyrus specialius scenarijus, tokius kaip duomenų apdorojimas realiuoju laiku. Raspberry Pi Pico naudojamas RP2040 lustas yra 32 bitų dviejų branduolių procesorius, siūlantis didesnį apdorojimą galia ir našumas, palyginti su ATmega328P lustu, naudojamu Arduino Nano baziniame modelyje, kuris yra 8 bitų procesorius.
RP2040 lustas taip pat turi unikalią funkciją: PIO (programuojamo įvesties/išvesties) būsenos mašinas, kurios leidžia sparčiai lygiagrečiai perduoti duomenis ir pasirinktines periferines sąsajas. Dėl to jis tinkamas programoms, kurioms reikalingas duomenų apdorojimas realiuoju laiku, pvz., robotika ir automatizavimas.
RAM
Kaip ir procesoriaus atveju, dauguma mikrovaldiklių programų naudoja tik nedidelį kiekį RAM. Tačiau jei atliekate užduotis, kurioms reikia daugiau RAM, pvz., IoT projektus, turėtumėte pasirinkti plokštę su daugiau integruotos RAM – Raspberry Pi Pico.
Ekosistemų programavimas
„Raspberry Pi Pico“ ir „Arduino“ programavimo ekosistemos taip pat yra svarbūs veiksniai, į kuriuos reikia atsižvelgti renkantis vieną iš dviejų plokščių. Raspberry Pi Pico kaip pagrindines programavimo kalbas naudoja MicroPython ir C/C++.
„Arduino“ naudoja „Arduino IDE“ kaip pagrindinę programavimo aplinką, kuri yra pagrįsta C/C++. Arduino IDE yra žinomas dėl savo paprastumo ir lengvo naudojimo, su patogia sąsaja ir dideliu bibliotekų bei pavyzdžių rinkiniu. Ji taip pat turi didelę ir aktyvią vartotojų bendruomenę, teikiančią daug paramos ir išteklių pradedantiesiems ir patyrusiems kūrėjams.
C/C++ yra galinga ir universali kalba, suteikianti žemo lygio prieigą prie aparatinės įrangos, leidžianti naudoti sudėtingesnes ir našumui svarbias programas.
MicroPython yra Python pagrindu sukurta programavimo kalba, kuri siūlo paprastą ir intuityvų programavimo būdą lenta, todėl ji idealiai tinka, jei jau esate susipažinę su Python arba teikiate pirmenybę aukštesnio lygio kalbai. Jei vis dar teikiate pirmenybę „Arduino“ aplinkai, bet norite dirbti su „MicroPython“, mes tai aptarėme kas yra Arduino MicroPython IDE detaliai.
Kaina
Nekreipiant dėmesio į visas trečiųjų šalių gamintojų klonų plokštes, Raspberry Pi Pico yra daug pigesnis nei visi autentiški Arduino Nano modeliai, įskaitant kuriame veikia tas pats Raspberry Pi RP2040 procesorius. Pavyzdžiui, standartinis „Pico“ kainuoja tik 4 USD, palyginti su 25 USD už bazinį „Arduino“ modelį Nano.
Norėdami gauti papildomos funkcionalumo, turėtumėte pasinerti giliau į kišenę, kad ir kurią platformą pasirinktumėte.
Suderinamumas su kita aparatine įranga ir esamomis bibliotekomis
Tiek „Pico“, tiek „Arduino“ turi platų suderinamų aparatūros modulių ir skydų asortimentą, kuriuos galima išplėsti jų funkcionalumą ir leidžia lengvai integruoti su jutikliais, pavaromis, ekranais ir kt prietaisai.
„Arduino“ egzistuoja ilgą laiką ir turi didžiulę skydų kolekciją, kuri yra plačiai naudojama ir gerai dokumentuota. Arduino bendruomenė sukūrė daugybę kodų bibliotekų įvairioms funkcijoms, todėl lengva rasti iš anksto parašytą kodą įvairioms programoms. Be to, net ir trečiųjų šalių plokštės yra suderinamos su „Arduino“, todėl lengva pritaikyti savo projektą.
Ar Raspberry Pi Pico yra geresnis?
„Geresnės“ lentos sąvoka yra subjektyvi ir priklauso nuo individualių projekto reikalavimų bei kompromisų. Nors Raspberry Pi Pico pasižymi apdorojimo galia ir pažangiomis funkcijomis, tokiomis kaip PIO, didesnė Arduino bendruomenė ir programinės įrangos biblioteka yra puikus pasirinkimas daugeliui projektų.