Сега ще разгледаме три платформи за разработване на вградени приложения: 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,9 | 14 / 8 | 30 | 2 | 1 | 16 | |
Arduino Mini | 1,8×3,3 | 14 / 8 | 16 | 1 | 0,5 | 16 |
6,9×5,3 | 14 / 6 | 32 | 2 | 1 | 16 | |
6,6×5,2 | 20 / 12 | 32 | 2,5 | 1 | 16 | |
11×5.2 | 54 / 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 не може да се похвали.
Въпреки това, както и другаде, той има своите недостатъци:
- Ниският праг на влизане предполага голям брой криви и лошо настроени библиотеки, работещи почти на последния си крак. След като се натъкнете на такъв софтуер няколко пъти и го отстраните за няколко дни, решавате, че е по-лесно да напишете свой собствен.
- Следващото предимство на stm32 arduino не осигурява нормално отстраняване на грешки, поради което търсенето на грешки в същите криви библиотеки отнема толкова много време.
- Нормалната производителност на Atmega е мит и всъщност ще трябва да избягвате и да откажете много функции на продукта, за да работи без забавяне. Нормалните планировчици също не се намират, а тези, които могат да бъдат свързани, изяждат твърде много ресурси. Поради това занаятите на Arduino са известни със своя изкривен и изоставащ интерфейс с дълго време за реакция, ако говорим за нещо по-сложно от електронен дявол или дизайн от микроконтролер и сензор за движение.
- Много криви и откровено безполезни продукти на тези платки, особено от китайците, само влошават имиджа на Arduino.
- Разбира се, не можете да намерите нормални книги за микроконтролери stm32, но arduino не предоставя много професионална информация, в допълнение към форумите, където самите потребители участват в отстраняването на грешки.
- А средата за разработка на софтуер за него изисква просто невероятна производителност, несравнима с нищо на пазара. Освен това къде отиват всички изразходвани ресурси не е съвсем ясно. И съответно, виновникът е ужасяващата оптимизация.
От друга страна, потребителят получава arduino stm32f103 и arduino stm8 високопроизводителен контролер, който опростява прехода от микроконтролера stm32 към микроконтролера milandr и много периферни устройства в допълнение.
Дизайнът на платката е значително улеснен от свободното движение на краката, средата за разработка на наличност е доста мощен инструмент, а отстраняването на грешки е изградено от самото начало, за да работи безупречно дори в чужда среда. Осигурени са ви цветни графики и точки, да не говорим за текстова информация. Лесно пренасяне на код, възможност за стартиране на отделни контролери при 41Mbps и USB портове почти навсякъде. Всичко това може лесно да примами по-напреднали разработчици, но те също трябва да се запознаят с редица недостатъци:
- Висок входен праг, необходима е добра основа за нормална употреба.
- Библиотеките също присъстват, но повечето от тях са остарели или направени от всеки лично за себе си. По-лесно е да създадете свой собствен. Но ако си спомняте проблемите на Arduino, тогава вероятно вече знаете как да направите това.
- По-ниски интервали и като цяло грозна семантика в сравнение с простите функции на конкурента.
- C99 все още е далеч от C++ и веднага ще усетите всички трудности на прехода. Въпреки това, мнозина твърдят, че след известно време - напротив, те са доволни от такъв нюанс.
- Като цяло, евтиността на платките в сравнение с 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.