Что такое Ардуино
Ардуино представляет собой готовую аппаратно-программную платформу, главными компонентами которой являются небольшая плата-контроллер ввода/вывода и среда разработки на основе Processing/Wiring.
Первый прототип контроллера был выпущен еще в 2005 году, когда Массимо Банци разработал его для студентов Института проектирования взаимодействий города Ивреа, Италия. Название устройства происходит от имени короля Ардуина, правившего Италией всего два года в начале XI века, в честь которого был назван и пивной бар «ди Ре Ардуино», принадлежащий Массимо Банци, и расположенный на том самом месте, где по преданию родился король Ардуин.
Цель Ардуино – создать доступную среду для разработчиков программного обеспечения, которая позволит им войти в мир программирования микроконтроллеров. Программирование контроллеров данный фирмы происходит в простой и интуитивно понятной среде программирования – Arduino IDE. Эта среда удобна как и для начинающих пользователей, так и для опытных. Используется язык программирования С++, который дополнен множеством библиотек, что упрощает работу с устройством.
Ардуино произвела настоящую революцию международного масштаба в сфере разработки электронных устройств. Как схемы, так и исходные коды бесплатно доступны, благодаря чему Ардуино и получила столь широкую популярность. Готовую плату можно приобрести всего за несколько долларов, или собрать ее самому.
Плата Ардуино обладает собственным процессором и памятью, снабжена множеством вводов и выводов, к которым могут быть подключены различные датчики, а также исполнительные устройства и механизмы. На данный момент доступно более 20 основных модификаций плат Ардуино.
Микроконтроллеры платформы Ардуино
Особенность Ардуино в том, что для работы с ней не нужно быть программистом, не требуется специальных знаний о том, как работает микроконтроллер, чтобы построить простой проект. Стандартные библиотеки Ардуино открывают простор для творчества в плане автоматизации чего-либо.
Программирование здесь осуществляется через специальную программную оболочку (IDE), которую можно бесплатно скачать на сайте Arduino. Написанная на Java, дружелюбная оболочка работает под Windows, Mac OS X, и Linux, она содержит текстовый редактор, менеджер проектов, препроцессорный компилятор, а также инструменты для загрузки программы непосредственно в микроконтроллер.
Используемые в Ардуино микроконтроллеры уже имеют прошитый загрузчик (bootloader), поэтому программатор не нужен, достаточно соединить плату с компьютером через USB или через переходник UART-USB, и загрузить программу.
Имеется на плате и возможность прошить загрузчик в микроконтроллер самостоятельно с помощью программатора, в Arduino IDE встроена поддержка наиболее популярных дешевых программаторов, есть штыревой разъем для внутрисхемного программирования (ICSP для AVR, JTAG для ARM).
В большинстве устройств Ардуино используются микроконтроллеры Atmel AVR ATmega328, ATmega168, ATmega2560, ATmega32U4, ATTiny85 с частотой тактирования 16 или 8 МГц. Есть также платы на процессоре ARM Cortex M.
Порты Ардуино
Плата Arduino UNO R3
Для подключения любых электронных компонентов (светодиоды, моторы, датчики и т.д.) к плате контроллера используются порты ввода/вывода. Их также называют пинами. Это цифровые, аналоговые или цифро-аналоговые интерфейсы, имеющие свою собственную функцию.
Как следует из названия, на цифровых пинах у нас цифровой сигнал. Они могут выдавать только два значения: логический ноль (0, LOW) и логическую единицу (1, HIGH).
Аналоговые – похожи на цифровые, с той разницей, что их основная цель – подключение аналоговых датчиков.
Для того чтобы использовать (передавать сигнал) через эти порты, нам следует в своей программе инициализировать их, используя функцию pinMode (<номер пина>,<режим: INPUT/OUTPUT>), где номер пина – это номер разъема, указанный на плате Arduino. Режим INPUT требуется для чтения данных, OUTPUT – для передачи. В случае, когда мы используем такие пины без предварительного указания pinMode, полученные значения могут быть ошибочными.
Цифро-аналоговые порты (или ШИМ – входы/выходы с функцией широтноимпульсной модуляции) – более «умный» интерфейс. Они всегда готовы к приему/передаче данных и не требуют предварительной инициализации. Главным их достоинством является возможность передавать значения в диапазоне от 0 до 255, что позволяет гораздо более
точно вмешиваться в работу подключенных элементов. Такие порты обозначены на плате (и в документации) как PWM или знаком «~» (тильда).
Цифровые и аналоговые пины – порты коммутации (подключения). ШИМ – порты управления. При необходимости изменять параметры работы радиоэлемента, следует подключать его к ШИМ. Если достаточно просто включать/выключать элемент схемы – можно использовать любой порт Arduino.
Другим и последним важным критерием портов платы Arduino, является их физическая составляющая. Следует помнить, что каждый пин: имеет напряжение на выходе 5В. Может дать максимальное количество тока 0.02А
Это небольшие критерии, о которых важно помнить, чтобы сэкономить множество времени.
Программирование
Чтобы освоить базу программирования для Ардуино новичку, нужно всего несколько часов, ибо в сети уже есть огромное количество видео уроков, тематических публикаций, заметок и статей на тему разработки для Ардуино. Основа — C++, дополненный простыми функциями управления вводами/выводами платы, и более въедливые пользователи смогут работать хоть в Visual Studio, хоть в Eclipse, или даже через командную строку.
Внешние устройства и платы-расширения
Практически Ардуино предоставляет огромные возможности для создания любых устройств, можно подключать датчики, замки, моторы, дисплеи, роутеры, да хоть чайники. Можно расширять изделие дополнительными платами — шилдами, например для работы с GPS, для соединения по локальной сети или интернету, для bluetooth, Wi-Fi и т. д. Особенно популярна Ардуино в робототехнике.
Удобно то, что для подключения расширений не нужен паяльник, используются простые штыревые соединения, что позволяет легко конструировать макеты, усложнять их так, как хочется, в общем, простор для творчества безграничен.
Платы-расширения (шилды) уже продаются для множества разных функций, их можно соединять подобно бутерброду, благодаря удобному устройству разъемов. Это могут быть платы беспроводной коммуникации, платы управления шаговым двигателем, и любые другие контроллеры различных назначений.
Почему так популярно использование Ардуино
Платформа Ардуино получила широкое признание у разработчиков новых электронных устройств, преподавателей и студентов инженерных направлений подготовки, а так же школьников в кружках технического творчества.
Использование Ардуино упрощает процесс работы с микроконтроллерами. По техническому оснащению она идеально подходит для образовательного процесса по проектированию различных мехатронных систем и роботов, благодаря понятной среде программирования и возможности наблюдения физических процессов в реальном времени, а также благодаря понятной среде программирования и ряду других преимуществ.
Она может использоваться в качестве средства обучения и исследования в цифровой обработке сигналов, электронике, схемотехнике, робототехнике, автоматике и др. Более мощные платы Ардуино применимы для решения сложных технических задач, связанных с разработкой больших проектов и их комплексной автоматизацией.
Ардуино – это наиболее популярная тенденция, делающая микроконтроллеры доступными для понимания и использования большому количеству людей, даже не специалистов в данной отрасли. При помощи этой популярной платформы можно сделать большое количество интересных и полезных проектов.
Можно сказать, что Ардуино является универсальным расширяемым программируемым контроллером-конструктором, который может стать незаменимым помощником при решения любых творческих задач, связанных с электроникой произвольного назначения, хоть будильник, хоть сложный робот, хоть шаговый двигатель, - всем этим, и не только, можно управлять по нужному алгоритму при помощи Ардуино.
Огромное количество всевозможной периферии: кнопки, датчики, светодиоды, ЖК-индикаторы, и другие органы взаимодействия с окружающим миром, доступны для работы с Ардуино.
В интернет уже доступны сотни программ для Ардуино, способные помочь как начинающим, так и опытным пользователям для реализации их проектов.