STM32 i Arduino: poređenje karakteristika, prednosti i mane. IT portal Železnogorsk Vrste arduina

Sada ćemo pogledati tri platforme za razvoj ugrađenih aplikacija: Arduino Uno, RaspberryPi, uporediti ih i dati preporuke za odabir prave za vaš sljedeći projekat (slika 1). Generalno, sva tri se mogu preporučiti profesionalcima.

Ova tri modela nisu slučajno odabrana za poređenje: svi su zaista pristupačni, napravljeni su u kompaktnom obliku i mogu se koristiti za izradu raznih digitalnih uređaja. Prije nego što krenemo u poređenje, dajemo kratak opis svakog od njih.

Arduino Uno ploča se već neko vrijeme smatra osnovnom robom u zajednici ham radio (Slika 2). Sada su Arduino ploče dostupne u različitim oblicima, s različitim skupom perifernih uređaja. Većina njih je implementirana na 8-bitnom mikrokontroleru iz Atmela. A ne tako davno, Arduino Due ploča je najavljena na moćnom ARM mikrokontroleru sa Cortex-M3 jezgrom. Za našu recenziju odabrali smo Arduino Uno kao predstavnika Arduino platforme. Za njega je dostupno jednostavno razvojno okruženje i velika baza znanja i razvoja, što ukazuje na mogućnost kreiranja prilično funkcionalnih aplikacija.

Raspberry Pi je novost u igri - računar sa jednom pločom koji se prodaje kao jeftino rešenje za nove programere (slika 3). Uprkos skromnom izgledu i niskoj cijeni (oko 35 dolara), dobijate pravi kompjuter koji može postati osnova za mnoge projekte.

BeagleBone je možda najmanje poznata od tri platforme, ali kreatorima ugrađenih aplikacija vrijedi razmotriti njegove mogućnosti. Ovo je moćan Linux računar kompaktne veličine koji podržava Android i Ubuntu OS (slika 4).

Slika 4.

Poređenje tri razvojne platforme.

Sve tri ploče imaju određenu funkcionalnost i skup perifernih uređaja koji ih čine vrijednim za programere i dizajnere mikrokontrolerskih sistema. U nastavku smo pokušali da ih uporedimo prema nekim važnim parametrima (tabela 1). Vidite da su razlike između ploča koje svaku od njih čine idealnim za razvoj određene vrste aplikacija.

Tabela 1. Poređenje karakteristika Arduino Uno, BeagleBone, RaspberryPi ploča.

Platforma Arduino Uno Raspberry Pi BeagleBone
Model R3 Model B Rev A5
Približna cijena 29.95$ 35$ 89$
dimenzije 7,5 × 5,3 cm 8,5 × 5,4 cm 8,6 × 5,3 cm
Mikrokontroler ATmega328 ARM11 ARM Cortex-A8
Frekvencija takta 16 MHz 700 MHz 700 MHz
RAM 2 KB 256 MB 256 MB
Fleš memorija 32 KB sd kartica 4 GB (SD kartica)
EEPROM 1 KB - -
Napon napajanja 7 - 12 V 5 V 5 V
Minimum
Potrošnja energije
42 mA (0,3 W) 700 mA (3,5 W) 170 mA (0,85 W)
Digitalne linije
I/O
14 8 66
Analogni ulazi 6
(10-bitni ADC)
- 7
(12-bitni ADC)
PWM kanali 6 - 8
TWI/I2C sučelje 2 1 2
SPI interfejs 1 1 1
UART interfejs 1 1 5
Alati
razvoj
Arduino IDE IDLE, Scratch,
Squeak/Linux
Phyton, Scratch,
Squeak, Cloud9/Linux
Ethernet port - 10/100 10/100
USB Master Interface - 2 USB 2.0 USB 2.0
Video izlaz - HDMI, kompozitni -
Audio izlaz - HDMI, analogni analogni

Arduino i Raspberry Pi su jeftine ploče koje koštaju do 40 dolara. BeagleBone košta skoro tri Arduino Unosa. Međutim, Arduino je 40 puta sporiji i ima 128.000 puta manje RAM-a od preostala dva konkurenta. Već u ovoj fazi možete uočiti bitne razlike. Arduino i Raspberry Pi su jeftine ploče, dok su Raspberry Pi i BeagleBone mnogo moćnije.

Čini se da Raspberry Pi trenutno izgleda kao optimalno rješenje, ali to nije sasvim točno: da biste radili, morat ćete zasebno kupiti SD memorijsku karticu, a to je još 5 - 10 $ na cijenu same ploče . Takođe, uprkos istoj brzini, BeagleBone testovi su dvostruko brži od Raspberry Pi. I koliko god paradoksalno zvučalo, Arduino je optimalan izbor, barem za početnike. Glavni razlog za to je Linux operativni sistem koji pokreće Raspberry Pi i BeagleBone ploče. Ovaj "fensi" softver pretvara ploče u male kompjutere koji mogu pokrenuti više programa odjednom i mogu se programirati na raznim jezicima. Razvoj aplikacija na Arduinu je vrlo jednostavan zbog nedostatka multitaskinga i programiranja u jeziku niskog nivoa C++.

Napomenimo zanimljivu karakteristiku Raspberry Pi i BeagleBone: mogućnost pokretanja softverskih aplikacija sa memorijske kartice (SD kartica za Raspberry Pi, microSD za BeagleBone). To znači da na različitim memorijskim karticama možete imati različite OS konfiguracije, aplikacije, verzije i slike OS-a, a odabir određenog projekta je jednostavno pitanje promjene memorijske kartice. Na isti način možete promijeniti operativni sistem.

Odabir razvojne platforme

Za početnike preporučujemo Arduino. Danas Arduino zajednica uključuje mnogo korisnika, ogromnu količinu edukativnog materijala, gotovih rješenja i projekata koji se mogu koristiti u vašim aplikacijama. Uz to, Arduino nudi najlakši način za povezivanje s vanjskim perifernim uređajima.

Arduino platforma je prvobitno dizajnirana da omogući lako povezivanje različitih senzora i aktuatora na mikrokontroler bez dodatnih eksternih kola, tako da razvoj jednostavnih aplikacija i uređaja ne zahteva duboko poznavanje elektronike. Ako do sada niste koristili Arduino, vrijedi ga kupiti i isprobati. Ovo će biti zaista sjajno iskustvo, koje će biti od koristi prilikom kreiranja ozbiljnih i složenih projekata.

Za kompaktne uređaje preporučujemo Arduino platformu. Sva tri testirana modela razvojnih ploča su male veličine. Jedina negativna tačka je inherentna Raspberry Pi-u - SD memorijska kartica instalirana u utor čini ploču većom od ostalih učesnika u testu (slika 8).

Kao što smo gore napomenuli, postoji mnogo varijacija Arduino ploča (slika 5), ​​ali sve imaju dvije zajedničke stvari: koriste specifični Atmel mikrokontroler i Arduino bootloader koji implementira osnovne funkcije ploče. Za kompaktne uređaje (možda ne zahtijevaju PCB), možete kupiti ovaj jeftini mikrokontroler i programirati bootloader u njega koristeći bilo koji AVR programator mikrokontrolera.

Za razvoj aplikacija koje zahtijevaju internetsku vezu, preporučujemo BeagleBone ili Raspberry Pi. Oba uređaja pokreću Linux OS i imaju Ethernet i USB portove (slika 6). Putem USB-a možete povezati module bežičnog prijenosa podataka i na taj način implementirati funkcije bežičnog prijenosa podataka i internet konekcije (slika 7). Osim toga, Linux OS ima mnogo ugrađenih softverskih komponenti koje pružaju napredne mrežne funkcije.

Također je moguće implementirati aplikacije na Arduino platformi koje podržavaju Ethernet komunikaciju koristeći kartice za proširenje koje se nazivaju Shields, ali će mrežna funkcionalnost takvih aplikacija biti vrlo ograničena. Kupovina zasebnih kartica za proširenje također će zahtijevati dodatne finansijske troškove.

Za aplikacije i sisteme koji su u interakciji sa eksternim senzorima i aktuatorima, preporučujemo Arduino ili BeagleBoard. Bilo koja verzija Arduino hardverske platforme uključuje jednostavno povezivanje vanjskih senzora i interakciju s njima. Za radio amatere je dostupno nekoliko opcija ploče sa naponom napajanja od 3,3 V i 5 V, što pojednostavljuje povezivanje vanjskih perifernih uređaja. Napon napajanja BeagleBone ploče je 3,3 V, tako da je pri povezivanju nekih vrsta eksternih uređaja potrebno koristiti dodatne otpornike ili kola za usklađivanje logičkog nivoa. I Arduino i BeagleBone imaju interfejs analogno-digitalnog pretvarača (rezolucija ADC-a ugrađenog u mikrokontroler na BeagleBoard ploči je nešto veća), što ukazuje na mogućnost povezivanja različitih analognih senzora.

Uz to, važno je napomenuti da su mnogi moderni senzori opremljeni I 2 C ili SPI digitalnim interfejsima. Sve tri ploče podržavaju ovaj tip serijskog interfejsa i interakcija sa njim se može postići prilično lako.

Za uređaje na baterije preporučujemo Arduino. Ova odluka je zbog činjenice da Arduino ima najmanju potrošnju energije, ali u pogledu računske snage po vatu, BeagleBoard je očiti lider. Međutim, prednost Arduina je što radi u širokom rasponu napona napajanja. Dakle, različite vrste baterija se mogu koristiti kao izvor napajanja za ploču; funkcionalnost mikrokontrolera se održava čak i ako su baterije iscrpile svoj resurs.

Za GUI aplikacije preporučuje se Raspberry Pi. Jednopločni računar Raspberry Pi je zaista u svojoj kategoriji jer ploča ima HDMI izlaz (slika 8). To znači da na ploču možete povezati miš i tastaturu, a samu ploču direktno na TV. Tako dobijate potpuno funkcionalan računar koji je idealan za upotrebu u terminalima i kioscima na prodajnim mestima. Samo iz zabave, tokom testiranja, instalirali smo Arduino razvojne softverske alate na Raspberry Pi, napisali mali program i programirali Arduino ploču kroz Raspberry Pi interfejs.

Zaključak

Arduino je prilično funkcionalna i fleksibilna platforma za razvoj ugrađenih aplikacija sa ogromnim mogućnostima za interakciju s vanjskim svijetom. Savršen je za učenje mikrokontrolera i može poslužiti kao osnova za male projekte. Raspberry Pi će biti optimalan izbor za aplikacije koje zahtijevaju ekran, grafičko korisničko sučelje i internet vezu.

BeagleBone platforma savršeno kombinuje fleksibilnost Arduina, CPU performanse Rapberry Pi ploče i Linux OS (i zapravo radi bolje od Raspberry Pi). Imajući dovoljan broj ulaza/izlaza, BeagleBone omogućava jednostavnu mrežnu vezu i omogućava vam da implementirate web server.

Svi koji koriste Arduino mikrokontrolere su upoznati sa problemom uštede iz prve ruke. Međutim, kupovina kineskih ploča od nepoznatih proizvođača u nadi da će barem neke od njih raditi kako se reklamira nije najbolja strategija. Ali među mnogim beskorisnim komadima hardvera možete pronaći i dostojnu jeftinu zamjenu za arduino stm32, koji je već postao poznat u svojim krugovima.

Hajde da shvatimo da li ova ploča svojom popularnošću vredi i do 10 dolara i šta može dati korisniku u poređenju sa običnom Arduino PRO verzijom. Da bismo to učinili, analizirat ćemo oba mikrokontrolera i napraviti listu svih njihovih prednosti i nedostataka, tako da sami možete odgovoriti da li se isplati trošiti novac na arduino stm32 ide.

Uporedimo dvije ploče prema njihovim tehničkim parametrima:

Karakteristike STM32F103C8T6 Arduino Nano
Frekvencija kontrolera, MHz 72 16
Programska memorija, kByte 64 32
Snaga, V 3.3 5
RAM, kByte 20 2
USB 2.0 Da br
DMA Da br
CAN Da br
RTC Da br
UART 3 1
Firmware preko USB-a br Da
Cijena, $ 2.1 1.8

Kao što vidimo, Arduino je u mnogim aspektima inferioran u odnosu na STM32. U nastavku ćemo pokušati uporediti ploče sa različitih strana.

Prednosti i mane Arduino i STM32 mikrokontrolera

Počnimo s prednostima preranog favorita - samog Arduina. A glavna stvar je poznata svima koji su radili s ovim čipom i njegovom braćom - njegov vlastiti ekosistem. Odgovore na sva vaša pitanja možete pronaći na internetu, jer je baza znanja i broj korisnika mikrokontrolera, čak i u CIS segmentu, nevjerovatan. To znači da ne morate tražiti upute na engleskom, što se ne može reći za stm32f103c8t6 arduino. Veliki broj korisnika znači i širok spektar softverskih funkcionalnosti, od kojih samo dio osiguravaju sami proizvođači.

Baza obožavatelja stvara desetine biblioteka svakog dana, tako da možete oživjeti bilo koju svoju ideju. Neka rješenja sklopova s ​​mikrokontrolerom stm8s001j3 možda neće zadovoljiti početnike po ovom pitanju, ali Arduino pokušava zadovoljiti novog korisnika što je više moguće i ne stvara nikakve poteškoće.

Odavde dolaze pristupačni štitovi, jednostavnost upotrebe, kojom se stm mikrokontroleri ne mogu pohvaliti, i jednostavno programiranje za Atmel, bez potrebe za učenjem svih zamršenosti jezika u praksi. Pa, napredniji ljudi će cijeniti EEPROM koji dolazi iz kutije, čime se stm32 mikrokontroler ne može pohvaliti.

Međutim, kao i kod svega, postoje neki nedostaci:

  1. Nizak ulazni prag implicira veliki broj pogrešnih i neispravnih biblioteka koje rade gotovo na zadnjim nogama. Nakon što ste nekoliko puta naišli na takav softver i nekoliko dana ga otklanjali, odlučit ćete da je lakše napisati svoj.
  2. Sljedeća prednost stm32 Arduina ne pruža normalno otklanjanje grešaka, zbog čega traženje grešaka u istim krivim bibliotekama oduzima toliko vremena.
  3. Normalne performanse na Atmegi su mit, a u stvarnosti ćete morati da izbegnete i odustanete od mnogih karakteristika proizvoda kako bi on radio bez mucanja. Takođe nema pristojnih planera koji se mogu naći, a oni koji se mogu povezati jedu previše resursa. Zbog toga su craftovi bazirani na Arduinu poznati po svom krivom i zaostalom sučelju s dugim vremenom odziva, ako govorimo o nečem složenijem od elektronske brave ili dizajna napravljenog od mikrokontrolera i senzora pokreta.
  4. Mnogo krivih i iskreno beskorisnih proizvoda na ovim pločama, posebno kineskih, samo pogoršavaju imidž Arduina.
  5. Naravno, ne možete pronaći normalne knjige o stm32 mikrokontrolerima, ali Arduino ne pruža mnogo stručnih informacija, osim foruma na kojima korisnici sami otklanjaju greške.
  6. A okruženje za razvoj softvera samo po sebi zahtijeva nevjerovatne performanse, neuporedive ni sa čim na tržištu. Štaviše, gdje idu svi potrošeni resursi nije sasvim jasno. I shodno tome, krivac je užasna optimizacija.

Sa druge strane, korisnik se suočava sa arduino stm32f103 i arduino stm8 kontrolerom visokih performansi koji pojednostavljuje prelazak sa stm32 mikrokontrolera na Milander mikrokontroler i mnoge periferije pored toga.

Dizajniranje ploča je uvelike olakšano zahvaljujući slobodnom kretanju nogu, razvojno okruženje zaliha je prilično moćan alat, a otklanjanje grešaka je u početku dizajnirano da radi besprijekorno čak iu stranim okruženjima. Dobijate šarene grafikone i tačke, da ne spominjemo tekstualne informacije. Jednostavan prenos koda, mogućnost pokretanja pojedinačnih kontrolera na 41 Mbit i prisustvo USB portova skoro svuda. Sve to može lako privući naprednije programere, ali bi trebali biti svjesni i niza nedostataka:

  1. Visok ulazni prag; normalna upotreba zahteva dobru osnovu.
  2. Biblioteke su također prisutne, ali većina njih je zastarjela ili ih je svako napravio lično za sebe. Lakše je kreirati svoje. Ali ako se sjećate problema Arduina, onda je vjerovatno da već znate kako to učiniti.
  3. Donji prostori i općenito ružna semantika u usporedbi s jednostavnim funkcijama konkurenta.
  4. C99 je još daleko od C++-a i odmah ćete osjetiti sve poteškoće tranzicije. Međutim, mnogi tvrde da su nakon nekog vremena, naprotiv, zadovoljni ovom nijansom.
  5. Generalno, ploče su jeftine u poređenju sa Arduinom.

Mogućnost poboljšanja upotrebljivosti STM32 do Arduino nivoa

Međutim, nije sve tako loše kao što se čini. U početku se STM32 ploče mogu programirati u Arduino razvojnom okruženju, iako to nije najbolje rješenje. Treba imati na umu da na taj način smanjujete funkcionalnost, koristite puno štaka i pucate sebi u koleno.

Međutim, tokom tranzicije, ovo je prilično korisna nijansa koja vam omogućava da lakše savladate sve užitke. Semantika C99 vam možda neće biti po volji u prvim sedmicama, pa je bolje pronaći prevoditelja, jer Arduino okruženje potpuno uništava poentu kupovine drugog mikrokontrolera.

Otklanjanje grešaka u STM32 mikrokontroleru

Kao što je već spomenuto, otklanjanje grešaka u mikrokontroleru je vrijedno odvojenih tirada i oduševljenih odgovora. Odmah iz kutije dobijate uređaj koji se može slobodno otklanjati grešaka u bilo kom okruženju, varijable se prikazuju na konzoli, a praktični grafovi informacija vam omogućavaju da vizuelno otkrijete grešku. Ovo je posebno zgodno kada vam količina koda jednostavno ne dozvoljava da ga prođete korak po korak.

Nakon prelaska na STM32, vremenom ćete potpuno zaboraviti na izlaz podataka kroz konzolu, jer će na zamjenu ovih šablona doći mnogo razumnija i praktičnija rješenja.

U sljedećem materijalu pokazat ćemo vam korak po korak kako možete koristiti Arduino IDE za STM32 ploču.

Među svim raznovrsnim Arduino pločama, početniku je teško odabrati pravu. Pored zvaničnih ploča kao što su Arduino UNO, Nano, MEGA, postoje i Arduino kompatibilne ploče kao što su Digispark, Electronic Troops, Seeeduino, Freeduino, Robocraft i druge. Koja je njihova razlika i koju Arduino ploču odabrati? Saznajmo!

Kompatibilnost štitova i glavne razlike

Možda je ova karakteristika u rangu sa sljedećim: veličina memorije, frekvencija takta i tip korištenog mikrokontrolera. Arduino klonske ploče se mogu podijeliti u sličnosti sa osnovnim pločama Arduino UNO, MEGA i drugima. Najčešći je UNO; zapravo, većina klonova je povezana s njim. Kompatibilnost sa štitovima je osigurana lokacijom terminalnih blokova i rasporedom štampane ploče.

Veličina originalne UNO ploče je 6,9x5,3 cm, veličine ploča trećih proizvođača mogu se razlikovati, ali lokacija terminalnih blokova i udaljenost između konektora trebaju ostati isti. U ovom slučaju, ploča će biti kompatibilna sa standardnim štitovima bilo kojeg porijekla.

Ako govorimo u kontekstu "Arduina", najvjerovatnije se misli na ovu verziju. Možda nema razlike između originala i klona, ​​tj. kompletna kopija, a jedina razlika može biti boja premaza ploče i način firmvera. USB-serijski konvertor, na istom UNO-u, napravljen je na mikrokontroleru, dok je na originalnom NANO-u - na 232. čipu, a na kineskom - na CH340, postoje i UNO sa takvim pretvaračima, o tome kasnije.

S druge strane, razlike mogu uključivati ​​strujna kola, dodatne upravljačke čipove ugrađene u ploču, zaštitna kola, izolaciona kola, ekspandere portova na registrima pomaka itd.

Koncept Arduino kompatibilan znači da koristi odgovarajući programski jezik, ali nije nužno kompatibilan sa štitovima. Primjer takve ploče je Lillypad.

Ploča je kompatibilna sa Arduino jezikom, ali nije kompatibilna sa štitovima. Ako ih trebate povezati, morate ih povezati ručno na odgovarajuće pinove. Inače, ova ploča je namijenjena nosivim uređajima, kao opcija za pametnu odjeću. Ovu ploču proizvodi SparkFun.

Pregled ploča i savjeti za njihovu upotrebu

Veliki broj modifikacija i ploča trećih strana nisu plagijat ili lažni. To se dogodilo jer Arduino ima otvorenu politiku, koja vam omogućava da napravite modifikacije dizajna i sastavite komplete sa besplatnim konfiguracijama namijenjenim za specijalizirana područja:

    Robotika;

    Automatizacija;

    Za obuku itd.

Nazivi ploča obično sadrže prefiks "Duino", kao craftduino ili DCduino, a model ploče može imati isto ime, kao isti DCduino UNO, ako se dopuni, onda će postojati drugi prefiks ili potpuno druga riječ opisivanje dodatnih funkcija. Pored navedenog, treba obratiti pažnju na napon napajanja i logičke nivoe, oni mogu biti 3,3 i 5 V.

Za početak svakako morate uzeti uobičajenu ploču - Arduino UNO-like ili Nano, prva košta oko 5 dolara, druga je malo jeftinija - 3-5 dolara.

Ako naiđete na model koji se zove Duemilanove, to je potpuni analog UNO-a. Jedine razlike su u načinu komunikacije sa računarom, gore sam pomenuo da je na UNO organizovan na dodatnom mikrokontroleru - Atmega8u2, Duemilanove komunicira sa računarom preko FT232RL.

Pređimo na pregled ploča. Na slici ispod ovo su kompletni Arduino klonovi; u nastavku ćemo pogledati nadograđene ploče.

Odličan klon UNO-a, glavna razlika je prisustvo dodatnih kontakata konektora "GVS" (zemlja-napon-signal). Ovo nije baš konektor, već red kojim se žice postavljaju u konektor. Ovo je koliko je senzora i drugih perifernih uređaja povezano.

Ali u standardnom češlju, kontakti se nalaze drugačije, i sigurno nećete imati dovoljno kontakata za napajanje (Vcc i Gnd), morat ćete uvrnuti žice ili koristiti matičnu ploču bez lemljenja za povezivanje. Iteaduino programeri su to predvideli i rešili problem dupliranjem muških kontakata u ispravnom redosledu.

Ako niste pronašli takvu ploču, morat ćete kupiti štit, ali rad s njim nije tako zgodan, pogotovo za početnika je bolje kada ima manje dijelova.

Takve ploče omogućuju smanjenje veličine i težine konačnog proizvoda smanjenjem broja štitova.

Još jedna ploča nalik na uno sa mogućnošću povezivanja na mrežu putem kabla i instaliranja mikro SD kartice. Iako postoji Ethernet štit, ali opet, to će povećati volumen koji zauzima ploča u kućištu i težinu proizvoda. Ploča, ali nema USB sučelje.

Za firmware morate dodatno kupiti ovakav USB-UART konverter, na primjer, njegov češalj odgovara istom onom na Arduino Ethernet ploči.

Leonardo i Esplora

Arduino model je za one kojima je potrebno puno analognih ulaza za očitavanje analognih senzora, ovdje ih ima 12, naspram 6 na UNO ploči.

Ovo je postignuto upotrebom Atmega32u4, a ne Atmega328, pošto su na većini ploča one povezane na pinove, one na UNO-u su bile digitalne: 4, 6, 8, 9, 10, 12.

Ovo ožičenje vam omogućava da ih koristite kao i prije, što ih čini kompatibilnim s karticama za proširenje ili povezivanjem analognih izvora signala. Ovdje nema 6 PWM pinova, već 7.

Potreba za USB-UART pretvaračem je nestala; USB hardverska podrška je integrirana u Atmega32u4. Za rad može biti potreban dodatni PoE modul. Takve ploče su odlične za kreiranje kontrolera za PC, podržavaju USB HID, mogu služiti kao miš ili tastatura ili gamepad, sa odgovarajućim ožičenjem i dijelovima.

Leonardo je zanimljiv jer, sa istom veličinom i kompatibilnošću sa UNO, ima više funkcija u smislu rada sa PWM i analognim signalima.

Esplora je zasnovana na njemu - u suštini džojstik ploča kompatibilna sa Arudino kodom i mogućnošću programiranja i kreiranja jedinstvenog uređaja. Na slici ispod vidite takvu ploču sa dodatnim ekranom (nije uključena u komplet), podsjeća na prijenosnu konzolu.

MEGA i DUE

Ako planirate napraviti sistem automatizacije za cijelu kuću ili neki drugi veliki projekat, nećete imati dovoljno zaključaka. U pomoć će priskočiti Atmega2560 kontroler i Arduino ploča s istim imenom, ima 54 digitalna ulaza i izlaza i 16 analognih. Ovo je više od 2 puta više od onih koje smo pregledali iznad. Za njega se prodaju odgovarajući veliki štitovi.

UNO štitovi su uslovno kompatibilni. Samo trebate urediti lokaciju pinova u bibliotekama, jer je njihov broj drugačiji.

Ako vam treba još više funkcija, vrijedi promijeniti arhitekturu. Arduino DUE nije izgrađen na AVR8 porodici mikrokontrolera, već na ARM CORTEX-M3. Ovo je 32-bitni kontroler. 54 digitalna i 12 analognih kanala pomoći će vam u realizaciji velikog projekta. 4 UART interfejsa, SPI, Twin-Wire, JTAG. 512 kB flash, 96 SRAM, 32 bita - sve je to potrebno za brzo izvršavanje složenih programa.

Da vas podsjetim da atmega328 ima samo 32 kB flash memorije i 2 kB SRAM-a

PAŽNJA:

Napon napajanja i logičkog nivoa su 3,3 V, ako želite da ubijete DUE, dovedite 5 V na njega.

Najmanji arduino

Za one koji cijene mobilnost, postoji nekoliko službenih ploča i jedna vrlo zanimljiva Arduino kompatibilna. Pogodni su za one koji žele dizajnirati skriveni uređaj ili nosivi (prijenosni) uređaj. Pogledajmo ih detaljnije.

Trenutna verzija je Arduino Nano v3.0. Od malih je najzgodniji; za firmver se koristi Mini-b USB kabel, ali kineske kopije često koriste mikro-USB konektor, što je vrlo uobičajeno za povezivanje pametnog telefona s računalom ili njegovo punjenje.

Po broju i namjeni pinova, sličan je UNO-u, ali nije kompatibilan sa štitovima. Inače, postoje specijalizovani štitovi za nano (Kinezi rade sve što možete zamisliti). Kineske kopije najčešće koriste CH340G za komunikaciju sa računarom preko USB-a.Lično drajver se nije instalirao automatski na Windows 8.1, problem je riješen nakon 2 minute traženja imena čipa na Guglu, onda je sve prošlo kao clockwork.

Malo više od nano. Mikro i nano su odlični za postavljanje na matičnu ploču, gotovo uvijek čineći sklapanje kola i instalaciju praktičnijim. Inače, sve je slično prethodnom, jedina razlika je u izgledu ploče.

Arduino mini - ne radi preko USB-a

Najmanja ploča, slična po funkcionalnosti kao "unks" i "nanks", je "mini". Smiješno je da bi najmanja ploča, sudeći po nazivu, trebala biti veća od “nano”. Ispostavilo se obrnuto. Ušteda u veličini je postignuta eliminacijom USB komunikacionog čvora (rs232, ch340g i slično) i samog konektora. U tu svrhu postoje kontaktne ploče za povezivanje preko serijskog interfejsa.

Firmver se instalira pomoću USB-serijskih (usb-uart) adaptera. Ako ćete raditi sa mikrokontrolerima, vrijedi ga kupiti, može biti od koristi na mnogim mjestima.

Može se isporučiti ili sa zalemljenim kontaktnim jastučićima ili jednostavno uključen u komplet za samostalnu instalaciju.

Zanimljiv razvoj kompanije Digispark. Njegov faktor oblika podseća na fleš disk; ne treba vam kabl da ga flešujete; on se sam priključuje u USB port računara.

Na raspolaganju vam je samo 6 pinova (3 PWM i 4 analogna, I2C), 8 KB fleš memorije za programe, 512 bajtova ROM-a i RAM-a, 2 KB memorije, kao i obično, zauzima bootloader, dakle samo 6 KB su vam na raspolaganju.

Prilikom flešovanja, 2 digitalna pina (P3, P4) se koriste za USB, ali ih možete koristiti nakon flešovanja, kada ih isključite sa računara. Obratite pažnju na pinout - piše na poleđini ploče, na slici desno. Za rad s njim potrebno je konfigurirati IDE.

Još nekoliko karakteristika:

1. pin P5 je “RESET”, ako na njega primenite logičku nulu, ploča će se ponovo pokrenuti, aka A0, tj. prvi analogni ulaz, signal se može očitati u rasponima većim od 1,2 V, budući da se sve ispod percipira kao "nula" i dolazi do ponovnog pokretanja. Općenito upitan pin, ali ako razmislite o tome kako ga koristiti i da li izmjereni signal doseže nulu, onda sve nije tako loše.

2. Zaboravite na nadgledanje porta, ne postoji serijski kao takav, tako da nećete moći da otklonite greške na ploči sa računara. To se može izbjeći - ako potrošite više vremena na dizajn, ili koristite vanjske mjerne instrumente - ispitne lampe, multimetre, osciloskope.

Zaključak

Nadam se da vam je ovaj članak pomogao da odlučite o izboru ploče. Pokušao sam u maloj količini teksta razmotriti najširi mogući raspon Arduina; nema smisla detaljno ispitivati ​​svaku ploču, jer su gotovo iste, s izuzetkom raznih dodataka.

Plati Arduino Uno- centar velikog Arduino carstva, najpopularniji i najpovoljniji uređaj. Zasnovan je na ATmega čipu - u najnovijoj reviziji Arduino Uno R3 to je ATmega328 (iako još uvijek možete pronaći varijante UNO ploče sa ATmega168 na tržištu). Većina Arduino programera počinje s UNO pločom. U ovom članku ćemo pogledati glavne karakteristike, karakteristike i dizajn Arduino Uno ploče revizije R3, zahtjeve za napajanjem, mogućnosti za povezivanje vanjskih uređaja, razlike u odnosu na druge ploče (Mega, Nano).

Uno kontroler je najpogodnija opcija za početak rada s platformom: ima prikladnu veličinu (nije prevelik kao Mega i nije tako mali kao Nano), prilično je dostupan zbog masovne proizvodnje svih vrsta klonova , a postoji ogroman broj besplatnih napisanih lekcija i skica za to.

Arduino Uno specifikacije

Slike Arduino Uno ploča

Originalna ploča izgleda ovako:

Originalni i zvanični Arduino Uno

Brojne kineske varijante izgledaju ovako:


Ploča je Arduino Uno klon

Više primjera ploča:




Gdje kupiti Arduino Uno

Minimalne cijene za UNO ploče mogu se naći u kineskim elektronskim trgovinama. Ako imate nekoliko sedmica za čekanje, možete mnogo uštedjeti kupovinom jeftine (oko 200-300 rubalja) uz besplatnu dostavu. Štoviše, možete pronaći i najjednostavnije opcije i službene ili "gotovo originalne" ploče zasnovane na originalnom mikrokontroleru. Druga grupa proizvoda su neobične ploče sa ugrađenim WiFi (baziranim na ESP8266 ili ESP32), dodatnim konektorima za praktičnije povezivanje perifernih uređaja. Evo nekoliko opcija koje možete kupiti od provjerenih dobavljača na Aliexpressu:

Arduino UNO R3 (CH340G) MEGA328P. Tipičan predstavnik Arduino ploča na Aliexpressu s cijenom ispod 250 rubalja Visokokvalitetna Arduino UNO R3 ploča bazirana na CH340G. Set bez kabla sa minimalnom cijenom od oko 220 rubalja Arduino veleprodaja – 10 UNO R3 kontrolnih ploča sa MEGA328P ATMEGA16U2 na ploči
Zvanični Arduino UNO R3 MEGA328P baziran na ATMEGA16U2 – maksimalni kvalitet MegaPower Uno ploča bazirana na originalnom ATmega328 R3, FTDI FT232RL Originalni Arduino UNO R3 (ploča bazirana na originalnim MEGA i ATMEGA16U2 čipovima) sa USB kablom u kartonskoj kutiji
Dva u jednom! Arduino UNO sa ugrađenim senzorskim štitom (Atmega328P Atmega16U2 plus senzor I/O štit) Arduino Uno i WiFi pod jednim krovom: R3 ATmega328P+ESP8266 (32Mb memorije) Odlična opcija od KeyeStudio – UNO R3 MEGA328P ATMEGA16U2 sa kombinovanim senzorskim štitom

Razlika od ostalih ploča

Danas na tržištu možete pronaći mnogo opcija za Arduino ploče. Najpopularniji Uno konkurenti su Nano i Mega ploče. Prvi je pogodan za projekte u kojima je veličina važna. Drugi je za projekte gdje je kolo prilično složeno i potrebno je mnogo izlaza.

Razlike između Arduino Uno i Arduino Nano

Moderne Arduino Uno ploče i R3 verzije obično imaju zajednički mikrokontroler na ploči: ATmega328. Ključne razlike su veličina ploče i vrsta podloga. Dimenzije Arduino Uno: 6,8 cm x 5,3 cm Dimenzije Arduino Nano: 4,2 cm x 1,85 cm Arduino UNO koristi ženske konektore, Nano koristi "češalj" nogu, a kod nekih modela kontaktne pločice uopšte nisu zalemljene. Naravno, veća veličina UNO-a u odnosu na Nano je prednost u nekim slučajevima, au drugim mana. Sa velikom pločom mnogo je praktičnije instalirati, ali je nezgodno u stvarnim projektima, jer značajno povećava dimenzije konačnog uređaja.

Arduino Uno ploče tradicionalno koriste TYPE-B konektor (takođe se široko koristi za povezivanje štampača i MFP-a). U nekim slučajevima možete pronaći opciju s Micro USB konektorom. Na Arduino Nano pločama, Mini ili Micro USB je standard.

Naravno, postoje razlike u konektoru za napajanje. Uno ploča ima ugrađeni DC konektor, za nju jednostavno nije bilo mjesta u Nanou.

Pored hardvera, male su razlike i u procesu učitavanja skice u ploču. Prije preuzimanja, provjerite da li ste odabrali ispravnu ploču u meniju "Tools-Board".

Razlike od Arduino Mega

U potpunosti u skladu sa svojim imenom, to je daleko najveći Arduino kontroler po veličini i broju pinova. U poređenju sa njim, Uno ima mnogo manje pinova i memorije. Evo liste glavnih razlika:

  • Mega ploča koristi drugačiji mikrokontroler: ATMega 2560. Ali njena frekvencija takta je 16 MHz, ista kao u Uno.
  • Mega ploča ima veći broj digitalnih pinova - 54 umjesto 14 na Uno ploči. I analogni – 16/6.
  • Mega ploča ima više pinova koji podržavaju hardverske prekide: 6 naspram 2. Više serijskih portova - 4 naspram 1.
  • Što se tiče memorijskog kapaciteta, Uno je također značajno inferiorniji od Mege. Flash memorija 32/256, SRAM – 2/8, EEPROM – 4/1.

Na osnovu svega ovoga možemo zaključiti da je za velike složene projekte sa velikim programima i aktivnom upotrebom različitih komunikacionih portova bolje izabrati Mega. Ali ove ploče su skuplje od Uno-a i zauzimaju više prostora, tako da za male projekte koji ne koriste sve dodatne mogućnosti Mege, Uno će proći sasvim dobro - nećete dobiti značajno povećanje brzine kada pređete na “ veći” brat.

Kratki zaključci

Arduino Uno je odlična opcija ploče za kreiranje. 14 digitalnih i 6 analognih pinova vam omogućavaju povezivanje raznih senzora, LED dioda, motora i drugih vanjskih uređaja. USB konektor će vam pomoći da se povežete sa računarom bez dodatnih spoljnih uređaja. Ugrađeni stabilizator vam omogućava da koristite različite baterije sa širokim rasponom napona, od 6-7 do 12-14 V. Arduino Uno radi prilično povoljno s popularnim protokolima: UART, SPI, I2C. Postoji čak i ugrađena LED dioda koju možete bljeskati u svojoj prvoj skici. Šta više može poželjeti početnik Arduino korisnik?

Originalni Arduino je dizajniran za jedan specifičan zadatak, i taj zadatak je odradio do savršenstva. Uz uspjeh prve originalne Arduino ploče, kompanija je odlučila kreirati više projekata, od kojih su neki za vrlo specifične aplikacije. Osim toga, budući da je originalni Arduino dizajn bio otvoreno licenciran, nekoliko kompanija i pojedinaca razvilo je vlastite Arduino kompatibilne ploče za proširenje, ili su slijedeći principe otvorenog koda predložili vlastite modifikacije Arduina. Arduino je započeo program sertifikacije kako bi osigurao kompatibilnost sa pločama koje koriste različite procesore, a Intel Galileo je bio prvi koji je dobio takav certifikat. Svako može napraviti svoj vlastiti uređaj kompatibilan s Arduinom, ali Arduino ime i logo su rezervirani kao zaštitni znak. Stoga ćete pronaći mnoge ploče s nazivima koji završavaju na "uino", što implicira kompatibilnost.

Arduino je dizajn ploče napravio otvorenim kodom, ali još uvijek sami proizvode ploče. Ove ploče su poznate kao službene ploče. Druge kompanije takođe proizvode Arduino kompatibilne ploče.

Arduino Uno


je standardna Arduino ploča i možda najčešća. Zasnovan je na Atmel ATmega328 čipu, koji ima 32 KB fleš memorije, 2 KB SRAM-a i 1 KB EEPROM memorije na ploči. Na periferiji ima 14 diskretnih (digitalnih) ulazno/izlaznih kanala i 6 analognih ulazno/izlaznih kanala; ovo su vrlo svestrani i korisni uređaji koji vam omogućavaju da pokrijete većinu amaterskih zadataka u oblasti tehnologije mikrokontrolera. ATmega16u2 čip na ploči kontroliše serijsku komunikaciju. Ova upravljačka ploča je jedna od najjeftinijih i najčešće korištenih. Prilikom planiranja novog projekta, ako niste upoznati sa Arduino platformom, preporučujem da počnete s Unoom.

Arduino Leonardo

Platforma malo drugačiji od Unoa. Baziran na ATmega32u4, ovaj mikrokontroler ima napredne USB mogućnosti i stoga ne zahtijeva poseban mikročip za USB serijsku komunikaciju kao što je Uno. To znači manje troškove; Manje čipova je jeftinije rješenje. To također znači da programer može koristiti mikrokontroler kao izvorni USB uređaj, povećavajući fleksibilnost pri komunikaciji sa računarom. Leonardo može efikasno emulirati tastaturu i miša preko USB HID-a.

Arduino Ethernet

ATmega 328 bazirana Arduino Ethernet platforma preuzeta od Uno-a , može se povezati na mrežu ethernet , funkcionalnost potrebna u mnogim projektima. Fizički, platforma Arduino Ethernet ima iste 14-cifrene ulaze/izlaze kao Arduino Uno, s tim da se 4 koriste za upravljanje modulom ethernet i ugrađeni mikročitač SD kartice, ograničavajući broj dostupnih pinova.

Zanimljivo je to primijetiti Arduino Ethernet ima dodatni modul POE (Napajanje preko Etherneta ). Ova opcija dozvoljava Arduino Ethernet napaja se direktno iz mreže ethernet , bez potrebe za eksternim izvorom napajanja, pod uslovom da napajanje POE spojen na drugom kraju kabla Ethernet Bez POE Arduina mora se napajati pomoću eksternog napajanja.

Još jedna razlika od ostalih ploča Arduino - ovo je nedostatak konektora USB . Zato što konektor zauzima dosta prostora ethernet , ali uređaj podržava komunikaciju putem običnih pinova.



Arduino Mega 2560


Samo je malo duži od Arduino Uno, ali ima znatno više I/O kanala. Ima ukupno 54 digitalne I/O linije i 16 analognih ulaza. Takođe ima veliku količinu fleš memorije: 256 KB, što vam omogućava da pohranite veće programe od Uno. Takođe ima značajne SRAM i EEPROM: 8 KB i 4 KB, respektivno. Takođe ima 4 hardverska UART porta, što ga čini idealnom platformom za paralelnu komunikaciju sa više uređaja.

Arduino Mega ploče se koriste tamo gdje je potreban veliki broj ulaza i izlaza.



Arduino Mini

Arduino Mini je mali uređaj koji se koristi u projektima koji zahtijevaju maksimalnu uštedu prostora. Sadrži 14 digitalnih ulaza/izlaza i 4 analogna ulazna pina. (Još četiri su dostupna, ali nisu puštena u prodaju.) Uređaj je toliko minijaturan da nema ni USB konektor, ni regulator napajanja, pa čak ni češalj za povezivanje perifernih uređaja. Programiranje se vrši pomoću eksternog USB-a ili RS232 preko TTL serijskog adaptera.



Arduino Micro


u potpunosti odgovara svom nazivu; Ovo je jedna od najmanjih ploča iz Arduino linije. Uprkos svojoj maloj veličini, i dalje ima veliki broj ulaznih i izlaznih pinova; ima 20 digitalnih I/O kanala, od kojih se 7 može koristiti kao PWM izlazi. Takođe ima 12 analognih ulaza. Mikro nije dizajniran za produžetak sa povezanim štitovima, ali ima takav raspored češljastih iglica da ga je zgodno postaviti direktno na matičnu ploču.



Arduino Due

Arduino Due kontroler se razlikuje od svih Arduina po tome što nije baziran na AVR-u, već na Atmel SAM3X8E čipu sa ARM Cortex-M3 arhitekturom. Ovaj napredni mikrokontroler radi na 84 MHz i potpuno je 32-bitni uređaj. Ima veliki broj diskretnih i analognih ulaza/izlaza: 54 digitalna kanala (od kojih 12 može da se koristi kao PWM) i 12 analognih inputs. Ploča ima 4 UART-a, SPI port, Twin-Wire interfejs, a uključuje i JTAG port.

Arduino Due ima veće zahtjeve za napajanjem i napaja se na 3,3 V. Pazite da ne primijenite 5 V na bilo koji od zaključci: u suprotnom možete spaliti ploču. Kada birate ekspanzioni štit za Due, vodite računa da podržava napajanje od 3,3 V.

Arduino Due je nevjerovatno moćan Arduino. Due ima 512 KB fleš memorije i ukupno 96 KB SRAM-a. Može da obrađuje najveće programe velikom brzinom. Ako su vam potrebni moćni računarski procesi, onda je ovaj Arduino za vas.

LilyPad Arduino

LilyPad Arduino je prilično zanimljiv uređaj. Ispada iz uobičajenih stereotipa o običnom Arduinu, jer ima okrugli, a ne pravokutni oblik. Drugo, ne podržava mehaničke veze sa štitovima. Namijenjen je za male samostalne uređaje. Okrugli oblik diktira da su konektori ravnomjerno raspoređeni po obimu, a njegova mala veličina (2 inča u promjeru) čini ga idealnim za prijenosne uređaje. Ovaj uređaj je lako sakriti, a nekoliko proizvođača je razvilo uređaje posebno za LilyPad: ekrane, svjetlosne senzore, čak i kutije za baterije koje se mogu ušiti u tkaninu. Da bi LilyPad bio što manji i lakši, podnesena su određena žrtvovanja. LilyPad nema regulator napona na ploči, tako da će morati da obezbedi najmanje 2,7 volti i ne više od 5,5 volti za napajanje; u suprotnom, to će biti zich.

Arduino Pro

Arduino Pro kontroler je najavljen u dvije verzije, bazirane na ATmega168 i ATmega328. Verzija 168 radi na 3,3 V sa taktom od 8 MHz, iverzija 328 radi na 5 V i 16 MHz. Obje verzije imaju 14 digitalnih ulaza/izlaza i 6 analognih ulaza. Kontroler ima JST konektor za napajanje baterije, prekidač za biranje između načina napajanja i prostor dodijeljen za modul napajanja ako je potrebno. Ploča nema USB port, već koristi FTDI kabl zaprogramiranje.

Arduino Pro se razlikuje od većine drugih Arduina po tome što jeste zasebna nezavisna razvojna ploča, može se koristiti i za proširenje funkcionalnosti drugih kontrolera kao štit. Proizvodi se bez priključaka i uobičajenih češljeva. Svi digitalni i analogni ulazi i izlazi nalaze se duž ivica ploče, održavajući standardni Arduino raspored rupa, spremni za lemljenje češljeva ili žica po potrebi. Umjesto da se koristi za izradu prototipa novih projekata, Arduino Pro je više usmjeren na finalnu montažu u gotove proizvode. Arduino Pro nije razvio sam Arduino, već ga je razvio i lansirao SparkFun Electronics.

Arduino Robot

Arduino Robot je, jednostavno rečeno, Arduino na točkovima. Sastoji se od dvije upravljačke ploče - jedna kontrolira motore na brodu, a druga obrađuje signale senzora. Upravljački kontroler daje upute upravljačkoj ploči motora što da radi.

Kontrolnu ploču kontroliše ATmega32u4 čip, sa 32KB flash, 2.5KB SRAM i 1 KB EEPROM memorije. Takođe ima eksterni I2C EEPROM uređaj, koji pruža više prostora za skladištenje. Na brodu se nalazi kompas, zvučnik, tri LED diode, tastatura sa pet tastera i LCD ekran. Takođe ima tri pina za lemljenje za eksterne I2C uređaje. Takođe ima odvojene I/O kanale, sa pet digitalnih I/O, šest PWM i četiri analogna ulaza. Ostavljen je prostor za osam analognih ulaza (za senzore udaljenosti,ultrazvučni senzori ili drugi) i šest diskretnih ulaza/izlaza za druge uređaje (od kojih se četiri mogu koristiti za analogni ulaz).

Motorna ploča je potpuno nezavisna, bazirana na ATmega32u4, odnosno na istom čipu kao i kontrolna ploča. Ploča motora sadrži dva motora sa točkovima, koji se napajaju odvojeno, pet IR senzora, I2C i SPI portove. Sadrži i bateriju u koju su umetnute četiri AA baterije, a sadrži i utičnicu za punjenje baterija na brodu. Ploča se također može napajati iz USB konektora, ali u ovoj konfiguraciji, iz nekih sigurnosnih razloga, motori su onemogućeni.

Arduino Esplora

Arduino Esplora je prilično čudan uređaj. Većina Arduino ploča je dizajnirana da stoji na stolu ili panelu, ali Esplora je dizajnirana da se drži rukom. Zasnovan na ATmega32u4, nije geometrijski kompatibilan sa štitovima i nema ugrađene kontakte za ulaze i izlaze. Umjesto toga, izgleda i osjeća se kao gamepad u vašim rukama; ima pokazivač palca u obliku četiri diskretna dugmeta, jedan analogni džojstik, kao i linearni potenciometar. Zujalica i trobojna LED dioda su dati kao povratna informacija. Esplora također ima sljedeće senzore: ima ugrađeni mikrofon, senzor temperature, LCD konektor i troosni akcelerometar. Esplora ima 32 KB fleš memorije; Bootloader koristi 4 KB. Tu je i 2,5 KB SRAM-a i 1 KB EEPROM memorije. Za kompatibilnost Esplore sa drugim kontrolerima, postoje 4 TinkerKit konektora: sa dva ulaza i dva izlaza.

Arduino Yun platforma je bazirana na ATmega32u4 čipu, ali ima i Atheros AR9331 na istoj ploči. Atheros procesor ima potpunu distribuciju Linuxa zasnovanu na OpenWRT-u, operativnom sistemu uobičajenom u Linux bežičnim ruterima. Arduino Yun ploča ima ugrađen Ethernet i WiFi, kao i micro-SD slot. Yun se razlikuje od ostalih Arduina i štitova po tome što ima ozbiljnu mrežnu funkcionalnost; Arduino može slati komande OpenWRT-u i nastaviti s obradom svoje skice. Oba procesora rade nezavisno; postojeća komunikaciona biblioteka olakšava komunikaciju između dva procesora.

Arduino Tre

Arduino Tre tek treba da krene u proizvodnju, ali obećava da će postati fenomenalno čudovište na polju amaterskih kontrolera. Do ove tačke, najbrži Arduino je bio Due, ARM kompatibilan mikrokontroler. Tre, koji su kreirali Arduino i BeagleBoard, kombinuje snagu punog računara sa I/O fleksibilnošću Arduino platformi. Tre će imati Cortex-A8 procesor pod nazivom Sitara AM335X koji radi na 1GHz. Ovaj procesor ima pristup 512 MB RAM-a i ima HDMI port koji može prikazati Full HD (1920 x 1080). Sva ova snaga je povezana sa interfejsom za razvojne programere koji pokreće Atmel ATmega32u4 koristeći omiljeno Arduino okruženje za programiranje.

Arduino Zero

Arduino Zero je novi Arduino baziran na Atmel SAM D21 mikrokontrolerskom čipu. Ima 256 KB fleš memorije, 32 KB RAM-a i radi na 48 MHz. Arduino Zero je dizajniran da zadovolji buduće potrebe razvojne zajednice nudeći dizajn koji je i moćan, pouzdan i dovoljno fleksibilan da se koristi u robotici i ručnim projektima.