Andurino: Аппаратная платформа Arduino | Arduino.ru

Содержание

Руководство для постигающих Силу тока

Статья проплачена кошками — всемирно известными производителями котят.

Если статья вам понравилась, то можете поддержать проект.

У кошки четыре ноги:
Ввод, вывод, земля и питание,
Но трогать её не моги!
Получится замыкание!

Новости раздела

Добавлена статья Библиотека Meter для Processing


Даже путь в тысячу ли начинается с первого шага (Канон Пути и благодати)

Ардуинщик, как и джедай, должен пройти свой путь. Да пребудет с тобой Сила…тока.

Начало

Подготовка к работе. Установка IDE.

Светодиоды

Первый скетч. Мигаем светодиодами

Цифровые выводы

Управляем выводами платы

Цифровые выводы с PWM

Плавно уменьшаем яркость светодиода

Serial Monitor

Общаемся с компьютером

Потенциометр

Меняем напряжение. Управляем яркостью

Фоторезистор

Измеряем освещённость комнаты

Кнопка

Пощёлкаем?

Светодиоды

Больше светодиодов богу светодиодов

7-сегментный индикатор

Выводим цифру

Processing

Связываемся с Processing

Сервоприводы

Крутим, вертим, вращаем

ЖК-экран

Выводим информацию на экран

Пьезоизлучатель

Пищать будем?

Матричная клавиатура

Гибкая клавиатура 4х4

Библиотеки

В скетчах можно подключить библиотеки, представляющие собой специальным образом оформленный программный код, реализующий некоторый функционал, который можно подключить к создаваемому проекту. Специализированных библиотек существует множество. Среда Arduino IDE поставляется с набором стандартных библиотек: Serial, EEPROM, SPI, Wire и др. Они находятся в подкаталоге

libraries.

Другие библиотеки могут быть также загружены с различных ресурсов. Папка библиотеки копируется в каталог стандартных библиотек libraries. Внутри каталога с именем библиотеки находятся файлы *.cpp, *.h. Многие библиотеки снабжаются примерами, расположенными в папке examples. Если библиотека установлена правильно, то она появляется в меню Sketch | Import Library. Выбор библиотеки в меню приведёт к добавлению в исходный код строки:


#include <имя библиотеки.h> 

Эта директива подключает заголовочный файл с описанием объектов, функций и констант библиотеки. Среда Arduino будет компилировать создаваемый проект вместе с указанной библиотекой.

Среды разработки

Кроме стандартной среды разработки Arduino IDE существуют и другие программы.

Eclipse — универсальная оболочка, в которую добавляются различные плагины. Например, долгое время Eclipse был главным инструментом для разработки под Android. Также можно установить плагины для разработки под Arduino.

Atmel Studio 6 — мощная среда разработки для микроконтроллеров, в том числе и для Arduino.

На сайте Arduino также есть онлайн-редактор.

Недавно вышел ещё один редактор от команды Arduino: Arduino IDE Pro. Пока это альфа-версия и весьма сырая.

Есть отдельные расширения для Visual Studio и Visual Studio Code.

Многим нравится PlatformIO.

Словарик английских терминов

Если придётся читать документацию на английском, то не помешает знать некоторые специфические слова.

continuity — электропроводность
circuit — цепь, контур
voltage, current, resistance — напряжение, ток, сопротивление

conductor — проводник
AC (alternating current) — переменный ток (в розетке)
DC (direct current) — постоянный ток (от батарейки)
VCC — Voltage Common Collector. На практике означает плюс питания, например, 5V.
D — сокращение от Digital, S — от Signal. Означают те контакты, которые нужно подключать к цифровым (D) или аналоговым (S) пинам.
pull-up (подтягивающие) и pull-down (стягивающие) — резисторы для устранения дребезга кнопок
Forward voltage — прямое напряжение
SDA (Serial Data Line) — линия данных (Шина I²C)
SCL (Serial Clock Line) или SCK — тактовая линия (Шина I²C)
MOSI (Master-Out, Slave-In) — ведущий посылает, ведомый принимает
MISO (Master-In, Slave-Out) — ведущий принимает, ведомый посылает
SS или CS (Slave Select или Chip Select) — выбор ведомого или выбор устройства.

Книги

25 крутых проектов с Arduino

Полезные ссылки

Adafruit Learning System — набор учебных примеров, в том числе и по Arduino.

learn.sparkfun.com — учебные примеры от Sparkfun.

Реклама

Arduino – RoboCraft


Arduino — аппаратная вычислительная платформа, основными компонентам которой являются простая плата ввода/вывода и среда разработки на языке Wiring (C++).

Аппаратная часть

Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых) и элементной обвязки для программирования и интеграции с другими схемами. На каждой плате обязательно присутствуют линейный стабилизатор напряжения 5 В и 16 МГц кварцевый генератор (в некоторых версиях керамический резонатор). В микроконтроллер предварительно прошит загрузчик, поэтому внешний программатор не нужен.

На концептуальном уровне, все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие платы, вроде Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-serial вроде FTDI FT232. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-serial или кабеля.

Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых вводов/выводов(уровни «LOW» -0В и «HIGH» -5В), 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов(0-5В). Эти выводы доступны в верхней части платы через 0,1 дюймовые разъёмы типа «мама». На рынке доступны несколько внешних плат расширения, известных как «shields».

Программное обеспечение


Интегрированная среда разработки Arduino — это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.


Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C/C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.

Клоны

Название «Arduino» (и производные от него) является торговой маркой для официального продукта и не может использоваться для производных работ без разрешения. В официальном документе, об использовании названия Arduino, подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.

Результатом защиты названия стало ответвление от версии платы Arduino Diecimila, сделанное группой пользователей, что привело к выпуску эквивалентной платы, названной Freeduino. Название Freeduino не является торговой маркой и может использоваться в любых целях.

Подробнее — «Разновидности плат Arduino, а также про клоны, оригиналы и совместимость»

Самостоятельное изготовление

В домашних условиях можно самостоятельно изготовить Arduino Single-Sided Serial Board.

принципиальная схема
руководство (на английском)

Купить Arduino

Купить Arduino или CraftDuino — наш вариант полностью Arduino-совместимой платы, можно в нашем Магазине.

Читать далее:
Ардуино что это и зачем?
Почему Arduino побеждает и почему он здесь, чтобы остаться?
Arduino, термины, начало работы
Разновидности плат Arduino, а также про клоны, оригиналы и совместимость
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)

Ссылки
www.arduino.cc — официальный сайт
Знакомство с Arduino
Инструкции по Arduino — несколько уроков с фотографиями и советами для начинающих (на английском).

http://ru.wikipedia.org/wiki/Arduino
Wiring

По теме
Подготовка к работе с Arduino/CraftDuino
Программирование Arduino — статьи.
Книги про Arduino
книга на русском языке: Блокнот программиста Arduino (PDF 1.3 Mb)
Шпаргалка по Arduino
Возможные ошибки при работе с Arduino
Processing и Arduino

Электроника НТБ — научно-технический журнал — Электроника НТБ

Открытый код + открытые платформы = успех?

Электроника – одна из тех областей науки и промышленности, которые объективно изменяют мир. При этом неизбежно меняются и сами подходы, используемые внутри электронной отрасли. Один из них – аппаратные решения с «открытым кодом», свободным от лицензионных ограничений. Это направление стало продолжением концепции свободного программного обеспечения с открытым кодом – open source. Речь идет не просто об открытом коде программы, но и о возможности свободно его использовать в своих приложениях, модифицировать и т. п. Яркий пример проекта на принципах open source – операционная система Linux.

Общепризнанный идеолог концепции open source, основатель Фонда свободного программного обеспечения Free Software Foundation Ричард Столлман ввел в оборот тип лицензий copyleft. Их суть – программы, распространяемые под этими лицензиями, полностью свободны от авторских ограничений. А продукты, созданные на основе этих программ, могут распространяться только на основе таких же copyleft-лицензий (последнее положение не всегда обязательно). Иными словами, полная свобода распространения. И это не анархический призыв разрушить институт авторского права, а путь к подлинной массовости. И он никак не препятствует получению прибыли. Инструменты и приложения становятся доступными всем разработчикам, за них не нужно платить, но на их основе можно создавать – и продавать! – собственные продукты. Аналогичная концепция несколько позднее стала использоваться и в области аппаратуры. Здесь основополагающими принципами стали открытая исходная конструкторская документация и коды встроенного ПО при полной свободе их использования. В одну точку сошлись два подхода – принцип открытых систем и безлицензион­ное применение.

В свою очередь, открытые системы или открытые платформы (как антитеза закрытым проприетарным решениям) – это концептуальный подход, который, по сути, привел к формированию современного облика ИТ-индустрии. Вспомним, в начале-середине 1980-х, когда персональные компьютеры стали превращаться с массовый товар, своего рода вид бытовой техники, именно открытая архитектура «IBM PC» де-факто стала отраслевым стандартом. А более совершенные и изысканные решения, в том числе компьютеры Apple Macintosh, так и остались, по сути, нишевыми продуктами. И не случайно, яркий сторонник открытых платформ, Билл Гейтс поставил именно на концепцию «IBM PC» – и выиграл.

Причина успеха сегодня очевидна – персональный компьютер с открытой архитектурой превратился в глобальный мировой конструктор, «детали» для которого выпускает множество конкурирующих производителей во всем мире. Фактически родилась новая индустрия – один из доминирующих сегодня сегментов всей электроники. Масштабность производства привела к беспрецедентному снижению цен и все возрастающей массовости. Программисты всего мира по сути работали на Microsoft, создавая свои продукты под ОС Windows, производители – на корпорацию Intel и нескольких ее конкурентов, создавая решения на основе их процессоров и т. д. Сложилась огромная, глобальная саморазвивающаяся система с положительной обратной связью. Которая в итоге привела к новому глобальному качеству – к современному облику IT-индустрии, который, в свою очередь, становится фундаментом для очередных технологических скачков.

Но открытые платформы – это еще не все. Входной билет в мир разработок на их основе зачастую не очень дешев. Платформы открыты, но за право работать с ними нужно платить. Следующий шаг на пути к массовости – отказ от платы. В 1997 году была создана организация Open Source Initiative, лидерами которой выступили Брюс Перенс (автор определяющего документа The Open Source Definition) и Эрик С.Раймонд. Эта организация стала проводником идеологии свободного аппаратного обеспечения. Сегодня эта идея воспринята и поддержана самыми разными организациями, включая Европейский центр ядерных исследований CERN. Проекты в области свободного аппаратного обеспечения охватывают области от микропроцессоров (наиболее известный – процессор LEON c архитектурой SPARC V8, VHDL-описание ряда вариантов которого распространяется под свободной лицензией GNU General Public License) до законченных устройств: 3D-принтеры, телекоммуникационное оборудование, компьютеры, робототехника и т. д.

Одно из направлений в области свободного аппаратного обеспечения связано с областью встраиваемых систем. Именно к этом классу продуктов и принадлежит платформа Arduino – герой нашего рассказа. Но только ли к этому классу?

Arduino – краткая история проекта

Разработка встраиваемых электронных устройств и систем на их основе – это удел высоких профессионалов. Одна из основных сложностей – нужны специалисты, сочетающие знания в области электроники (умение разработать управляющий электронный модуль на основе микроконтроллера, цифровых и аналоговых периферийных схем) и программирования (как прикладного, так и системного). Причем модуль на основе микроконтроллера мало разработать – его еще нужно спаять. А это – не самый простой навык. Вы не пробовали дома паять микросхемы в современных корпусах? Конечно, можно заказать печатную плату, а затем и ее монтаж. Подобные услуги сегодня вполне доступны – но много ли неспециалистов в электронике умеют ими пользоваться и готовы за них платить?

Конечно, за последние 10–15 лет появилось немало решений – и семейства программируемых логически контроллеров, и глобальный конструктор под управлением LabVIEW компании National Instruments, множество оценочных плат, различные среды разработки и т. п. Все это – очень эффективные, но профессиональные, дорогие инструменты. Со стартовыми ценами в тысячи долларов (оценочные платы стоят дешевле – порядка сотен долларов – но общей картины это не меняет).

Конечно, цены на эти продукты совершенно адекватны в случае сложных проектов (например, создание бортовых систем пассажирского самолета или систем автоматизации химического цеха). Но едва ли подобные затраты доступны для массовых разработчиков. И речь идет даже не о любителях, а о многочисленных студентах, молодых специалистах, командах будущих стартапов и т. п. – о той питательной среде, которая сегодня и определяет развитие электроники как инновационной сферы. Потому как если сами микроэлектронные технологии рождаются в стенах научных лабораторий, воплощаются в микросхемы на запредельно дорогих производствах, то создавать конечные решения на их основе должна огромная армия разработчиков во всем мире. И это не все, потому что есть еще армия специалистов в различных областях, которые рады бы использовать в своих задачах возможности микроконтроллеров, но не умеют этого делать. Массовость возможна там, где превалирует простота применения и дешевизна инструментария. Именно эти критерии – просто и дешево – легли в основу проекта Arduino.

История проекта началась в 2003–2004 годах. В те годы (с 2001 по 2005) в древнем городе Ивреа в Северной Италии действовала высшая техническая школа интерактивного проектирования – Interaction Design Institute Ivrea (IDII). В 2003 году студент этого института Хернандо Барраган (Hernando Barragбn) родом из Колумбии приступил к работе над своим магистерским дипломным проектом. Он занялся созданием платформы Wiring, делающей доступными разработку цифровых систем управления для неинженеров в области электроники.

Платформа включала полный комплект инструментов для создания встраиваемых решений: язык программирования, среду разработки и отладки (IDE – integrated development environment) и плату с микроконтроллером. Для программирования микроконтроллеров использовался свободно распространяемый открытый язык Processsing. Он был создан на основе Java Бенжамином Фраем и Кэйси Ризом – сотрудниками «группы эстетики и вычислений» (The Aesthetics and Computation Group) в лаборатории MIT Media Lab Массачусетского технологического института (MIT). Руководителями дипломной работы Х.Баррагана выступали Кейси Риз и преподаватель IDII Массимо Банци.

В качестве микроконтроллера был выбран ATmega128 компании Atmel. Этот очень популярный в начале 2000-х годов 8-разрядный RISC-микроконтроллер с архитектурой AVR обладал рядом важных достоинств. Прежде всего, он программировался простой записью кода программы во встроенную флеш-память по последовательному интерфейсу SPI (фирменная технология ISP – In-System Programming). Кроме того, компания Atmel свободно распространяла для AVR-контроллеров комплект инструментов разработки программ (компилятор С/С++, ассемблер, компоновщик программ, а также С-библиотеки). Последнее стало решающим фактором для отказа от очень дешевых и популярных в те годы PIC-контроллеров компании Microchip в пользу AVR.

Принципиально, что уже на первой плате для связи с компьютером был использован метод «RS-232 через USB» (виртуальный COM-порт), реализованный на основе контроллера FTDI232BM компании FTDI. В результате и для микроконтроллера, и для прикладного ПО на компьютере канал связи выглядел как обычный последовательный интерфейс RS-232, но физически соединение происходило через USB-порт. Это очень упрощало работу с платой – в середине 2000-х годов последовательный порт RS-232 на обычных персональных компьютерах уже стал экзотикой.

Х.Барраган собственноручно спаял 25 плат на основе ATmega128 и роздал их студентам IDII вместе с необходимым программным обеспечением [1]. На этих комплектах был выполнен ряд интересных работ, показавших эффективность подхода. В 2004 году Х.Барраган с отличием защитил магистерскую диссертацию и уехал в Колумбию работать в Андском университете в Боготе. Там он занялся преподаванием и продолжил работы над платформой Wiring, не теряя контактов с сокурсниками по IDII.

Тем временем его учитель Массимо Банци решил начать новый проект, куда вошли его бывшие студенты Девид Куартиллье (David Cuartielles), Девид Меллис (David Mellis) и Николас Замбетти (Nicholas Zambetti), успевшие поработать с Wiring. К команде присоединился и участвовавший в разработке плат Wiring и помогавший с их производством Джанлука Мартино (Gianluca Martino), который затем создал свою компанию Smart Projects SRL (именно эта компания начала выпуск плат Arduino). Пригласили в проект и Тома Иго (Tom Igoe) из Школы искусств Тиша (Tisch School of the Arts) Нью-йоркского политехнического университета (NYU). Почему в команду не позвали Х.Баррагана, создателя базовой платформы Wiring, остает­ся загадкой.

Зато нет загадки с названием – с 990 года макрграфом Ивреи был господин Ардуин, который в 1002 году стал королем Италии, от чего и умер в 1015 году. Имя короля досталось бару Bar di Re Arduino в его родной Иврее, где любил зависать Массимо Банци. В честь этого бара он и назвал проект Arduino [2].

Проект изначально полностью воспроизводил программную платформу Wiring. Была создана новая плата Arduino USB, ставшая фактически первой в проекте Arduino. Это была простейшая плата на основе микроконтроллера ATmega8, с минимально необходимой обвязкой. Для связи с компьютером через USB-порт использовался контроллер виртуального COM-порта компании FTDI. Все инструментальные средства разработки, включая язык Arduino на базе С/С++ и программную оболочку IDE (на основе Processing) поставлялись свободно и бесплатно, под лицензией copyleft. Аппаратная плата микроконтроллера продавалась по рекордной тогда цене менее 50 долл., которая вскоре упала ниже 30 долл.

Поскольку вся конструкторская документация на плату была открыта, производить ее мог кто угодно. Единственное ограничение налагалось на использование названия Arduino. Только это продуктовое имя подлежало лицензированию и предполагало выплату роялти. Для этого инициаторы проекта создали компанию Arduino LLC (www.arduino.cc), которой принадлежали права на торговую марку Arduino. Однако в 2008 году между партнерами разразился скандал. Оказалось, что владелец компании Smart Projects SRL Джанлука Мартино попытался зарегистрировать права на торговую марку Arduino в США. В ходе разбирательств выяснилось, что до этого он втихую уже зарегистрировал на свою компанию права на торговую марку Arduino в Италии. Последователи судебные разбирательства, взаимные претензии. В итоге сегодня есть две ветви проекта – одна под эгидой Массимо Банци и компании Arduino LLC (arduino.cc), вторая принадлежит Smart Projects SRL (сайт arduino.org). В итоге на обоих сайтах мы видим несколько разный набор новых продуктов. Как следствие, появилось две версии среды разработки Arduino IDE, поддерживающие различный набор плат и библио­тек. Более того, команда Arduino LLC продвигает свою продукцию под брендом Adruino только на территории США, для всего остального мира создана торговая марка Genuino. Однако подобный раздор, хоть и породил определенную путаницу, свидетельствует об успешности проекта в целом.

Сегодня проект Arduino из отдельной платформы превратился в глобальную экосистему, охватившую весь мир. По данным одного из сооснователей проекта Дэвида Куартиллье [3], к концу 2013 года в мире было продано более 700 тыс. официальных плат Arduino. А ведь на каждую такую плату приходится по крайней мере столько же плат клонов, которые выпускаются множеством производителей под именами «-duino» (CraftDuino, Freeduino, Seeeduino, Diavolino, Japanino и проч., и проч.), чтобы не платить лицензионные отчисления. И рынок этот только набирает обороты.

Adruino глазами инженера

Платформа Adruino сумела воплотить два противоречивых требования – простоту и дешевизну. Для работы с микроконтроллером не нужен паяльник – только дешевая плата с микроконтроллером и USB-кабель. Подключай плату к компьютеру, скачивай бесплатное ПО, и создавай собственные решения. Язык программирования – простейший, на основе С. Появилась специальная учебная литература. Энтузиастами всего мира наработана база прикладных решений.

Популярность платформы Arduino во многом обусловлена удобством ее программирования. Для написания программного кода, управляющего работой Arduino-систем, используется специальная версия языка C/C++. Есть фирменная бесплатная среда разработки Arduino IDE (рис.1), доступная для загрузки на сайте производителя. Она позволяет писать и отлаживать программный код (так называемые скетчи – sketches), а затем загружать его в микроконтроллер базового модуля через USB-интерфейс. Среда разработки Arduino IDE создана для операционных систем Windows, Mac OS X и Linux. Для большинства модулей Arduino существует готовый код с комментариями. Он легко вставляется в общую программу управления системой и, как правило, требует лишь небольшой доработки применительно к конкретному приложению.

Аппаратная часть платформы Arduino включает несколько моделей базовых модулей и множество плат расширения (shields), а также различные аксессуары [4–6]. Сразу отметим важную и даже удивительную особенность: в отличие от «классических» открытых платформ, стандарта на форм-фактор плат Adruino не существует. Есть лишь несколько различных базовых плат, отличающихся форм-фактором (и числом портов), набором интерфейсов и используемым микроконтроллером. И никто число базовых форм-факторов не ограничивает.

Каждый из базовых модулей представляет собой плату с микроконтроллером (в основном компании Atmel, но в последнее время эта тенденция меняется) и набором сетевых интерфейсов. Принципиальная особенность – в каждом контроллере уже записана программа начального загрузчика. Поэтому разработчику вообще не нужно думать о режиме программирования – все выполняется из оболочки IDE, нажатием одной кнопки.

Uno – базовая модель

Наиболее популярный и «стандартный» модуль, продолжающий самую первую линию плат – это Arduino Uno (рис.2, см. таблицу). Сегодня выпускается уже третья модификация этого модуля (Rev.3). Он размещен на компактной плате 68,6 Ч 53,4 мм и построен на восьмиразрядном микроконтроллере ATmega328. Микроконтроллер работает на тактовой частоте 16 МГц, оснащен флеш-памятью программ объемом 32 Кбайт (из них 0,5 Кбайт используют­ся для начального загрузчика), а также 2 Кбайт СОЗУ (SRAM) для хранения временных данных и 1 Кбайт ЭРПЗУ (EEPROM) для долговременного хранения данных. Никакой дополнительной памяти не предусмотрено.

На плате с двух сторон смонтированы штыревые разъе­мы. С одной стороны расположены 14 цифровых портов ввода/вывода, шесть из которых могут быть использованы как ШИМ-выводы. Все они работают с напряжением 5 В и рассчитаны на ток до 40 мА (рекомендованное значение 20 мА). С другой стороны находятся шесть аналоговых входов, каждый подключен к 10-разрядному шестиканальному встроенному АЦП микроконтроллера ATmega328. По умолчанию напряжение на аналоговых входах измеряется в диапазоне между «землей» и 5 В, но верхний диапазон можно изменить, подав требуемое напряжение на специальный контакт AREF.

Arduino Uno может питаться как через USB-порт, так и от внешнего устройства (AC/DC-адаптера или батарейки). Источник питания выбирается автоматически. Адаптер можно подсоединить через специальный штыревой разъем, а провода от батарейки вставляются в контакты Gnd and Vin. Платформа может работать при входном напряжении питания от 6 до 20 В, но рекомендуемый диапазон составляет 7–12 В.

В Arduino Uno предусмотрено несколько способов внешней коммуникации. Для связи с компьютером используется канал RS-232 через USB (виртуальный COM-порт). Однако в отличие от первых плат, реализован он не на контроллере FTDI, а с помощью дополнительного микроконтроллера ATmega16U2 (ATmega8U2 в ранних версиях). Процесс передачи данных индицируют специальные светодиоды. Последовательный асинхронный канал UART можно реализовать и напрямую, через два специальных цифровых вывода. Также модуль можно подключить, используя стандартные последовательные интерфейсы I2C и SPI, поддерживаемые микроконтроллером ATmega328. Установлен разъем для внешнего программатора через SPI (он нужен, например, если по какой-то причине в контроллер не записан начальный загрузчик). Для прямого перезапуска на плате предусмотрена кнопка RESET.

Таким образом, мы видим простейшую плату на основе AVR-микроконтроллера. Аппаратное окружение – минимально достаточное, нет даже резисторов подтяжки уровней на шине данных. Нет и схемы монитора питания – используются лишь стабилизаторы. То есть почти никакой защиты от внешних импульсных помех и сбоев по питанию. Однако так построены многие отладочные платы. И нужно ли иное для конструктора? Тем более что кнопка RESET всегда под рукой.

Модель Arduino Uno можно считать началом координат в семействе Arduino. Дальнейшее развитие шло в системе из двух осей координат: одна ось – размеры и форма платы (с этим связано разнообразие интерфейсов), другая – тип центрального микроконтроллера.

Размер имеет значение

По габаритам базовые платы развивались как в сторону увеличения (что позволяло увеличить число портов ввода/вывода и подключать больше внешних устройств), так и миниатюризации. Развитием линии Arduino Uno можно считать модуль Arduino Leonardo ETH (рис.3, см. таблицу). Различия – в микроконтроллере (ATmega32U4 вместо ATmega328P) и наборе интерфейсов. Так, в Leonardo ETH есть встроенный Ethernet-контроллер и порт RJ-45. Есть и USB-порт, но отличие от Arduino Uno в том, что в микроконтроллере ATmega32U4 предусмотрена аппаратная поддержка USB, поэтому не нужно организовывать виртуальный COM-порт. Модуль Leonardo ETH оснащен также коннектором для карт формата microSD. Есть два исполнения модуля – с питанием через Ethernet (PoE) и без него.

Arduino Micro (рис.4, см. таблицу) выполнен в другом форм-факторе – он значительно меньше по размерам (48 Ч 18 мм). Этот модуль основан на микроконтроллере ATmega32U4, так же как и Arduino Leonardo ETH, и, соответственно, обладает схожими с ним характеристиками – теми же объемами памяти и набором вводов / выводов. Но реализованы эти вводы и выводы совершенно иначе – они выполнены в виде штырьков, расположенных в два ряда на обратной стороне модуля. Для связи с компьютером в Arduino Micro предусмотрен порт micro USB. Питание может поступать через этот порт либо от внешнего источника.

Практически столь же малыми размерами (45 Ч 18 мм) обладает и модуль Arduino Nano (рис.5, см. таблицу). Он оснащается микроконтроллерами ATmega328 или ATmega168, виртуальный COM-порт через USB реализован с помощью контроллера FTDI FT232RL.

Модуль Arduino MEGA 2560 (рис.6, см. таблицу), напротив, существенно больше остальных по габаритам (101,52 Ч 53,3 мм). Он основан на микроконтроллере ATmega2560, имеет значительно больше памяти. Больше и портов – 54 цифровых входа / выхода (из них 15 могут использоваться для ШИМ), 16 аналоговых входов. Фактически, Arduino Mega 2560 – это расширенная версия Arduino Uno. Он выполнен таким образом, чтобы быть совместимым со своими «меньшими братьями» и модулями расширения (shields). Так, левая часть платы идентична Arduino Uno как по расположению, так и по назначению выводов. Благодаря этому Arduino Mega 2560 может заменить плату Arduino Uno, если ее возможностей будет недостаточно.

Еще один примечательный форм-фактор плат Arduino – LilyPad (рис.7), специально предназначенный для носимых / вшиваемых в одежду устройств. Модули в формате LilyPad выпускаются на основе контроллеров ATmega32U4 и ATmega328P. Они выполнены в виде диска диаметром около 5 см и толщиной 6,5 мм, включая коннектор для батареи питания. По периметру расположены контактные площадки выводов питания, 9 портов ввода-вывода, а также разъем micro USB (в модулях LilyPad USB) или штыревой разъем. Еще меньше аналогичная по форме плата Arduino Gemma диаметром 28 мм с тремя портами входа/выхода, разъемом micro USB и миниатюрным AVR-контроллером ATtiny85.

Процессор решает все

Как мы уже заметили, платы различаются не только форм-фактором, но и типом микроконтроллеров. И пожалуй, это наиболее серьезное отличие, поскольку возможности базовых плат Arduino полностью определяются типом микроконтроллера. И если изначально выбор пал на архитектуру AVR от Atmel (в связи с уникальным сочетанием ее достоинств), то сегодня чрезвычайно популярными стали микроконтроллеры с ядрами ARM Cortex. Их выпускают практически все ведущие производители микроконтроллеров, в том числе и Atmel. Поэтому вполне естественно, что микроконтроллеры с ядрами ARM Cortex, от М0+ до М4 и М7, представлены в платах Arduino.

Первой платой на 32-разрядном процессоре с ядром ARM Cortex-M3 стала Arduino Due (рис.8, см. таблицу), оснащенная микроконтроллером Atmel SAM3X8E. По форм-фактору эта плата соответствует MEGA. Тактовая частота контроллера – 84 МГц, поддерживается JTAG-интерфейс, 512 Кбайт флеш-памяти, 96 Кбайт СОЗУ. Напряжение питания понижено до 3,3 В.

Несомненно, знаменательным шагом стало и появление модулей Arduino Tian (www.arduino.org) с микроконтроллером Atmel SAMD21 на основе 32-разрядного ядра ARM Cortex M0+. На плате установлен и контроллер беспроводного доступа AR9342 (Qualcomm Atheros). Последний оснащен MIPS-процессором с тактовой частотой до 560 МГц и встроенным Wi-Fi-трансивером, реали­зующим стек протоколов стандарта IEEE802.11n (с MIMO 2 Ч 2) в диапазонах 2,4 и 5 ГГц. AR9342 поддерживает и пять портов Fast Ethernet. Немаловажно, что MIPS-процессор может работать под управлением ОС на основе Linux – Linino. Плата также оснащена четырехгигабайтным модулем флеш-памяти eMMC. Примечательно, что процессор AR9342 доступен пользователям для программирования через среду IDE. Не правда ли, удивительно – плата Arduino с двумя процессорами, причем на основе конкурирующих архитектур – ARM и MIPS?

Один из недавних проектов Arduino 101 (рис.9, см. таблицу) создан в сотрудничестве с корпорацией Intel. Модуль в форм-факторе Arduino Uno основан на микроконтроллере Intel Curie. Он разработан компанией Intel специально для портативных, в том числе встраиваемых в одежду устройств. Это первое подобное устройство в модельном ряду Intel. Областью применения обусловлены отличительные особенности Curie – очень малые (особенно для Intel) габариты и низкое энергопотребление. Curie оснащен малопотребляющим 32-разрядным процессорным ядром Intel Quark SE, 384 Кбайт флеш-памяти, 80 Кбайт памяти SRAM, контроллером Bluetooth LE, шестиосевым комбинированным датчиком ускорений и угловых скоростей, блоком контроля зарядки аккумулятора, а также специальным концентратором датчиков (DSP sensor hub) с малым потреблением энергии.

Поддержка лидеров

Среди многочисленных плат Arduino и их клонов немало вариантов с микроконтроллерами различных компаний. Однако очень важно, что в последнее время формат Arduino начали поддерживать непосредственно ведущие производители микропроцессоров и микроконтроллеров.

В частности, компания Intel и сама выпускает несколько плат прототипирования на основе своих процессоров. Это платы Intel Galileo первого и второго поколений, а также плата Intel Edison Kit for Arduino. Так, плата Intel Galileo (рис.10) построена на базе процессора Intel Quark X1000 – 32-разрядной системы на кристалле. Плата совместима с Arduino Uno на программном и аппаратном уровне, обладает развитой периферией.

Ряд производителей микроконтроллеров выпускают комплекты своих оценочных и прототипных плат, совместимых с Arduino. Так, компания NXP в линейке оценочных плат LPCXpresso (рис.11) на базе микроконтроллеров серии LPC обеспечивает совместимость с Arduino Uno. Сегодня в портфолио этой фирмы входит и линейка совместимых с Arduino Uno оценочных плат KW2x на основе микроконтроллеров Kinetis – их выпускала объединившаяся с NXP компания Freescale.

Другой характерный пример – компания STMicroelectronics. Она развивает несколько линеек плат прототипирования Nucleo на основе своих микроконтроллеров семейства STM32 с ядрами ARM Cortex. Причем платы семейств Nucleo-144 and Nucleo-64 (рис.12) оснащены рядными разъемами, совместимыми с Arduino Uno Rev3, платы Nucleo-32 совместимы по выводам разъемов с Arduino Nano. Все платы семейства можно программировать, используя средства разработки различных производителей (таких как IAR или Keil), включая IDE Arduino.

Понятно, что не все Arduino-совместимые платы отличаются предельно низкой ценой, хотя, например, цены на устройства семейства Nucleo полностью соответствуют стоимостному диапазону Adruino. Однако сам факт поддержки со стороны законодателей мод в области микроконтроллеров и встраиваемых систем однозначно свидетельствует, что Arduino де-факто становится отраслевым стандартом. А это дорогого стоит – едва ли не самого дорогого. Ведь признание Adruino неофициальным стандартом означает, что на проект так или иначе начинает работать не отдельное, пусть и очень большое сообщество энтузиас­тов, а вся электронная индустрия.

Платы расширения

Базовые платы – важный, но далеко не единственный элемент в Arduino. Для практического применения возможностей одних базовых модулей, как правило, оказывается недостаточно. Нужны различные датчики, сетевые интерфейсы, средства индикации, приводы и др. Для реализации этих возможностей в экосистеме Arduino существует большое число плат расширения, поддерживающих те или иные функции. Собственно, унификация по выводам важна именно для подключения плат расширения. Эти платы устанавливаются на базовые модули этажерочным способом – одна на другую. Конечно, для этого сами платы расширения должны иметь соответствующие сквозные контакты, формирующие вертикальные шины – такой конструктивный подход использован, например, в системах формата PC/104. Приведем лишь несколько примеров плат расширения.

Модуль Arduino Ethernet Shield 2 (рис.13) предназначен для подключения Arduino-систем к проводным сетям, в том числе Интернету. Он оснащен Ethernet-контроллером W5500 и обеспечивает скорость соединения 10/100 Мбит/c. На плате есть разъем RJ-45, а также слот для карт microSD. Модуль выпускается в исполнениях с поддержкой PoE или без нее.

Есть и платы расширения для организации беспроводной связи. Одна из них – Arduino Wireless Shield (рис.14). На ней есть специальные соединители для модулей XBee, которые обеспечивают связь по протоколам Zigbee. Сторонние производители выпускают модули в таком же форм-факторе для связи по протоколам Bluetooth и Wi-Fi, которые также могут устанавливаться на эту плату. Платы расширения Arduino Wireless Shield выпускаются в двух вариантах: со слотом для SD-карт и без него.

Модуль Arduino GSM Shield 2 (рис.15) предназначен, как видно из его названия, для связи по стандарту GSM. Он дает возможность совершать телефонные звонки, отправлять SMS и выходить в Интернет.

Еще одна группа плат расширения позволяет управлять различными электроприводами. Дело в том, что выводы базовых модулей Arduino слаботочные (20 мA). Поэтому для управления силовой нагрузкой необходимы дополнительные платы. Популярный представитель этой группы – модуль Arduino Motor Shield (рис.16), построенный на основе сдвоенного драйвера электродвигателей L298 (STMicroelectroncis). Он позволяет управлять скоростью и направлением вращения двух двигателей, позволяет подключать другую мощную нагрузку. В модуле есть два независимых канала, каждый из них задействует четыре вывода базового модуля Arduino. Объединив два канала, можно подключить биполярный шаговый двигатель. Модуль также позволяет измерять ток, потребляемый двигателями. Выходы для подключения двигателей выполнены в виде клеммников с винтами, поэтому пайка не нужна. Максимальный ток в каждом канале составляет 2 А.

Для работы с большими токами предназначена еще одна плата – Arduino 4 Relays Shield. На ней размещены четыре реле, с помощью которых можно включать и выключать различные сильноточные устройства. Реле управляются сигналами с выводов базовых модулей Arduino. Состояние реле отображается светодиодными индикаторами, размещенными на плате. Максимальное коммутируемое напряжение равно 30 В постоянного тока, максимальный ток – 2 А.

Для систем Arduino предлагаются также разнообразные аксессуары – корпуса для размещения модулей, источники питания, датчики, дисплеи и др. [5, 6]. В целом, плат расширения, под каждую базовую плату, очень много, и с каждым днем их становится все больше.

Вместо заключения – игрушка или серьезный инструмент?

Сегодня выпускается достаточно много типов базовых плат Arduino. Еще больше – плат расширения. Все вместе они образуют своего рода язык, на котором можно писать разные истории – конечные приложения. Это может быть и одна фраза, и огромный роман, и даже тематический сборник с множеством авторов. Число задач, которые можно решить с помощью Arduino, фактически бесконечно. На основе Arduino делают любительские метеостанции в рамках проекта Народный мониторинг [7]. Возможностей Arduino достаточно для построения систем управление квадрокоптерами. Arduino-системы широко используются в других радиоуправляемых моделях, в различных решениях для «умного дома», известны проекты 3D-принтера на основе Arduino… Примеры проектов, в том числе с детальной технической документацией, представлены на многих интернет-сайтах, не будем их перечислять. Гораздо важнее оговорить ограничения для этого инструмента.

Прежде всего, базовая концепция Arduino – это предельно упрощенные платы. Любая защита от импульсных помех, от зависаний процессора при сбоях по питанию отсутствует в принципе. Диапазон климатических и механических воздействий не нормируется (и фактически соответствует классу Commercial), поэтому решения на основе устройств Arduino не стоит использовать в автономных необслуживаемых системах (где прекращение работы устройства критично), в бортовой электронике, в уличных применениях (если мы говорим о российском климате) и т. п. Стандартные платы для этого просто не предназначены, о чем производитель честно предупреждает. Если макет «завис» на столе разработчика – нажми RESET и работай дальше. А вот если такое устройство управляет, например, электронным замком – тут могут быть проблемы.

Конечно, рынок Arduino растет, и вполне можно ожидать появления плат с компонентами, работающими в расширенных температурных диапазонах. Схемотехнические «проблемы» плат Arduino также вполне решаются – было бы желание и необходимые знания.

С другой стороны, нужно ли строить сколь-нибудь ответственные решения или массовые продукты на модулях Arduino? Ведь это продукт изначально создавался для иных задач – сделать возможности современных микроконтроллеров доступными широкой массе непрофессионалов в области электроники. И речь идет не только и не столько о школьниках и студентах-младшекурсниках, а о программистах и специалистах по промышленному дизайну, механиках и разработчиках аналитического оборудования, ученых и художниках– всех тех профессионалах не в электронике, кому необходимы встроенные системы управления и обработки. Вот для них Arduino – это находка. Создать макет, проверить и отработать концепцию, получить действующую установку – и для этого не нужен (или почти не нужен) паяльник, не нужно знать внутреннюю организацию микроконтроллера, не нужно уметь писать программы на ассемблере или знать нюансы схемотехники, не нужны дорогие средства отладки. Есть идея – садись и работай. А если идея окажется удачной и потребует промышленного воплощения – тогда можно разрабатывать оригинальную конструкцию, при необходимости звать специалиста по микроконтроллерам и схемотехнике. Но вся логика работы, все алгоритмы к этому моменту будут проверены и отлажены. И это – принципиально.

Таким образом, дешевый, массовый инструмент Arduino позволяет существенно ускорить и удешевить процесс создания очень сложных и ответственных систем. «Язык» Arduino (мы говорим обо всей платформе) может стать своего рода эсперанто для специалистов в различных областях, объединенных в рамках одного проекта. Более того, он позволяет выполнять проекты, участники которых распределены по всему миру – достаточно договориться о конкретной платформе Arduino. Ну и, конечно, Arduino – прекрасный инструмент для начального обучения, что очень важно в условиях кадрового голода для многих отраслей. Так что Arduino – это очень серьезно.

В России одним из официальных дистрибьюторов Arduino является RS Components Russia. Как глобальный поставщик, RS Components может предложить инженерам последние новинки и решения от Arduino. Подобрать платы и все необходимые компоненты к ним, а также разместить заказ позволяет онлайн-сервис на сайте ru.rsdelivers.com.

Литература

1. Barragбn H. The Untold History of Arduino. – arduinohistory.github.io

2. Kushner D. The Making of Arduino. – spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino/. 26 Oct 2011.

3. Arduino FAQ – With David Cuartielles. –
medea.mah.se/2013/04/arduino-faq

4. www.arduino.cc

5. www.rsrussia.ru

6. www.amperka.ru

7. www.narodmon.ru

Какую Arduino выбрать? Перечисление всех плюсов и минусов каждой платформы

Всех приветствую! Хочу представить подборку ардуино платформ с перечислением плюсов и минусов каждой модели. Особенно подборка будет интересна студентам технических ВУЗов, поскольку при реализации роботов/систем необходимо знать некоторые точности и разницу в семействе (из главных параметров при выборе контроллера это: минимальные габариты, большое количество цифровых входов/выходов, эмуляция под геймпады). Чем хороша платформа Arduino — это небольшие платы (даже самая крупная Mega имеет скромные размеры) с простым языком программирования, который позволяет при установке самых простых и дешевых модулей реализовать автономных роботов или довольно крупных объектов для автоматизации систем.

Arduino Nano

Начну, пожалуй, с самой популярной модели — Arduino Nano.  На данный момент именно эту модель я считаю самым оптимальным выбором, поскольку она имеется крайне скромные габариты, большое количество цифровых и аналоговых портов (14 цифровых, 6 из которых имеют поддержку ШИМ и 8 аналоговых) и дешевле остальных, фактически это уменьшенная версия Arduino Uno, с увеличенным количеством аналоговых портов.

Arduino Uno

Является прародителем всех Arduino, но, к сожалению, кроме поддержки огромного количества шилдов (дополнительные платы, которые дополняют возможности ардуино, такие, как драйвер для двигателей, шилд с поддержкой карты памяти, GSM приемника, шилд для построения 3D принтера) ничем не выделяется, поскольку является фактически копией Arduino Nano, но в несколько раз больше

Arduino Mega

Один из самых интересных экземпляров, поскольку является одной из самых мощных из всего семейства. Микроконтроллер Atmega2560 (на котором базируется данная модель), является значительно более производительным, чем Atmega328 (используется в моделях Uno/Nano/Mini). Кроме высокой производительности в данной модели, увеличена встроенная и оперативная памяти (256 и 8 Кб соответственно). Также еще очень важным преимуществом является поддержка до 54 цифровых пинов (12 из которых имет поддержку ШИМ) и 12 аналоговых. Соответственно данная модель послужит для реализации больших проектов, где нужна высокая производительность  или большое количество цифровых пинов  

Arduino Due

Самая мощная модель в семействе, которая базируется на микроконтроллере Atmel SAM3X8E ARM Cortex-M3. Фактически полная копия Arduino Mega, но значительно производительнее и с большим количеством постоянной и оперативной памятью, 512 и 96 Кб соответственно. Мое мнение про плату — она излишне производительна, для 95% пользователей хватит и мощности Arduino Mega даже для самых сложных проектов

Arduino Pro Mini

Устройство, которое базируется на аналогичном микроконтроллере, как и Arduino Uno/Nano — Atmega328. Имеется 14 цифровых портов (6 из которых могут работать ШИМ-выходов) и 8 аналоговых. Плата имеет самые скромные размеры из всех моделей рассматриваемых в подборке, фактически это аналог ардуино нано, в котором отсутствует программатор 

Arduino Leonardo

Идентичная по размерам с Arduino Uno, но имеет следующие отличия: используется другой микроконтроллер (Atmega32u4), больше цифровых и аналоговых портов (20 (7 из которых ШИМ) и 12) а также эта модель может работать как геймпад/мышь/клавиатура с персональным компьютером.

Arduino LilyPad

Самая миниатюрная модель из семейства, используется, где нужна компактность и нет необходимости в большом количестве входов/выходов, так как в данной модели их всего 6. Найдет свое применение на самоделках на одежде, например: подогрев иди подсветка куртки.

OS для Arduino: 5 хороших вариантов в 2021 году | avr

Экосистема Arduino представляет собой открытое железо и ПО (open-source hardware/software), разработанное и успешно продаваемое одноименной итальянской компанией. Платформа состоит из системы разработки Arduino IDE, которые позволяют писать, компилировать и записывать/запускать код на широком спектре микроконтроллеров и плат разработчика. Изначально эти платы работали на MCU семейства Atmel AVR, но сейчас есть и другие, более мощные альтернативы (Cortex ARM, STM32, ESP и т. д.).

Термин, часто встречающийся при обсуждении операционных систем (OS) для Arduino — реальное время (real time). Соответственно операционные системы реального времени (real-time operating system, RTOS) были разработаны таким образом, чтобы гарантировать соблюдение определенных параметров в контексте реального времени.

Для удовлетворения этих требований существует 2 метода переключения между задачами RTOS: алгоритм кооперативной многозадачности (cooperative multitask) и алгоритм вытесняющей многозадачности (preemptive multitask). Кооперативные OS требуют вызова специальных функций для переключения контекста, обычно это специально реализованные функции засыпания (sleep), в то время как OS с вытеснением задач содержат в себе обработчик прерывания для планировщика, запускаемый по таймеру в строго заданные интервалы времени (тики). Это позволяет при необходимости, в соответствии с настроенными приоритетами, выполнять переключение контекста выполнения кода (передавать управление выполнением кода между разными задачами).

Примечание: более подробно и понятно про реальное время, принципы работы RTOS и терминологию см. статью [2].

Достоинства и недостатки cooperative и preemptive. Как и во всем в нашей жизни, при разработке всегда есть компромисс в выборе между вариантами разработки. Preemptive OS хороши тем, что они всегда будут точно соблюдать по времени созданные правила по запуску задач. Это значит, что если Вы хотите, чтобы задача запускалась строго с интервалами 10 мс, то в нормальных условиях (если нет ошибок и проблем) OS должна гарантировать, что это обязательно будет так. Однако разработка приложений на preemptive OS также означает более сложный код, поскольку необходимо применять средства синхронизации (блокировки, очереди, семафоры, мьютексы и т. п.) для использования общих ресурсов и передачи данных между задачами.

Cooperative OS проще по своей природе, потому что переключение контекста они осуществляют только с помощью вызова специальных функций внутри задачи (таких как delay или sleep). Таким способом задачи уступают свое процессорное время другим задачам. Однако соблюдение приоритетов получается несправедливым — к примеру, если у Вас есть долгий по времени выполнения (или бесконечный) цикл в одной задаче, то другие задачи во время работы этого цикла не смогут запуститься.

В этой статье (перевод источника [1]) приведен краткий обзор пяти операционных систем для Arduino, включая типы используемого планировщика, как они документированы, и какими платами Arduino поддерживаются.

Операционные системы характеризуются многими свойствами, но здесь сделан акцент только на основных:

• Широкий диапазон поддерживаемых платформ: используемая Вами операционная система изначально должна поддерживать применяемую плату. Необходимо ответить для себя на вопрос — какие из микроконтроллеров экосистемы Arduino поддерживаются?
• Документация: насколько подробно описание, есть ли примеры, с которых можно быстро начать работу?
• Поддержка со стороны сообщества пользователей: у более популярной OS больше шансов найти подсказку или помощь где-нибудь на форуме.

[CoopThreads]

У операционной системы CoopThreads [3] применяется cooperative планировщик, разработанный максимально облегченным, чтобы он мог работать на 8-разрядных MCU (в отличие от полноценных RTOS). CoopThreads поддерживает широкий спектр плат Arduino, включая основанные на микроконтроллерах AVR, ESP32 и ESP8266.

Хотя библиотека CoopThreads довольно слабо документирована в отличие от других OS, в ней есть несколько примеров, которые помогут разобраться в применении CoopThreads.

Тип многозадачности: cooperative.
Документация: ограниченная, но есть хорошие примеры использования.
Поддерживаемые платформы: широкий диапазон MCU, включая AVR, ESP32 и ESP8266.
Популярность: низкая.
Где найти исходный код: GitHub [3].

[FreeRTOS]

Это очень популярная RTOS с открытым исходным кодом, которая поддерживает (по выбору в конфигурации) многозадачность preemptive или cooperative. Поддерживается множество MCU, таких как ATmega328, ATmega32u4, ATmega1284p и ATmega2560, применяемых в платах Arduino.

Популярность FreeRTOS означает, что можно легко найти помощь и примеры использования, уровень документирования API отличный. FreeRTOS также предоставляет множество дополнительных функций, таких как управление динамическим выделением памяти для объектов, обмен информацией между задачами (очереди queue), и другие полезные примитивы RTOS.

Тип многозадачности: preemptive или cooperative (настраивается в конфигурации).
Документация: отличная.
Поддерживаемые платформы: свыше 40 архитектур, включая AVR (Arduino Uno, Nano, Leonardo и Mega). Также поддерживаются платформы MCU, которых нет у Arduino.
Популярность: высокая.
Где найти исходный код: GitHub [4], FreeRTOS [5].

[HeliOS]

Это RTOS с cooperative-планировщиком, которая была разработана с целью простоты в использовании. С учетом вытесняющей многозадачности HeliOS должна быть проще других RTOS для написания безопасного кода.

HeliOS поддерживает MCU платформ AVR, ARM и SAMD. Она все еще в активной разработке, но уже может похвастаться дополнительными функциями, которые есть в FreeRTOS — управление памятью, обмен сообщениями между задачами (queue) и таймеры.

Тип многозадачности: cooperative.
Документация: кое-что есть.
Поддерживаемые платформы: широкий диапазон платформ MCU.
Популярность: средняя.
Где найти исходный код: GitHub [6].

[Simba]

Simba это платформа программирования встраиваемых (embedded) устройств, которая стоит несколько в стороне от других, показанных здесь вариантов выбора RTOS, потому что предоставляет не только многозадачную среду выполнения кода. Уровень проработки документации высокий, поддерживается множество платформ MCU.

Simba предоставляет поддержку драйверов устройств для популярных аппаратных интерфейсов, таких как SPI и I2C. Также поддерживаются файловые системы, работа с сетевыми протоколами и формирование лога. Можно использовать либо cooperative, либо preemptive потоки, в зависимости от конфигурации. GitHub для Simba показывает очень высокую популярность, что означает довольно простое получение помощи.

Тип многозадачности: preemptive или cooperative (настраивается в конфигурации).
Документация: отличная.
Поддерживаемые платформы: многие основные платы Arduino, плюс широкий диапазон других плат.
Популярность: высокая.
Где найти исходный код: GitHub [7], Simba [8].

[TaskManagerIO]

TaskManagerIO снабжена cooperative-планировщиком и поддерживает широкий диапазон плат разработчика, включая Arduino. Это не полная RTOS, а планировщик, который может работать поверх других опций, чтобы проще реализовать многозадачность. Совместимость по широкому спектру плат и операционных систем делает TaskManagerIO хорошим выбором для тех, кому достаточно кооперативного планировщика.

Документация разносторонняя, и тот факт, что применяется cooperative-планировщик, обеспечивает простоту использования системы для начинающих и позволяет писать безопасный код без использования блокировок. Библиотека TaskManagerIO довольно популярна на Github, на возникающие проблемы разработчик отвечает быстро.

Тип многозадачности: cooperative.
Документация: отличная.
Поддерживаемые платформы: объявлена совместимость с широким диапазоном плат и операционных систем.
Популярность: высокая.
Где найти исходный код: GitHub [9].

[Ссылки]

1. Arduino Operating System: 5 Great Options in 2021 site:all3dp.com.
2. FreeRTOS: практическое применение, часть 1 (управление задачами).
3. pstolarz / CoopThreads site:github.com.
4. feilipu / Arduino_FreeRTOS_Library site:github.com.
5. FreeRTOS™ Real-time operating system for microcontrollers site:freertos.org.
6. MannyPeterson / HeliOS site:github.com.
7. eerimoq / simba site:github.com.
8. Welcome to Simba’s documentation! site:simba-os.readthedocs.io.
9. davetcc / TaskManagerIO site:github.com.
10. 210220Arduino-Operating-System.zip — исходный код операционных систем.
11. Femto OS: RTOS для маломощных MCU наподобие AVR.

Pololu — Arduino-совместимый

Сравните все товары в этой категории

Подкатегории

Платы микроконтроллеров Pololu A-Star представляют собой программируемые модули общего назначения на базе микроконтроллеров Atmel AVR. Интерфейс USB и предустановленный загрузчик, совместимый с Arduino, на каждом A* позволяют легко приступить к их программированию.

Шасси Romi представляет собой мобильную роботизированную платформу с дифференциальным приводом диаметром 6,5 дюйма (165 мм).Пластиковые компоненты, составляющие шасси, доступны в шести цветах, по отдельности или в наборах, включая двигатели и контакты аккумулятора. Также доступны управляющая электроника и квадратурные энкодеры.

Высокоинтегрированный Zumo 32U4 OLED — наш новейший робот Zumo. Он улучшает оригинальный Zumo 32U4, добавляя графический OLED-дисплей с разрешением 128 × 64. Другие ключевые функции включают в себя встроенный совместимый с Arduino микроконтроллер ATmega32U4, энкодеры для управления двигателем с обратной связью и датчики приближения для обнаружения препятствий.

Робот Zumo для Arduino включает в себя основные механические детали и электронику для создания робота, управляемого Arduino. Контроллер, совместимый с Arduino, не входит в комплект, и в этой версии не так много встроенных датчиков, как в роботе Zumo 32U4.

В эту категорию входит комплект балансирующего робота Balboa 32U4, который включает управляющую электронику, и комплект шасси Balboa, который позволяет вам использовать собственную электронику. Здесь вы также можете найти аксессуары Balboa и наиболее рекомендуемые моторы и колеса для комплектации комплектов.

Shields — это платы расширения, которые удобно добавляют периферийную электронику к Arduino.


Товары в категории «Совместимость с Arduino»

Arduino Uno R3 — это плата микроконтроллера, основанная на съемном двухрядном (DIP) микроконтроллере ATmega328 AVR. Он имеет 20 цифровых входов/выходов (из которых 6 могут использоваться как выходы PWM, а 6 могут использоваться как аналоговые входы). На него можно загружать программы из простой в использовании компьютерной программы Arduino.Arduino имеет обширное сообщество поддержки, что позволяет очень легко начать работу со встроенной электроникой. R3 — это третья и последняя версия Arduino Uno.

Arduino Leonardo — это плата микроконтроллера на базе ATmega32U4. Он имеет 23 цифровых входа/выхода (из которых 7 можно использовать в качестве ШИМ-выходов и 12 в качестве аналоговых входов), кварцевый генератор с частотой 16 МГц, разъем micro USB, разъем питания, разъем ICSP и кнопку сброса. Он содержит все необходимое для поддержки микроконтроллера; просто подключите его к компьютеру с помощью USB-кабеля или включите адаптер переменного тока в постоянный или аккумулятор, чтобы начать работу (USB-кабель и блок питания не входят в комплект).Эта плата поставляется с припаянными штыревыми разъемами, как показано на изображении продукта.

Arduino Mega 2560 R3, преемник Arduino Mega, представляет собой плату микроконтроллера, основанную на микроконтроллере ATmega2560 AVR. Он имеет 70 цифровых входных/выходных контактов (из которых 15 могут использоваться как выходы PWM и 16 могут использоваться как аналоговые входы), резонатор 16 МГц, USB-соединение, разъем питания, внутрисхемное системное программирование (ICSP) заголовок и кнопка сброса. Arduino имеет обширное сообщество поддержки, что позволяет очень легко начать работу со встроенной электроникой.

Arduino Micro, по сути, представляет собой уменьшенную (1,9″ × 0,7″) версию Arduino Leonardo: это плата микроконтроллера на базе ATmega32U4, работающая на частоте 16 МГц, с 24 цифровыми входами/выходами (из которых 7 можно использовать). в качестве ШИМ-выходов и 12 в качестве аналоговых входов). Эта плата поставляется с припаянными штырьковыми контактами, как показано на изображении продукта.

Arduino Проекты — Инструменты

  • Главная
  • Circuits
  • Мастерская
  • Craft
  • Кулинария
  • Living
  • Living
  • На улице
  • Учителя
NevorksluctabluctableScircuitsProjects Publish Enter Поиск
  • Все категории
  • Схемы
  • мастерская
  • Ремесло
  • приготовление еды
  • Жизнь
  • за пределами
  • Учителя
Ардуино
  • Все каналы
  • Яблоко
  • Arduino
  • Art
  • Ассистивные Tech
  • Аудио
  • Камеры
  • Часы
  • Компьютеры
  • Электроника
  • Гаджеты
  • Лазеры
  • Светодиоды
  • Linux
  • Микроконтроллеры
  • Microsoft
  • Мобильный
  • Raspberry Pi
  • Пульт дистанционного управления
  • Многократное
  • Роботы
  • Датчики
  • Программное обеспечение
  • паяльные
  • Динамики
  • Инструменты
  • USB
  • носимых
  • Веб-сайты
  • Wireless
Рекомендуемые Последние Популярные Просмотры Победители Лабиринт с джойстиком и шаговыми двигателями 28BYJ Кевр102 в Ардуино

3 257

Измеритель мерцания Arduino для определения качества лампочек от mircemk в Ардуино

45 2.4К

Цветущий цветок — на базе Arduino от эсардера в Ардуино

1 261

SIMCLINE 2.0 Простое моделирование уклона дороги Йорген ван ден Берг в Ардуино

378

Контроллер камеры плодоношения грибов от БрайанS184 в Ардуино

110 6.2К

Aquassist: автоматическая кормушка для рыб своими руками с сопутствующим приложением от CodersCafeTech в Ардуино

8 406

У старого Макдональда была загадка от emdee401 в Ардуино

12 1,2 К

Получить (не)готовую машину Кэрол Соуза в Ардуино

476

Индикатор масти игральных карт! Перехитрить! Пинокль! от Sunyecz22 в Ардуино

24 2.7К

Магнитная левитирующая лампа автор: tomouwerkerkerk в Ардуино

179 21К

Как заставить робота избегать края стола || #СделаноСArduino. Шахбаз Хашми Ансари в Ардуино

10 817

Светодиодные панели автор WarrenW17 в Ардуино

11 1.1 К

Сенсорная лампа Multi-Touch (с частотой 240 МГц 🙂 ) от Донкор в Ардуино

10 905

RGB Audi Ring-SMT Service От JLCPCB от sainisagar7294 в Ардуино

2 378

Автоматизированная шахматная доска от Грег06 в Ардуино

244 26К

Сортировщик цветов Arduino от Тауфик_Собари в Ардуино

8 781

Редуктор для манипулятора робота с использованием Fusion360 Нахумтверский в Arduino Главный приз 7 912 Wi-Fi Sting — для обнаружения вредоносных радиоволн Маркус Опиц в Ардуино

35 4.6К

Macropad для сочетаний клавиш от Moderntimesmelon в Ардуино

149 5,4 К

Винтажная ночная лампа V2.0 по vishalsoniindia в Ардуино

31 15 тыс.

Цифровые часы Arduino без модуля часов реального времени RTC на Tinkercad от ahmedebeed555 в Ардуино

12 1.0К

Светодиодная анимационная матрица RGB (16×16) от barzillialloyd в Ардуино

10 557

Говорящий вольтметр на Arduino от sainisagar7294 в Ардуино

5 698

Самодельный робот для рисования Arduino от Элекроу в Ардуино

24 3.2К

Как создать собственный загрузочный экран для вашего 3D-принтера Marlin от LankyWhisper624 в Ардуино

2 292

Самодельная игровая консоль на базе Arduino от BuzoBuilds в Ардуино

8 1,3 К

Система полива с дистанционным управлением и часами от КроКро в кодировании

21 1.7К

Самодельный EggBot на базе Arduino от Никуса в Ардуино

118 6,8 К

Напечатанный на 3D-принтере вращающийся стол Arduino с шаговым двигателем 28BYJ-48 от MertArduino в Ардуино

15 992

Делаем часы с жестким диском!!!😁😁😁 от HeeNaNo в Ардуино

85 5.7К

Электронная игра — Четыре в ряд от PabloPaez07 в Ардуино

1 130 4,8 К

Бот телеприсутствия с открытым исходным кодом — смотрите, говорите и управляйте через Интернет Эван Робинсон в Ардуино

79 5.0К

Работа на дому — CPX по оршу в Ардуино

2 428

Школьный звонок Arduino — простой сделай сам по mauriziomiscio.mm в Ардуино

12 1,3 К

RGB 7-сегментная синхронизация с использованием ESP8266 от sainisagar7294 в Ардуино

34 2.9К

Робот для рисования от ProjectDrawBot в Ардуино

17 2,5 К

Радиолокационный датчик Arduino автор: rickymakthal в Ардуино

32 2,2 К

Методы обнаружения телескопического удлинения кабелепровода EMT + реализация фоторезистора автор Penguingineer в Ардуино

5 561

IV Swinger 2 — PCB (модуль PV, FET) от csatt в Ардуино

2 1.0К

Уход за растениями от noy_avargil в Ардуино

9 1,3 К

Генератор педалей Zwift от Gene’sG в Ардуино

7 8,2 К

Реактивный двигатель своими руками (вращающаяся версия) от DIY GUY Крис в Ардуино

34 2.2К

Плита-кнопка «сделай сам» для Sim Racing с использованием Arduino Pro Micro по НВЕ в Ардуино

7 919

СОП Система сигнализации ЭшаПакалапати в Ардуино

8 1,3 К

Солнечный трекер Arduino от Prototypage Rapide в Ардуино

29 1.7К

Лампа дружбы от marc_m в Ардуино

12 1,3 К

Карманный цифровой осциллограф Arduino Nano 20 кГц. от sainisagar7294 в Ардуино

45 3,3 К

Чувствительный краб от Heavyal в Ардуино

1 672

Видеокамера VR Arduino от Basvs1999 в Ардуино

1 812

Пожарная машина-монстр из утилизированного силового колеса могильного копателя от codemakeritgo в Arduino Второй приз 18 2.2К Индикатор уровня CO2 (4×7-сегментный RGB-светодиод, ручная калибровка) от инженера42 в Ардуино

78 4,0 К

Машина для декодирования паролей с клавиатуры от ЭлектроМейкер1 в Ардуино

85 9,9 тыс.

Играйте/тренируйтесь в Wordle на ESP32 от FabriceA6 в Ардуино

12 9.9К

Сейф для отпечатков пальцев автор: адмиллер в Ардуино

67 3,3 К

Фото SuperMacro с направляющей для компакт-дисков/DVD и Arduino от TelekikeG в Arduino Первая премия 103 10 тыс. Плата сервопривода Arduino по лингибу в Ардуино

83 6.9К

Драйвер беспроводного двигателя Arduino и контроллер джойстика (nRF24L01 и L293D) от MertArduino в Ардуино

31 2,3 К

Собака «Менеджер» от idobichler в Ардуино

5 1,3 К

Более 40 игр для игровой платформы Mini STEM со светодиодной подсветкой от РонМ9 в кодировании

13 1.1 К

Миниатюрный портативный компьютер BASIC от PlainOldAnders в Ардуино

25 2,7 тыс.

  • предыдущие
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 394
    • 395
    • Следующие
    Категории:
    • Chirits
    • Мастерская
    • Ремесло
    • Кулинария
    • Жизнь
    • Снаружи
    • Учителя
    О нас
    • Кто мы
    • Зачем публиковать?
    Ресурсы
    • Sitemap
    • Справка
    • Контакты
    • Свяжитесь

    © 2022 Autodesk, Inc.

    • Условия использования|
    • Заявление о конфиденциальности|
    • Настройки конфиденциальности|
    • Правовая информация и товарные знаки

    Что такое Arduino? От начала до конца

    Если вы студент инженерного факультета или профессионал, возможно, вы слышали о платформе Arduino. В последнее время это имя стало модным словечком среди студентов-электронщиков.

    Что такое Ардуино? Ну, раньше для работы с электроникой требовалось сильное понимание математики, физики и других понятий.Но с появлением технологий различные инструменты и оборудование изменили рабочую модель электроники, так что огромные знания больше не требуются.

    Одним из таких новаторских устройств является «Arduino», который помогает студентам понять концепции электроники на раннем этапе их карьеры. У вас может возникнуть много вопросов, например, для чего используется Arduino и какой язык использует Arduino?

    Вскоре мы узнаем все об электронике Arduino.

    Эта статья знакомит вас со значением Arduino и его историей.Он также охватывает все доступные типы плат Arduino, микропроцессоры Arduino, зачем использовать Arduino, компоненты Arduino UNO, а также ограничения и приложения Arduino.

    Начнем.

     

    Что такое Arduino?

    Arduino — это платформа с открытым исходным кодом, которая помогает разработчикам схем создавать электронные проекты. Он состоит как из аппаратного, так и из программного обеспечения. Аппаратное обеспечение Arduino представляет собой программируемую печатную плату, называемую микроконтроллером. Программное обеспечение Arduino представляет собой IDE (интегрированную среду разработки), с помощью которой разработчики пишут и загружают код в микроконтроллер.

    Мы можем передать программу с набором инструкций на плату Arduino, которая может выполнять простые и сложные задачи. Традиционные программируемые печатные платы требуют отдельного оборудования для загрузки кода на плату. Но Arduino устраняет необходимость в оборудовании; вместо этого он использует простой USB-кабель для загрузки кода на плату Arduino.

    Плата Arduino позволяет разработчикам запускать программу на упрощенной версии языка C++, что упрощает обучение и программирование.

    Технические характеристики стартового набора Arduino UNO

     

    Аппаратное обеспечение Arduino

    Аппаратная часть Arduino — это программируемая печатная плата. Возможно, в своей работе вы сталкивались с различными платами Arduino, но наиболее часто используемой платой Arduino является Arduino UNO. Все платы Arduino имеют микроконтроллер, известный как небольшой компьютер, который является сердцем Arduino.

    Итак, изучая Arduino, важно узнать о микроконтроллерах и о том, как их использовать.Микроконтроллер Arduino отвечает за считывание различных входов и управление выходами.

     

    Программное обеспечение Arduino

    Программное обеспечение Arduino называется Arduino IDE. Вы можете загрузить программное обеспечение на свой компьютер и запрограммировать платы Arduino для выполнения различных задач соответственно.

    IDE похожа на текстовый редактор, где вы пишете инструкции для платы Arduino.

     

    Код Arduino

    Помимо аппаратного и программного обеспечения, третьим наиболее важным аспектом Arduino является код, также известный как эскиз.Вы можете написать код в Arduino IDE и загрузить его на плату.

    Возможно, вам интересно, какой язык использует Arduino для написания кода. У Arduino есть родной язык, аналогичный C++, который называется языком программирования Arduino. Любая программа, разработанная с использованием языка программирования Arduino, называется эскизом и сохраняется в файле с расширением .ino.

    Чтобы писать инструкции для плат Arduino, вы должны обладать базовыми знаниями языков программирования C и C++.

    Вместе аппаратное обеспечение, программное обеспечение и код составляют Arduino.

    Типы плат Arduino

    С помощью Arduino можно создавать различные платы, каждая из которых имеет дополнительные возможности. Это аппаратное обеспечение с открытым исходным кодом, позволяющее любому вносить изменения и создавать различные производные от плат Arduino. Эти изменения позволяют добавить несколько функций.

     

    Ниже приведены некоторые распространенные типы Arduino, которые могут использовать даже новички: .Он зависит от микроконтроллера на базе ATmega328P и имеет следующие характеристики:

    • 14 цифровых контактов ввода/вывода
    • 6 контактов для ШИМ
    • 6 контактов для аналоговых входов
    • кнопка сброса
      • 0 USB-соединение 3 3 UNO (R3) имеет все необходимое для поддержки микроконтроллера. Все, что вам нужно сделать, это подключить его к компьютеру с помощью USB-кабеля и предоставить блок питания с адаптером переменного тока в постоянный или аккумулятором, чтобы он заработал.

         

        2.Arduino Nano


        Эта плата имеет соединения, аналогичные UNO, но основана на микроконтроллерах ATmega328P и ATmega628. Эта небольшая, гибкая и надежная плата с мини-USB отлично подходит для создания проектов.

        Эта плата имеет 8 аналоговых контактов, 14 цифровых контактов с контактом ввода-вывода, 6 контактов питания и 2 контакта RST (сброс).

         

        3. Arduino Micro

        Этот тип Arduino имеет микроконтроллер на базе ATmega32U4 с 20 наборами контактов, 7 из которых предназначены для ШИМ, и 12 контактов аналогового ввода.Arduino Micro также поставляется с разъемом ICSP, кнопкой RST, небольшим разъемом USB и кварцевым генератором с частотой 16 МГц.

        Миниатюра платы Leonardo, этот Arduino Micro имеет встроенный разъем USB.

         

        4. Arduino Lilypad

         

        Плата Lily Pad Arduino разработана по технологии электронного текстиля. Это оборудование расширено Лией «Бючли» и разработано «Лей и SparkFun». Каждая доска разработана с прочными соединительными площадками, имеющими гладкую заднюю часть, которую можно вшить в одежду с помощью токопроводящей нити.Этот Arduino имеет платы ввода-вывода, питания и датчиков. Приятным бонусом является то, что эту плату Arduino можно даже мыть!

         

        5. Arduino RedBoard

         

        Вы можете использовать mini-b USB для программирования этой платы. Эта доска плоская сзади, как и предыдущая Lilypad, что упрощает размещение. Вы можете эффективно использовать эту плату с Windows 8 без изменения настроек. Кроме того, вам просто нужно подключить эту плату к вашей системе и написать код для загрузки на плату.Вы можете управлять этой платой с помощью разъема бочонка вместе с кабелем USB.

         

        6. Arduino Mega R3

        Плата Arduino Mega R3 представляет собой расширенную версию Arduino UNO и поставляется с контактом цифрового ввода/вывода. Он также имеет 14 контактов, которые работают как PWM o/ps, 6 контактов для аналоговых входов, кнопку сброса, разъем питания и USB-соединение.

        Для связи с компьютером можно использовать USB-кабель. Эта плата Arduino идеально подходит для разработки проектов, требующих значительных цифровых входов и выходов.

         

        7. Arduino Leonardo

        Эта плата Arduino была представлена ​​как первая плата для разработки с одним микроконтроллером и USB. Это самый простой и дешевый тип Arduino, что делает его чрезвычайно подходящим для новичков.

        Что находится на плате Arduino?

        Среди всех плат Arduino, доступных на рынке, самой простой и часто используемой платой является Arduino UNO. Некоторые из этих плат могут иметь другой внешний вид, но все они имеют некоторые стандартные компоненты.Итак, давайте обсудим его основные компоненты здесь.

        Arduino UNO

        Это простая и часто используемая макетная плата, подходящая даже для начинающих, чтобы разобраться с электроникой. Будучи основным, каждому разработчику электроники важно знать его различные компоненты.

        UNO поставляется с микроконтроллером ATmega328P. Он имеет два варианта: один со сквозным подключением микроконтроллера, а другой — с поверхностным монтажом. В сквозной модели можно заменить его чип на новый в случае какой-либо ошибки.

        Arduino UNO — это 8-битный микроконтроллер с архитектурой AVR, предлагающий различные функции и возможности.

        UNO поставляется с 14 контактами цифрового ввода-вывода (I/O), которые можно использовать как вход или выход. Из этих 14 контактов вы можете использовать шесть контактов для генерации ШИМ-сигналов. Каждый контакт на этой плате работает при напряжении 5 В и имеет ток 20 мА.

        • Нам всегда нужен источник питания, чтобы плата работала. Вы можете питать эту плату с помощью USB-подключения к компьютеру, а также можете использовать настенный блок питания, который подключается к разъему в виде цилиндра.На изображении выше (1) указывает на USB, а (2) указывает на гнездо для бочонка.

        Вы даже можете загрузить код через USB-соединение на плату Arduino.

        На изображении выше показано следующее:

        • GND (3): GND означает «земля», которая используется для заземления цепи.
        • 5 В (4) и 3,3 В (5): Контакт 5 В можно использовать для подачи питания 5 В, а контакт 3,3 В можно использовать для подачи питания 3,3 В.
        • Аналоговый (6): Эти контакты, помеченные от (A0 до A5), известны как аналоговые контакты. Они преобразуют аналоговый датчик в цифровой.

        В правом верхнем углу изображения выше выделены 14 контактов ввода/вывода, которые могут выполнять определенные функции, как указано ниже: . Вы можете использовать их для программирования платы Arduino и связи с пользователем через последовательный монитор.

         

      • С помощью контактов 2 и 3 можно обеспечить внешние прерывания. Эти выводы вызывают внешнее событие.
      • Шесть контактов (3-11) используются для 8-битного выхода ШИМ.

         

      • Контакты 10, 11, 12 и 13 предназначены для SS, MOSI, MISO и SCK соответственно, особенно для связи SPI.

         

      • Контакт 13 оснащен встроенным разъемом для светодиодов. Когда этот вывод установлен в состояние HIGH, светодиод включается, а когда он находится в состоянии LOW, светодиод выключается.

         

      • AREF расшифровывается как Analog Reference, используется для установки внешнего опорного напряжения (0–5 Вольт).

         

      • В левом верхнем углу изображения выше (10) обозначает кнопку сброса. Эта кнопка соединяет контакт сброса с землей и перезапускает загруженный код. Нажатие кнопки сброса в случае сбоя позволит вам протестировать код несколько раз.

         

      • Число (11) указывает на светодиодный индикатор питания, который загорается при подаче питания на Arduino от источника.

      • На изображении выше (12) определяет светодиоды TX RX, где TX означает для передачи , а RX для для приема .Они используются для последовательной связи. Эти светодиоды обеспечивают визуальную индикацию при приеме или передаче данных с помощью Arduino.

         

      • (13) определяет интегральную схему, также известную как мозг Arduino. Вы можете увидеть тип IC, упомянутый в верхней части IC.

         

      • (14) определяет регулятор напряжения, который помогает контролировать величину напряжения, подаваемого на плату Arduino. Он действует как привратник, предотвращая попадание дополнительного напряжения в цепь.Кроме того, он имеет некоторые ограничения, поэтому не подключайте Arduino к напряжению более 20 вольт.

       

      Почему вы должны использовать Arduino?

      Сегодня многие используют Arduino. Он прост в использовании и программировании, что делает его более популярным среди начинающих и опытных пользователей. Вы можете подключить Arduino к нескольким платформам, таким как Mac, Windows и Linux. Кроме того, вы можете использовать его для создания недорогих научных инструментов.

      Arduino дает вам возможность поиграть с микроконтроллерами.Ниже приведены некоторые важные причины для использования Arduino.

      • Дешево: платы Arduino доступны по цене. Если вы знаете, вы даже можете собрать Arduino вручную или использовать предварительно собранные модули Arduino, которые стоят менее 50 долларов.

         

      • Кроссплатформенность: Плату Arduino можно подключить к любой платформе, например к операционным системам Windows, Mac и Linux.

         

      • Простая среда программирования: IDE Arduino Software проста и легка в освоении, поскольку поставляется с простой версией C++.

      Ограничения Arduino

      Несмотря на различные причины использования Arduino, вам необходимо понять его ограничения, прежде чем работать с ним.

      • Память : У Arduino недостаточно памяти для хранения программ и переменных. Также к нему нельзя добавить внешнюю память. ATmega32 и ATmega128 можно использовать для внешней памяти, но вы не можете использовать функции ввода-вывода для этих контактов.

      Платы Arduino не могут поддерживать внешнюю память из-за их основных конструктивных допущений.Важно помнить, что Arduino — это недорогой одноплатный компьютер на базе процессора Intel, который не предназначен для замены полноценной компьютерной системы с высокими системными требованиями.

      • Скорость : Тактовая частота процессора Arduino составляет от 8 до 20 МГц — это намного медленнее, чем на большинстве платформ. Вы можете выполнять несколько инструкций в каждом тактовом цикле, и между каждым импульсом приходится обрабатывать много доступной активности ЦП.

         

      • Электроэнергия : При работе с оборудованием Arduino необходимо учитывать параметры напряжения, так как некоторые устройства имеют 3.3V I/O, в то время как другие терпимы к 5V. Если вы подключите транзисторно-транзисторную логику на 5 В к устройству на 3,3 В, это повлияет на аппаратное обеспечение и может повредить ваш Arduino.

         

      Области применения Arduino

      Ниже приведены некоторые типичные области применения Arduino:

      • Робототехника : Arduino подходит как для проектов начального, так и для среднего уровня робототехники. Вы можете дать ему основные команды, чтобы заставить робота работать, даже с ограниченными ресурсами.Некоторыми хорошо известными примерами роботов, разработанных с использованием Arduino, являются робот K’Nex, следующий за стеной, и робот-манипулятор SCARA.

         

      • Аудио : От Hi-Fi до наушников все зависит от качества звука. К сожалению, Arduino не подходят для аудио, но вы можете использовать их для добавления аудиоэлемента в свои проекты.

         

      • Инструменты : с помощью Arduino можно проектировать такие устройства, как печатные фермы, 3D-принтеры, станки с ЧПУ, лазерные гравировальные станки и т. д.

         

      • Сеть : Большинство плат Arduino имеют встроенные сетевые возможности, обычно в виде порта Ethernet.Вы можете использовать эту возможность в различных проектах, таких как IoT и проекты регистрации данных.

         

      • GPS: Вы можете использовать Arduino для отслеживания устройств и транспортных средств и создания одного из самых впечатляющих приложений, использующих GPS.

      Что ж, нет предела его применению, но мы упомянули лишь некоторые из них.

      Заключение

      Что такое Arduino? Это ваш первый шаг в разработке новых творческих приложений и электронных проектов.Это подводит итог основам Arduino. Являетесь ли вы новичком или опытным схемотехником, выберите Arduino для создания уникальных приложений с помощью этой простой в установке программы. Вы можете скачать Arduino IDE для кодирования и начать работать над своими версиями Arduino, поскольку она доступна бесплатно и имеет открытый исходный код.

      Если вы достаточно увлечены созданием новых и полезных приложений, то Arduino — это то, что вам нужно. Чтобы узнать больше, ознакомьтесь с нашим списком лучших курсов Arduino для изучения в 2022 году.

       

      Лучшие курсы Arduino

       

      Узнайте больше об Arduino:

      Педро Arduino | UW Гражданская и экологическая инженерия

      Генри Рой Берг, профессор

      Гражданская и экологическая инженерия

      Специальный помощник декана
      Инженерный колледж

      Биография

      проф.Ардуино присоединился к геотехнической группе на факультете гражданского и экологического проектирования Вашингтонского университета в 1997 году. Его основной исследовательский интерес связан с вычислительной геомеханикой с упором на конститутивное моделирование грунтов, анализ методом конечных элементов, бессеточные методы, взаимодействие структуры грунта и анализ опасностей. Большая часть его текущих исследований связана с моделированием оползней и селевых потоков, взаимодействием грунта и конструкции, а также проектированием землетрясений на основе характеристик. Он проводил исследования для Национального научного фонда, Тихоокеанского центра инженерных исследований землетрясений (PEER) и Департамента транспорта штата Вашингтон (WSDOT).

      Профессор Ардуино занимал должность профессора Рэя Боуэна за инновации в инженерном образовании с 2003 по 2007 год и получил награду за выдающиеся достижения в области преподавания от Департамента гражданского строительства и окружающей среды Университета Вашингтона. Инженерное дело в 2009 году. Профессор Ардуино был приглашенным профессором в Национальном университете Кордовы, Аргентина, в 2004 и 2008 годах и в Андском университете в Колумбии в 2008 году. Он является членом ASCE EM Inelasticity and ER Earth and Retaining Structures. комитеты и входит в редакцию журнала ASCE Journal of Geotechnical and Geo-environmental Engineering.Профессор Ардуино является членом GEER и входил в состав разведывательной группы, посетившей Чили после землетрясения в Мауле, Чили. Ардуино также выступал в качестве консультанта частных фирм и государственных учреждений в США и за рубежом.

      Вместе с другими преподавателями он разработал Инструмент распространения волн: доктор Слой.

      Образование

      • Доктор философии, Технологический институт Джорджии, 1997 г.
      • MSCE, Университет Пуэрто-Рико, 1993 г.
      • BSCE, Национальный университет Кордовы, 1982 г.

      Новости

      Arduino IDE