Как да изберем и къде да купя Arduino. Мини-преглед на Arduino-съвместими платки с различни архитектури Сравнение на Arduino

Сега ще разгледаме три платформи за разработване на вградени приложения: Arduino Uno, RaspberryPi, ще ги сравним и ще дадем препоръки как да изберете правилната за следващия си проект (Фигура 1). Като цяло, за професионалисти и трите могат да се препоръчат.

Тези три модела бяха избрани за сравнение не случайно: всички те са наистина достъпни, направени в компактен форм-фактор и могат да се използват за създаване на различни цифрови устройства. Преди да пристъпим към сравнението, ще представим кратко описание на всеки от тях.

Arduino Uno се счита за основен продукт в общността на шунката от известно време (Фигура 2). Сега платките Arduino се предлагат в различни форм фактори, с различен набор от периферни устройства. Повечето от тях са направени на 8-битов микроконтролер Atmel. И не толкова отдавна беше обявена платката Arduino Due на мощен микроконтролер ARM с ядро ​​Cortex-M3. За нашия преглед Arduino Uno беше избран като представител на платформата Arduino. За нея са налични проста среда за разработка и голяма база от знания и разработки, което показва възможността за създаване на достатъчно функционални приложения.

Платката Raspberry Pi е нова за играта – това е единичен компютър, предлаган на пазара като евтино решение за начинаещи вградени разработчици (Фигура 3). Въпреки скромния външен вид и ниската цена (около $35), получавате истински компютър, който може да стане основа за много проекти.

BeagleBone е може би най-малко известната от трите платформи, но неговите възможности заслужават вниманието на създателите на вградени приложения. Това е мощен Linux компютър в компактен размер, който поддържа Android и Ubuntu (Фигура 4).

Фигура 4

Сравнение на три платформи за разработка.

И трите платки имат определени характеристики и набор от периферни устройства, които ги правят ценни за разработчиците и дизайнерите на микроконтролерни системи. По-долу се опитахме да ги сравним по някои важни параметри (Таблица 1). Можете да видите, че разликите между платките правят всяка една от тях идеална за разработване на определен тип приложение.

Маса 1.Сравнение на характеристиките на платките Arduino Uno, BeagleBone, RaspberryPi.

Платформа Arduino Uno Raspberry Pi гонче кост
Модел R3 Модел Б Rev A5
Прогнозна цена 29.95$ 35$ 89$
размери 7,5×5,3 см 8,5×5,4 см 8,6×5,3 см
микроконтролер ATmega328 ARM11 ARM Cortex-A8
Тактова честота 16 MHz 700 MHz 700 MHz
RAM 2 KB 256 MB 256 MB
Флаш памет 32 KB SD карта 4 GB (SD карта)
EEPROM 1 KB - -
Захранващо напрежение 7 - 12 V 5 V 5 V
Минимум
Консумация на енергия
42 mA (0,3 W) 700 mA (3,5 W) 170 mA (0,85 W)
Цифрови линии
I/O
14 8 66
Аналогови входове 6
(10-битов АЦП)
- 7
(12-битов ADC)
PWM канали 6 - 8
TWI/I2C интерфейс 2 1 2
SPI интерфейс 1 1 1
UART интерфейс 1 1 5
Инструменти
развитие
Arduino IDE НЕПРЕЗЕН ход, Scratch,
Скърцане/Linux
Phyton, Scratch,
Скърцане, Cloud9/Linux
Ethernet порт - 10/100 10/100
USB главен интерфейс - 2 USB2.0 USB 2.0
Видео изход - HDMI, композитен -
Аудио изход - HDMI, аналогов аналогов

Arduino и Raspberry Pi са евтини дъски под $40. BeagleBone е на цена от почти три Arduino Unos. Въпреки това, Arduino е 40 пъти по-бавен и има 128 000 пъти по-малко RAM от другите две. Още на този етап можете да видите важни разлики. Arduino и Raspberry Pi са евтини дъски, докато Raspberry Pi и BeagleBone са много по-мощни.

Изглежда, че Raspberry Pi изглежда като оптималното решение в момента, но това не е съвсем вярно: за работа ще трябва да закупите отделно SD карта с памет, което е още 5 - 10 долара към цената на самата платка. Освен това, въпреки същата тактова честота, BeagleBone работи два пъти по-бързо от Raspberry Pi. И колкото и парадоксално да звучи, Arduino е най-добрият избор, поне за начинаещи. Основната причина за това е операционната система Linux, която работи с платките Raspberry Pi и BeagleBone. Този „ефектен“ софтуер превръща платките в малки компютри, които могат да изпълняват множество програми едновременно и могат да бъдат програмирани на различни езици. Разработването на приложения на Arduino е много лесно поради липсата на многозадачност и програмиране на езика C++ от ниско ниво.

Обърнете внимание на интересна характеристика на Raspberry Pi и BeagleBone: възможността за стартиране на софтуерни приложения от карта с памет (SD карта за Raspberry Pi, microSD за BeagleBone). Това означава, че можете да имате различни конфигурации на ОС, приложения, компилации и образи на ОС на различни памети, а изборът на един или друг проект става просто чрез подмяна на картата с памет. По същия начин можете да промените операционната система.

Избор на платформа за развитие

За начинаещи препоръчваме Arduino.Към днешна дата общността на Arduino е много потребители, огромно количество образователни материали, готови решения и проекти, които можете да използвате във вашите приложения. В допълнение, Arduino предлага най-лесния начин за взаимодействие с външни периферни устройства.

Платформата Arduino първоначално е проектирана да осигури прост начин за свързване на различни сензори и задвижващи механизми към микроконтролера без допълнителни външни вериги, така че не се нуждаете от дълбоки познания в електрониката, за да разработите прости приложения и устройства. Ако не сте използвали Arduino преди, струва си да си вземете такъв и да го опитате. Това ще бъде наистина страхотно изживяване, което ще ви бъде от полза при създаване на сериозни и сложни проекти.

За компактни устройства препоръчваме платформата Arduino.И трите тествани модела платки за разработка са малки по размер. Единствената отрицателна точка е присъща на Raspberry Pi - SD картата с памет, инсталирана в слота, прави платката по-голяма от останалите участници в теста (Фигура 8).

Както отбелязахме по-горе, има много вариации на платките Arduino (Фигура 5), но всички те имат две общи неща: използват специфичен микроконтролер Atmel и Arduino bootloader, който изпълнява основните функции на платката. За компактни устройства (може би не изискващи печатна платка) можете да закупите този евтин микроконтролер и да програмирате буутлоудъра в него, като използвате всеки AVR програматор за микроконтролер.

За разработване на приложения, които изискват интернет връзка, препоръчваме BeagleBone или Raspberry Pi.И двете устройства работят с Linux и имат Ethernet и USB портове (Фигура 6). С помощта на USB можете да свържете модули за безжично предаване на данни и по този начин да реализирате функциите на безжичното предаване на данни и интернет връзката (Фигура 7). В допълнение, операционната система Linux има много вградени софтуерни компоненти, които предоставят разширени мрежови функции.

Възможно е също така да се внедрят приложения, поддържащи Ethernet, на платформата Arduino, като се използват платки за разширение, наречени Shields, но мрежовата функционалност на такива приложения ще бъде много ограничена. Закупуването на отделни карти за разширение също ще изисква допълнителни финансови разходи.

За приложения и системи, които взаимодействат с външни сензори и задвижващи механизми, препоръчваме Arduino или BeagleBoard. Всяка версия на хардуерната платформа Arduino предполага просто свързване на външни сензори и взаимодействие с тях. За радиолюбителите се предлагат няколко опции за платки със захранващо напрежение 3,3 V и 5 V, което опростява свързването на външни периферни устройства. Платката BeagleBone се захранва от 3.3V, така че ако свържете някои видове външни устройства, трябва да използвате допълнителни резистори или вериги за съвпадение на логическо ниво. И Arduino, и BeagleBone имат интерфейс за аналогово-цифров преобразувател (разделителната способност на ADC, вграден в микроконтролера на платката BeagleBoard, е малко по-висока), което показва възможността за свързване на различни аналогови сензори.

С това казано, важно е да се отбележи, че много съвременни сензори са оборудвани с цифрови I 2 C или SPI интерфейси. И трите платки поддържат този тип сериен интерфейс и е доста лесно да се реализира взаимодействие с него.

За устройства, захранвани от батерии, препоръчваме Arduino.Това решение се дължи на факта, че Arduino има най-ниска консумация на енергия, но по отношение на съотношението на изчислителната мощност на ват, BeagleBoard е безспорният лидер. Въпреки това, предимството на Arduino е, че работи в широк диапазон от захранващи напрежения. По този начин различни видове батерии могат да се използват като източник на захранване за платката, микроконтролерът остава работещ дори когато батериите са изразходвали ресурса си.

За GUI приложения се препоръчва Raspberry Pi.Едноплатковият компютър Raspberry Pi наистина попада в отделна категория, тъй като платката има HDMI изход (Фигура 8). Това означава, че можете да свържете мишка и клавиатура към дъската и да свържете платката директно към вашия телевизор. Така получавате напълно функционален компютър, който е идеален за използване в POS терминали и павилиони. За забавление по време на тестването инсталирахме софтуерните инструменти за разработка на Arduino на Raspberry Pi, написахме малка програма и програмирахме платката Arduino през интерфейса Raspberry Pi.

Заключение

Arduino е доста функционална и гъвкава платформа за разработване на вградени приложения с големи възможности за взаимодействие с външния свят. Той е чудесен за изучаване на микроконтролери и може да служи като основа за малки проекти. Raspberry Pi е най-добрият избор за приложения, които изискват дисплей, графичен потребителски интерфейс и интернет връзка.

Платформата BeagleBone съчетава перфектно гъвкавостта на Arduino, производителността на процесора на платката Rapberry Pi и операционната система Linux (и всъщност производителността е по-висока от тази на Raspberry Pi). С достатъчно I/O, BeagleBone осигурява лесна мрежова свързаност и ви позволява да внедрите уеб сървър.

Arduino е най-популярната платформа за хоби и образователна роботика. Коя платка или комплект Arduino трябва да купи начинаещ? Как да купя Arduino евтино? Как се различават аналозите на Arduino от оригиналната платка? Отговорите са в нашия преглед.

arduino или каквото и да е-duino

Чрез откритост Arduino, структурата му е известна и позволява безплатна модификация. Следователно всеки производител на платки може да произвежда аналогова платка Arduino, направете промени в самата платка, да не говорим за безплатната конфигурация на комплекти.


Тъй като Arduino е марка на производителя, аналозите имат други имена, но обикновено са съгласни с Arduino - Freduino, Freeduino, DCcduino, Xdruino, Funduino, robotaleи много други. Освен това марката може изобщо да не е посочена, но ще има надпис като за Arduino. Оригиналните Arduinos са произведени в Италия, повечето аналози са произведени в Китай. Има и руски разработки.

Визуално повечето от тези платки изглеждат еднакво (Arduino има фирмено лого) и дори имат същия син цвят (има изключения, но не много, Funduino, например, е червен). Също така, аналоговите платки на Arduino обикновено имат същите префикси като самия Arduino в името си, например DCcduino UNO съответства на Arduino UNO (какво е UNO - по-долу).

Неназован аналог на Arduino UNO

Аналозите обикновено не са по-ниски по качество, но имат голяма полза от цената (повече за това по-долу).

Всички инструкции, всички методически разработки, уроци и т.н., фокусирани върху Arduino, са напълно подходящи за аналози. Ето защо, ако изображението не е нищо за вас, тогава не се колебайте да вземете други дуини!

Стартов комплект Arduino

Производителят препоръчва да започнете да изучавате Arduino с комплект Стартов комплект Arduino. Този комплект съдържа платката и други електронни компоненти, необходими, за да започнете с Arduino: светодиоди, резистори, серво, мотор, бутон, LCD, пиезо, сензори и др.

За да закупите Arduino Starter Kit от официален производител, ще трябва да платите около 80 евро.

Аналозите значително печелят в цената с подобна конфигурация. Най-ниските цени за тях в китайските онлайн магазини. Сравнявайки цените за комплекти, разбира се, трябва да вземете предвид техния състав. Така, Стартов комплект за Arduino с платка DCcduinoна уебсайта на AliExpress струва малко по-малко от 34 долара - оборудването е подобно на оригинала. Малко по-малко оборудване Стартов комплект за Arduino с платка Robotaleна уебсайта DealExtreme струва $28. Доставката до Русия е безплатна и на двата сайта.

Почти всеки от тези комплекти съдържа необходимия минимум за начинаещи и е подходящ за овладяване на нашия (малките комплекти често нямат фоторезистор).

Стартов комплект за Arduino

Аз самият имам интересна история. Поръчах такъв комплект от DX - както се вижда на снимката има неоригинално Arduino, но дойде изцяло италианско Arduino! Дребно, но хубаво.

Закупуване на готов робот Arduino като начало на ученето

Вече говорихме за закупуване на готови роботи като начин да се запознаете за първи път с Arduino. На пазара има много такива базирани на Arduino комплекти. За по-малките деца този начин на запознаване с Arduino е за предпочитане, тъй като това е готова играчка, с която можете да играете и след това да разглобявате и използвате Arduino дъската и други компоненти в обучението.

Разбира се, готовият робот може да не съдържа всички необходими части, но всичко липсващо може да бъде закупено отделно. Прости DIY компоненти като светодиоди и резистори могат да бъдат закупени във всеки магазин за радиочасти.

На снимката популярният робот Arduino е , който струва по-малко от $100.

Кола, контролирана от Blutooth

Избор на модификация на Arduino за начинаещ

Официалният сайт на производителя на Arduino представя 20 модификации на платката Arduino. Сред тях са Arduino Uno, Arduino Due, Arduino Leonardo и др.

Arduino UNO и аналози

Това е най-популярният, обикновено включен в комплектите, описани по-горе, и може би може да се нарече стандартна платка Arduino. Това е една от най-евтините Arduino платки.

На официалния сайт на Arduino UNO може да се закупи за 20 евро + доставка. В големите руски онлайн магазини, включително официални дистрибутори, се продава за 1150-1300 рубли. Обикновено в Москва и Санкт Петербург можете да го вземете със самодоставка (препоръчваме онлайн магазини и DESSY), но в други региони също ще трябва да платите за доставка. Оказва се скъпо. Въпреки че понякога можете да намерите магазини с ниски цени в Русия. Онлайн магазин ROBstore предлага ниски цени и бърза доставка. Цената все още ще бъде по-висока, отколкото в Китай, но ще бъде много по-малко чакане на пратката.

Оригиналният Arduino UNO може да бъде закупен и в китайски магазини, но трябва внимателно да разгледате описанията и снимката (това не винаги се вижда ясно в текстовете на описанието). Описанията обаче понякога са грешни (както писах по-горе). Цената, разбира се, е по-ниска, отколкото в руските магазини.

Както в случая с комплектите, можете да закупите аналози на Arduino много евтино. Например, почти идентичен аналог на DCcduino UNO на dx.com струва по-малко от $10, а на aliexpress като цяло $5,50!

DCcduino на AliExpress за $5,5

Други модификации на платката Arduino

Нека да разгледаме кои от платките са удобни за начинаещ да се запознае с основите на електрониката.

Да преминем по метода на елиминиране.

Веднага отказваме 4 модификации на платката Лили Пад- предназначени са за "електронен текстил" - зашиване на светодиоди в дрехи и пр. По-късно ще пишем за тях.

Arduino LillyPad

Ако не планирате да правите готови роботи, тоест често ще качвате програми на платката, много по-целесъобразно е да използвате платки с USB порт - по-удобно е да ги свържете към компютър.

USB портовете НЕ разполагат с платка: Arduino Mini, Pro, Pro Mini.

Ако искате да се запознаете с основите на електрониката, "изтънчените" платки не са много подходящи за вас: Esplora, BT, Ethernet, Tre, Yun, Robot.

Остани UNO, Leonardo, Due, Micro, Mega ADK, Mega 2560, Nano, Fio.

Ако вмъкнете щитове за разширяване на платката (в техния вид се изпълняват моторни драйвери, платки с допълнителни конектори и т.н.), трябва да имате предвид, че те имат стандартен формат, който Micro и Fio нямат.

Трябва да кажа, че Arduino Nano също има нестандартен размер, но е лесно да го поставите в Breadboard - краката му са разположени от долната страна на дъската.

Нека сравним цените на останалите платки в Arduino Store:

  • UNO - 20 евро,
  • Леонардо - 18 евро,
  • Дължим - 36 евро,
  • Мега 2560 - 29 евро,
  • Мега ADK - 44 евро,
  • Нано - 33 евро.

В споменатите по-горе китайски магазини можете да намерите аналози на значително по-ниска цена.

Arduino често се нарича еднобордов компютър. И точно с избора на компютър начинаещият е най-добре в сравнение с избора на платка Arduino.

Таксите са различни:

  • микроконтролер и честотата на неговата работа(ATmega328 - 16 MHz, ATmega32u4 - 16 MHz, ATmega2560 - 16 MHz и други),
  • входно и изходно напрежение към платката,
  • броя на аналоговите входове и изходи,
  • броя на цифровите портове, включително тези, поддържащи PWM,
  • количество флаш памет.

Броят на портовете на платката определя максималния брой устройства, свързани към нея (сензори, двигатели и т.н.), а количеството флаш памет ограничава дължината на програмата, заредена в нея.

Аналог на Arduino Leonardo

Кратки характеристики на някои дъски:

: микроконтролер ATmega328, 14 цифрови порта, вкл. 6 с PWM, 6 аналогови входа, 32 KB флаш памет, USB тип B порт.

Arduino дължи:микроконтролер AT91SAM3X8E, 54 цифрови порта, вкл. 12 с PWM, 12 аналогови входа и 2 аналогови изхода, 512 KB флаш памет, 2 microUSB порта.

Arduino Леонардо:микроконтролер ATmega32u4, 20 цифрови порта, вкл. 7 с PWM, 12 аналогови входа, 32 KB флаш памет, MicroUSB порт.

Всички цени са към датата на публикуване.

Има много разновидности на дъските Arudino: Nano, Mini, Uno, Leonardo, Mega, Lilypad ... Трудно е за начинаещ да разбере тяхното разнообразие. В тази статия ще говоря за видовете платки Arduino. В края на статията има връзки към продавачи, които проверих, откъде можете да закупите платка Arduino. Кликнете върху, за да преминете бързо към таблицата с връзки.

Основните разлики между платките Arduino:

Arduino се различават един от друг:

  • размер
  • брой щифтове
  • размер на паметта

Размер на дъската, засяга преди всичко удобството при работа с него. Най-често срещаната платка - Arduino Uno (и нейната актуализирана версия на Arduino Leonardo) са с размери около 6 × 5 см. Това ви позволява да правите без лупа, когато създавате прототип на макет и да получите доста компактни работещи устройства. Arduino Nano е много компактен. Размерът му е само 4,4 × 1,9 см, докато функционалността му не се различава от големите дъски. Arduino Nano също се прикрепя добре към макетната платка благодарение на мъжките щифтове. В опит да направят платките още по-малки, версиите на Arduino Micro (клон на Arduino Uno, пуснат на платка 4,8x1,77 см) и Arduino Mini (липсва минималната конфигурация - няма USB конектор за захранване и качване на фърмуерът, фърмуерът се качва чрез специален адаптер. Забавен факт: arduino mini е много по-малък от микро, докато micro е почти със същия размер като nano. Така че името на моделите на платката е само имената на моделите на платката и не отразяват действителния размер.Има и огромен, 10,2 * 5,3 сантиметра Arduino Mega. Тя получи такъв размер по причина. Има цели 70 щифта на дъската.

Брой щифтовеопределя броя на външните периферни устройства, които можете да свържете към платката: светодиоди, серво, различни сензори, модули, бутони и много други. Платките имат цифрови и аналогови изходи. Цифровите изходи могат да приемат само 2 стойности: HIGH и LOW. ВИСОКО отговаря на наличието на ток на изхода, НИСКО на отсъствието. Искаха да запалят светодиода - прехвърлиха изхода в състояние HIGH. На изхода се появи напрежение и светодиодът светна. Издаде се LOW и светодиодът изгасна. Цифровите изходи могат също да четат стойности, по подобен начин, само 2 състояния. Ако изходът отвън (например от бутон) се захранва с напрежение ~ + 5V, тогава контролерът счита стойността ВИСОКА. Напрежение по-малко от 5 волта ще бъде разпознато като НИСКО.
Аналоговите изходи ви позволяват да прочетете стойността на приложеното напрежение в диапазона от 0 до 1024. Където 0 е 0 волта, 1024 е 5 волта. Обхватът на измерване може да бъде променен чрез прилагане на референтно напрежение към специалния щифт AREF. В този случай всеки аналогов изход може да се използва като цифров. Но цифровото не може да се използва като аналогово.

Цифровите изходи могат също да поддържат: специален режим на работа за управление на яркостта на светодиода или скоростта на двигателя. Тук обаче всичко е просто: nano, mini и uno имат шест изхода с поддръжка на PWM. Leonardo и micro са оборудвани със седем PWM извода и само гигантският Arduino Mega 2560 заема водеща позиция с четиринадесет PWM извода.

Памет, на пръв поглед много важен параметър. Въпреки това, не третирайте дъската като компютър. Не се нуждае от много оперативна и още по-постоянна памет. Няма да навлизам в подробности за това. Тъй като „най-бедният“ Arduino Nano в това отношение има само 32 килобайта постоянна памет и 2 килобайта RAM, но докато програмата, която сте написали за микроконтролера, вече не се вписва в тези 32 килобайта постоянна памет, вече ще сте добре разбирате във всичко сами и няма да имате нужда от тази статия. Сериозно: 32 килобайта са просто огромна памет за програма за микроконтролер.

Количеството енергонезависима памет, по-интересен параметър. Енергонезависимата памет, както подсказва името й, съхранява данни независимо от наличието на захранване. В този случай стойностите на променливите във вашата програма се съхраняват в RAM, която се изтрива при рестартиране на контролера. В допълнение към енергонезависимата памет за съхранение на самата програма, се разпределя отделна област на паметта (известна още като EEPROM), която ви позволява да запазвате стойностите на променливите директно от програмата на контролера в специална клетка. След това, след рестартиране, устройството ще може да възстанови състоянието, в което е било преди изключване на захранването. Повечето контролери ви позволяват да съхранявате само 1 килобайт данни. В допълнение към малкия обем, има и ограничение за броя на операциите за запис. Общо 10 000 пъти можете да записвате данни в една клетка (можете да четете данни произволен брой пъти). 10 000 - на пръв поглед не толкова малко. Записването се извършва в клетки от 1 байт. Общо имаме 1000 клетки. Например, ако анкетирате определен сензор само веднъж в минута и съхранявате стойността му в паметта и всеки път в нова клетка, устройството ще работи (((100 000 * 1 000) / 60) / 24) / 365 = 190 години. Най-често обаче трябва да пишете данни в една клетка (например броят на секундите). И тогава ресурсът вече е намален до 2,5 месеца непрекъсната работа и това е за запис веднъж в минута. Ако възникне задачата да актуализирате стойността веднъж в секунда, тогава само за 27 часа EEPROM ще бъде повреден. Следователно енергонезависимата памет се използва за съхраняване на настройки и други рядко актуализирани стойности. И е по-удобно да записвате показания на сензора или дневник за работа на устройството на SD карта (между другото, имам за свързване на SD карта към Arduino).

Изберете дъска

Най-популярната платка е Arduino Uno. Има смисъл да се сравняват всички други дъски с него. Това е малка дъска. По ръбовете на платката има 14 цифрови и 6 аналогови входа/изхода.

Платката с размери 6,9 x 5,3 см е най-подходяща за бързо прототипиране. Не твърде големи и удобни конектори за свързване на проводници от макетната платка го правят много удобен за начинаещи. Така наречените щитове (Shield) - в 99% от случаите те са създадени специално за инсталиране на платката Arduino Uno. Сега друга платка, Arduino Leonardo, която е идеологическо продължение на UNO, набира разпространение. Той има малки разлики в присвояването на някои специални щифтове и се свързва към компютъра с много по-компактен микро USB кабел. Повечето от щитовете на UNO пасват и на Леонардо, но може да има някои неприятни изненади поради несъответствието на някои от щифтовете.

Това наистина е най-добрият вариант за платката Arduino. Ако купувате дъска за първи път и просто искате да опитате ръката си, вашият избор е Arduino Uno или Leonardo. Повечето от готовите комплекти, между другото, поради тази причина са оборудвани с платката UNO. Ще ви разкажа повече за избора на готов комплект в края на статията.

Доста интересен вариант е Arduino Nano. Тази дъска е с размери само 4,4 см x 1,9 см и е напълно съвместима с Leonardo по отношение на функционалността. Продават се дори специални адаптери за свързване на щитове от UNO към Nano. Платките са идентични по отношение на броя на щифтовете, количеството памет и скоростта. Nano, благодарение на миниатюрния си размер, е удобен за използване в готово устройство, за да се спести място в тесен калъф. Arduino Nano е оборудван с щифтове вместо дупки за свързване на свързващи проводници. Това усложнява прототипирането (платката трябва да бъде инсталирана на макет и заема място, но помага при прехвърляне на прототипа към реално устройство. Можете просто да запоявате проводници към щифтовете на контролера.

Arduino Mega е най-голямата платка в семейството на Arduino. Повече памет, огромен брой щифтове (70!). Тази платка е предназначена за сложни устройства, към които планирате да свържете различни периферни устройства. Всъщност правилното име за платката е Arduino Mega 2560. Но тъй като Arduino Mega (без числата в името) вече се счита за остарял, практически е невъзможно да го купите и за кратко, платката се нарича просто Arduino Mega . Но в действителност платката се оказва безполезна, както при създаването на прототип. както и в готовото устройство. В прототипа огромният му размер пречи най-вече и за готовото устройство може да бъде полезен, може би, само броят на щифтовете, но можете лесно да получите допълнителни щифтове на всяка друга платка, като използвате или, ако няма достатъчно PWM щифтове, можете да използвате. Единственото реално предимство на Mega пред другите платки е количеството памет за зареждане на програмата. Веднъж трябваше да покажа голямо количество графична информация на текущата линия и програмата отне почти 100Kb. Проектът продължаваше няколко дни и не исках да пренаписвам алгоритъма за съхранение на информация на SD карта. Тук Мега ме спаси.

Къде да купя Arduino платка

Първоначално Arduino е разработен от италиански инженери. Автор на идеята е Масимо Банзи. Именно платката, произведена в Италия, се смяташе за оригиналното Arduino. По-късно настъпи разделение в екипа за разработка и оригиналните платки се произвеждат както в Италия, така и в САЩ. Първоначално обаче чертежите на Arduino започнаха да се разпространяват под безплатен лиценз. Това означава, че всеки може да произвежда дъски, които точно повтарят дизайна на оригинала. Авторските права обхващат само името Arduino. Ето защо има огромен брой модификации и алтернативни версии на платката от производители на трети страни. Разбира се, Китай, като истински център на производството на електроника, в момента предлага много arduino съвместими платки. Лично аз препоръчвам да не преплащате хиляди рубли за оригинала, но обърнете внимание на копие на дъската на достъпна цена. Сериозно, най-евтината платка Arduino Mini, оригиналната от фабриката в Италия, струва 1400 рубли в Русия, докато китайският клонинг може да бъде поръчан за 2 долара с безплатна доставка. Най-удобно е да купувате дъски на популярната онлайн платформа Aliexpress. В края на статията събрах за вас линкове за поръчка на табла и различни сензори, които сам поръчах и се уверих в качеството им. Също така там ще намерите връзки за поръчка на готови комплекти, за да започнете да изследвате света на Arduino. Ако по някаква причина възнамерявате да закупите оригинална дъска, отидете на уебсайта на Amperka. Определено има оригинални табла.

Резултат

Ако сте начинаещ, купете Arduino Leonardo без колебание.
Ако вече имате няколко прототипа и планирате да ги превърнете в готови устройства, разгледайте Arduino Nano.
Ако сте се почесали по главата, но все още не сте измислили как да натъпкате цялото пълнене на устройството в тесен калъф, използвайте ултракомпактния Arduino Mini.

Малка сравнителна таблица с основните характеристики:

ПлатиРазмер, смБрой щифтове (цифрови/аналогови)Обемът на постоянната памет, KBКоличеството RAM, KBКоличеството енергонезависима памет за съхраняване на променливи стойности, KBТактова честота, MHz
4,4×1,914 / 8 30 2 1 16
Arduino Mini1,8×3,314 / 8 16 1 0,5 16
6,9×5,314 / 6 32 2 1 16
6,6×5,220 / 12 32 2,5 1 16
11×5.254 / 16 128 8 4 16

Arduino платки

имеСъстояние

Всеки, който използва микроконтролери Arduino, е запознат с въпроса за спестяването от първа ръка. Въпреки това купуването на китайски платки от неизвестни производители с надеждата, че поне някои от тях ще работят, както се рекламира, не е най-добрата стратегия. Но сред многото безполезни парчета желязо можете да намерите и достоен евтин заместител на arduino stm32, който вече стана известен в своите среди.

Нека да видим дали тази платка струва до $ 10 с доставката на своята популярност и какво може да даде на потребителя в сравнение с обичайната версия на Arduino PRO. За да направим това, ще анализираме и двата микроконтролера и ще направим списък с всичките им предимства и недостатъци, за да можете сами да отговорите дали си струва да харчите пари за arduino stm32 ide.

Нека сравним двете платки по техническите им параметри:

Спецификации STM32F103C8T6 Arduino Nano
Честота на контролера, MHz 72 16
Програмна памет, KB 64 32
Храна, В 3.3 5
RAM, KB 20 2
USB 2.0 да Не
DMA да Не
МОГА да Не
RTC да Не
UART 3 1
Фърмуер през USB Не да
Цена, $ 2.1 1.8

Както виждаме, в много отношения arduino губи от stm32. По-долу ще се опитаме да сравним дъските от различни ъгли.

Плюсове и минуси на микроконтролерите Arduino и STM32

Нека започнем с предимствата на един преждевременен фаворит - самото arduino. И най-важният от тях е известен на всеки, който е работил с този чип и неговите колеги - неговата собствена екосистема. Можете да намерите отговори на всичките си въпроси в Интернет, защото базата от знания и броят на потребителите на микроконтролери, дори в сегмента на CIS, е невероятен. А това означава, че не е нужно да търсите инструкции на английски, което не може да се каже за stm32f103c8t6 arduino. Голям брой потребители предполага и широка софтуерна функционалност, само част от която е предоставена от самите производители.

Базата от фенове създава десетки библиотеки всеки ден, така че можете да реализирате всяка своя идея. Някои схемни решения с микроконтролера stm8s001j3 може да не се харесат на начинаещи по този въпрос, докато arduino се опитва да угоди на новия потребител колкото е възможно повече и не създава никакви затруднения.

Оттук се появяват достъпни щитове, лекота на използване, с която stm микроконтролерите не могат да се похвалят, и просто програмиране под Atmel, без да е необходимо да се изучават всички тънкости на езика на практика. Е, по-напредналите ще оценят EEPROM, който идва с кутията, с което микроконтролерът stm32 не може да се похвали.

Въпреки това, както и другаде, той има своите недостатъци:

  1. Ниският праг на влизане предполага голям брой криви и лошо настроени библиотеки, работещи почти на последния си крак. След като се натъкнете на такъв софтуер няколко пъти и го отстраните за няколко дни, решавате, че е по-лесно да напишете свой собствен.
  2. Следващото предимство на stm32 arduino не осигурява нормално отстраняване на грешки, поради което търсенето на грешки в същите криви библиотеки отнема толкова много време.
  3. Нормалната производителност на Atmega е мит и всъщност ще трябва да избягвате и да откажете много функции на продукта, за да работи без забавяне. Нормалните планировчици също не се намират, а тези, които могат да бъдат свързани, изяждат твърде много ресурси. Поради това занаятите на Arduino са известни със своя изкривен и изоставащ интерфейс с дълго време за реакция, ако говорим за нещо по-сложно от електронен дявол или дизайн от микроконтролер и сензор за движение.
  4. Много криви и откровено безполезни продукти на тези платки, особено от китайците, само влошават имиджа на Arduino.
  5. Разбира се, не можете да намерите нормални книги за микроконтролери stm32, но arduino не предоставя много професионална информация, в допълнение към форумите, където самите потребители участват в отстраняването на грешки.
  6. А средата за разработка на софтуер за него изисква просто невероятна производителност, несравнима с нищо на пазара. Освен това къде отиват всички изразходвани ресурси не е съвсем ясно. И съответно, виновникът е ужасяващата оптимизация.

От друга страна, потребителят получава arduino stm32f103 и arduino stm8 високопроизводителен контролер, който опростява прехода от микроконтролера stm32 към микроконтролера milandr и много периферни устройства в допълнение.

Дизайнът на платката е значително улеснен от свободното движение на краката, средата за разработка на наличност е доста мощен инструмент, а отстраняването на грешки е изградено от самото начало, за да работи безупречно дори в чужда среда. Осигурени са ви цветни графики и точки, да не говорим за текстова информация. Лесно пренасяне на код, възможност за стартиране на отделни контролери при 41Mbps и USB портове почти навсякъде. Всичко това може лесно да примами по-напреднали разработчици, но те също трябва да се запознаят с редица недостатъци:

  1. Висок входен праг, необходима е добра основа за нормална употреба.
  2. Библиотеките също присъстват, но повечето от тях са остарели или направени от всеки лично за себе си. По-лесно е да създадете свой собствен. Но ако си спомняте проблемите на Arduino, тогава вероятно вече знаете как да направите това.
  3. По-ниски интервали и като цяло грозна семантика в сравнение с простите функции на конкурента.
  4. C99 все още е далеч от C++ и веднага ще усетите всички трудности на прехода. Въпреки това, мнозина твърдят, че след известно време - напротив, те са доволни от такъв нюанс.
  5. Като цяло, евтиността на платките в сравнение с Arduino.

Възможности за подобряване на "използваемостта" на STM32 до нивото на Arduino

Не всичко обаче е толкова лошо, колкото изглежда. Първоначално платките STM32 могат да бъдат програмирани в средата за разработка на Arduino, въпреки че това не е най-доброто решение. Трябва да се помни, че по този начин намалявате функционалността, използвате много патерици и се прострелвате в коляното.

Въпреки това, по време на прехода, това е доста полезен нюанс, който ви позволява по-плавно да овладеете всички прелести. Семантиката на C99 може да не ви хареса през първите седмици, затова е по-добре да намерите преводач, тъй като средата на Arduino напълно унищожава смисъла от закупуване на друг микроконтролер.

Отстраняване на грешки STM32 микроконтролер

Както вече споменахме, отстраняването на грешки в микроконтролера е достойно за индивидуални тиради и ентусиазирани отговори. Веднага от кутията получавате устройство, което може свободно да се отстранява във всяка среда, променливите се показват в конзолата, а удобните информационни графики ви позволяват да откриете визуално грешка. Това е особено удобно, когато количеството код просто не ви позволява да преминете през него стъпка по стъпка.

След като преминете към STM32, в крайна сметка напълно ще забравите за извеждането на данни през конзолата, защото ще дойдат много по-разумни и практични решения, които да заменят тези шаблони.

В следващия материал ще разгледаме стъпка по стъпка как да използваме Arduino IDE за платката STM32.

В тематичния блог вече има няколко статии за избора на първия микроконтролер и започването на работа с него. Не по-малко интересни бяха и коментарите към подобни статии. Една от мислите, която беше повдигана там няколко пъти, е, че не всеки, който има интерес към MCU, идва от транзистори. Някои (дай Боже, повече) идват при тях от страната на (приложното) програмиране. Не е разумно да препоръчваме на такива хора да вземат поялник, те вече имат неща, които могат да „запояват“. И така стигаме до думата "Arduino", която мнозина вече са чували. Сред опитните с поялниците има - Arduino е шал на AVR за мързеливи. Така е? Тази статия е опит да се покаже ясно, че Arduino не е за AVR и не е за мързел, Arduino е независима от архитектура електронно-механична платформа от съвместими компоненти, по отношение на (относителното) значение не по-малко важно от (по едно време) IBM S / 360, IBM PC или USB.

AVR е по-жив от всички живи

Стигайки до втората част на прегледа, читателят ще види, че Arduino-съвместимите платки на съвременните мощни 32-битови контролери струват не много повече, а понякога дори по-малко, отколкото на оригиналната AVR архитектура. И все пак първо AVR. Защо? Защото майсторите казват, че рано или късно ще поискате да сглобите устройството си. И им вярвам. Вярвам, че един ден ще взема 8-крачен ATtiny в DIP опаковка, ще го залепя в картонена кутия и ще включа поялника. И ще знам какво да правя по-нататък - в края на краищата, аз вече съм прототипил всичко на Arduino AVR.
Arduino Duemilanove
Това е предпоследната версия на официалната Arduino и повечето съвместими платки, които в момента са на пазара, са базирани на схема Duemilanove. Той включва микроконтролера ATmega 328 (през последното десетилетие (прочетете: преди 2010 г.) беше инсталиран и ATmega 168) и FTDI FT232RL USB-to-Serial конвертор. $25

Arduino Uno
Текущата версия на официалната Arduino. Въпреки че има малко алтернативни реализации на пазара, но те започват да се появяват, една е включена в този преглед. Основната разлика от Duemilanove е замяната на популярния и следователно не скъп чип FT232RL с ... ATmega8U2. Да, да, всъщност има два AVR микроконтролера в Uno и един с хардуерен USB. Защо две, защо да не сложим един? Въпрос на съвместимост, дружелюбност за начинаещи и за собствени разработки. Очевидно микроконтролерите с хардуерен USB се предлагат само в SMD корпуси, така че няма да е лесно да използвате такъв във вашите разработки или да замените неуспешен такъв на платката. Ето защо е по-добре да използвате добрия стар ATmega328 в DIP-сокет, а ATmega8U2 да оставите за бъдещето. Съдейки по това колко уверено Уно набира позиции - за близко бъдеще. $30
Итеадуино
Има много клонинги на Arduino Duemilanove, които всъщност го копират един към един. Но ние очакваме напредък и подобрение от конкуренцията, а не просто „изваждане“, позволено от отворен лиценз. Iteaduino е добър пример за разработчиците, които са "направили домашната си работа". Много електронни компоненти изискват 3.3V захранване, което изисква допълнително сдвояване на нива при работа с класически Arduino. Iteaduino, от друга страна, ви позволява да захранвате платката с 3.3v или 5v, от които да избирате (с превключвател на платката). „Солта“ на използването на Arduino, разбира се, е в свързването на външни I / O устройства, а за прости устройства стандартът за интерфейс GVS (Ground-Voltage-Signal) е разработен де факто. За приятно (без мрежа от проводници) свързване на такива устройства с класическия Arduino, ще трябва да закупите щит, а в Iteaduino има съответните конектори точно на дъската. Освен това ергономията е подобрена - в оригиналното Arduino, когато щитът е включен, не можете да стигнете до бутона Reset (затова много щитове го дублират) и светодиодът трудно се вижда, докато в Iteaduino те са поставени на ръба на дъската с достъпност. $25

Seeeduino Stalker v2
Благодарение на стандарта Arduino можете да създавате не само платки с общо предназначение, но и специализирани платки, които все още могат лесно да се разширяват със съществуващи компоненти. Едно от идеалните приложения за Arduino е разработването на автономни безжични агентови възли за разпределена система за контрол и управление. Дъските Seeeduino Stalker са предназначени за това приложение. Във версия 2 платката има контролер за зареждане на литиева батерия с възможност за свързване на соларен панел, часовник в реално време (RTC), захранван от супер кондензатор, microSD слот, *Bee сокет (в оригиналния XBee за протокола ZigBee, но вече има BTBee в същия форм-фактор) и I2C конектори. $39
Ruggeduino
Вие сте начинаещ, който обича да превключва мощността и да грабва голи GPIO с електрифицирани ръце? Или свързвате сензорите с проводници от 20 метра, а понякога наоколо удря мълния? Или използвате Arduino за производствени цели, където изискванията за защита и надеждност са по-високи? Ruggeduino ще ви помогне, един поглед към него ще бъде достатъчен, за да ви вдъхне уважение и да разберете, че това е истинско индустриално Arduino. $40

RoMeo Всичко в едно
Платка за роботика, съдържа на платката много интерфейсни конектори, моторен драйвер, бутони. $36
CraftDuino
Руската версия на Arduino с подобрена ергономия (достъп до светодиоди и нулиране) и функции: платката има конектор за всички щифтове на чипа FT232, което позволява да се използва за bitbang приложения (програмист на различни MK, JTAG и др. ) и възможността за запояване на допълнителни щифтове за инсталиране на CraftDuino на макет без запояване. $30

По-бързо, по-високо, по-силно

И така, ние израснахме от AVR, но всичките ни щитове, сензори, сервоприводи са с нас. И няма да ги караме да изчезнат, защото са за Arduino, а не за AVR. Ние също така ще продължим да не се поддаваме на стереотипите, че има само някакъв вид ARM и някакъв вид Cortex. Всичко е много по-интересно!
ChipKIT Uno32
Всеки студент, че AVR е добър и PIC е лош. Това обаче не трябва да се разпростира до всички MK семейства. PIC32 е съвсем нормален процесор с MIPS архитектура. А MIPS е една от водещите RISC архитектури. В сравнение с ARM, той има едно предимство - не е толкова популярен в медиите, така че възнагражденията за MIPS са по-ниски, а процесорите са средно по-евтини и водят в сегменти на хотелския пазар като рутери. Например, несъвместима с Arduino платка с Ethernet, WiFi и USB хост струва по-малко от $50 дори в тази страна, ARM никога не би мечтал за такова нещо. Но сега разглеждаме Arduino съвместима и ChipKIT няма да ви накара отегчен на 80MHz.20EUR

netduino
Cortex ще чака отново. На сцената - класическият ARM, ядрото ARM7, представено от чип от любимия ви доставчик AT91SAM7X512-AU. При своите 48MHz той дори щраква върху .NET Micro Framework! $35
СЕЗ Панда II
Разбира се, управляваният код е по-лесен за писане, така че парадът на .NET MF продължава. Тази платка идва с маркетингов чип "USBizi", който се оказва NXP LPC2387 с подходящия фърмуер. При 72MHz вероятно може да възпроизвежда MP3 файлове. Само не в .NET код, разбира се. $40