Что такое Arduino?
Arduino - это open-source платформа, которая состоит из двух основных частей: самой платы (часто называемой микроконтроллер) и программного обеспечения (специальной оболочки для программирования платы) или IDE (Integrated Development Environment).
Программное обеспечение запускается на персональном компьютере и позволяет записывать разработанный вами код на плату.
Общая информация об Arduino
Arduino обрели особенно сильную популярность среди людей, которые только начинают заниматься электроникой. На то есть несколько причин. В отличие от большинства предшественников, Arduino не требует дополнительного оборудования (программатора) для загрузки кода на плату - используется простой USB-кабель. Оболочка для программирования - Arduino IDE использует упрощенную версию C++, что облегчает процесс обучения для новичков. Кроме того, Arduino использует стандартизированный форм фактор для большинства своих плат, благодаря чему появился целый комплект дополнительных "шилдов".
Arduino Uno показана на рисунке ниже:
Arduino Uno - одна из самых популярных плат в линейке и является отличным выбором для начинающих. Технические характеристики этой модели будут рассмотрены ниже.
Оболочка Arduino IDE:
Поверите или нет, но показанные на рисунке выше 10 строчек кода достаточно, чтобы заставить мигать встроенный на плату светодиод. Возможно, сам код для вас сейчас не очень понятен, но поверьте, он предельно логичен и лаконичен. После этой статьи и нескольких туториалов, вам не составит труда его реализовать самостоятельно.
В этой статье мы остановимся на следующих основных моментах:
- Какие проекты можно реализовать с Arduino
- Основные узлы плат Arduino
- Номенклатура самых удачных моделей Arduino
- Дополнительные (периферийные) устройства для Arduino
Рекомендуем также дополнительно почитать
Arduino предназначена не только для узкоспециализированных специалистов. При этом процесс их освоения будет гораздо легче и приятнее, если у вас за плечами базовые знания схемотехники и электротехники. Рекомендуем получить хотя бы общее понимание перечисленных ниже вещей прежде чем углубляться в удивительный мир Arduino:
- Что такое электричество?
- Закон Ома
- Электрическая цепь
- Интегральная схема (микросхема)
- Аналоговый сигнал
- Цифровой сигнал
Зачем вам Arduino?
Arduino разработана для... Всех. Так, во всяком случае, заявлено на официальном сайте компании. Список примерно такой: артисты, дизайнеры, хакеры, программисты, инженеры, для всех, кто интересуется разработкой и воплощением интерактивных проектов. Arduino может взаимодействовать с кнопками, светодиодами, двигателями, динамиками, GPS-модулями, температуру, камерами, интернетом и даже вашим смартфоном или телевизором! Подобная гибкость в сочетании с тем, что софт от Arduino - совершенно бесплатный, сами платы достаточно дешевые и легки в осваивании привела к появлению огромного сообщества поклонников данной платформы, которые выкладывают собственные куски кода, библиотеки и инструкции для огромного количества проектов с использованием Arduino.
Arduino используются в качестве "мозгов" для роботов, 3D принтеров, в системах автоматизированного полива, светодиодных кубах, грелках, в системах "умных домов" и т.д. Список постоянно растет. Все проекты и не перечислишь. Скажем так: Arduino находят применение практически в любом проекте, где необходима автоматизация.
И это только вершина айсберга. Если вам интересно взглянуть на Arduino проекты в действии, вот несколько ссылок на хорошие ресурсы (на английском языке):
Из чего состоит плата Arduino?
Выпускаются различные модели Arduino. Каждая из них "заточена" для различных задач. Некоторые платы принципиально отличаются от приведенной на рисунке ниже. Но большинство из них имеют следующие одинаковые узлы:
Разъем питания (USB / разъем для адаптера)
Каждая плата Arduino должна подключаться к источнику питания. Arduino Uno может запитываться от USB кабеля от вашего персонального компьютера Или от отдельного адаптера, который подключается к предусмотренному на плате разъему. На рисунке соединение через USB отмечено (1), а разъем для внешнего источника питания - (2).
USB также используется для загрузки вашей программы (скетча) на плату.
Примечание! Не используйте источник питания с напряжением на выходе более 20 вольт. Это может привести к тому, что ваша плата перегорит. Рекомендуемое напряжение питания для Arduino - от 6 до 12 вольт.
Разъемы (пины) (5V, 3.3V, GND, Analog, Digital, PWM, AREF)
Пины на вашей плате Arduino - это предусмотренные разъемы, к которым вы будете подключать провода от периферийных устройств (очень часто для прототипов используют монтажные платы (макетная плата, макетка) и провода с коннекторами на концах). На Arduino несколько типов пинов, каждый из которых подписан в соответствии с выполняемой функцией.
- GND (3): сокращение от ‘Ground’ - 'Земля'. На платах несколько пинов GND, каждый из которых может использоваться для заземления вашей электрической цепи.
- 5V (4) и 3.3V (5): как вы могли уже догадаться - питы, которые на выходе обеспечивают питание 5 вольт и 3.3 вольт соответственно. Большинство компонентов, которые подключаются к Arduino, благополучно питаются именно от 5 или 3.3 вольт.
- Analog (6): на участке, который подписан ‘Analog In’ (от A0 до A5 на Arduino Uno) расположены аналоговые входы. Эти пины позволяют считывать сигналы от аналоговых датчиков (например, датчик температуры) и преобразовывать их в цифровые значения, которыми мы в дальнейшем оперируем.
- Digital (7): напротив аналоговых пинов находятся цифровые пины (от 0 до 13 на Arduino Uno). Эти пины используются для цифровых входящих (input) сигналов (например, нажатие кнопки) и для генерации цифровых исходящих (output) сигналов (например, питание светодиода).
- PWM (8): вы наверное заметили знак (~) рядом с некоторыми цифровыми пинами (3, 5, 6, 9, 10, и 11 на UNO). Эти пины работаю как в обычном цифровом режиме, так и в режиме ШИМ-модуляции (PWM). Если объяснить вкратце - эти пины могут имитировать аналоговый выходной сигнал (например, для постепенного затухания светодиода).
- AREF (9): Этот пин используется достаточно редко. В некоторых случаях это подключают в схему для установки максимального значения напряжения на аналоговых входах (от 0 до 5 вольт).
Кнопка сброса (Reset Button)
Как и на оригинальных Nintendo, на Arduino есть кнопка сброса (reset) (10). При нажатии на нее контакт сброса замыкается с землей и код, загруженный на Arduino начинает отрабатывать заново. Полезная опция, если ваш код отрабатывает без повторов, но вы хотите протестить его работу.
Индикатор питания (Power LED)
Немного справа и ниже надписи “UNO” установлен светодиод, подписанный "on" (11). Этот светодиод должен загореться, когда вы подключили Arduino к источнику питания. Если светодиод не загорелся - плохой знак ;).
Светодиоды TX и RX
TX - сокращение от transmit (передача), RX - от receive (прием). Эти условные обозначения часто встречаются в электронике для обозначения контактов, которые отвечают за серийный обмен данным. На Arduino Uno эти контакты встречаются два раза на цифровых пинах 0 и 1 и в качестве светодиодов TX и RX (12). Эти светодиоды позволяют визуально отслеживать, передает или принимает данные Arduino (например, при загрузке программы на плату).
Главная интегральная микросхема (IC)
Черная деталь с металлическими коннекторами с двух сторон это интегральная микросхема, микропроцессор (IC или Integrated Circuit) (13). Можете смело считать, что это "мозги" нашей Arduino. Этот чип разный в разных моделях Arduino, но обычно он относится к линейке микропроцессоров ATmega от компании ATMEL. Это может оказаться важной информацией для загрузки скетча на плату. Модель интегральной микросхемы обычно указана на ее верхней корпусной части. Для дополнительной информации о вашей микросхеме стоит обратиться к ее даташиту.
Регулятор напряжения
Регулятор напряжения (14) is выполняет функцию, указанную в названии - контролирует напряжение, которое поступает на плату Arduino. Можете его себе представить как охранника, который не пропускает слишком большое напряжение на плату во избежание ее повреждений. Конечно же, у регулятора есть свой предел. Так что питать Arduino напряжением больше 20 вольт нельзя.
Номенклатура плат Arduino
Arduino производит разные платы, каждая из который имеет собственные особенности. Кроме того, Arduino придерживаются модели open source, благодаря чему другие могут модифицировать и производить клоны Arduino, расширять и изменять их функционал и форм-фактор. Ниже приведены короткие сведения о различных моделях Arduino.
Arduino Uno (R3)
Arduino Uno - отличный выбор для начинающих. Очень сбалансированная плата, на которой есть, все, что вам может понадобиться и минимум лишнего. На плате 14 цифровых пинов, которые работаю на вход и на выход (6 из них поддерживают ШИМ-модуляцию), 6 аналоговых входов. Подключается плата с помощью USB. Есть джек для отдельного источника питания, кнопка сброса и т.п. Для начала работы с микроконтроллером достаточно подключить плату к компьютеру с помощью USB кабеля.
LilyPad Arduino
Основная плата в линейки LilyPad Arduino! LilyPad разработана в первую очередь для использования на одежде. Пины соединяются с периферийными устройствами с помощью токопроводящей нити. Есть куча дополнительных плат расширений для LilyPad. Большинство из них спроектированы таким образом, что не боятся влаги.
RedBoard
Разработка SparkFun, которая программируется с помощью USB Mini-B кабеля в оболочке Arduino IDE. Основными преимуществами производитель называет: стабильность работы под ОС Windows 8 благодаря драйверам с необходимой цифровой подписью. На плате используется чип USB/FTDI, который меньше по габаритам по сравнению с чипом на Arduino UNO. Для заливки скетча на плату в IDE выбирается модель Arduino UNO. Регулятор напряжения рассчитан на питание в диапазоне от 7 до 15 вольт.
Arduino Mega (R3)
Arduino Mega - словно старший брат Uno. На плате много (54!) цифровых входов/выходов (14 из них поддерживают ШИМ-модуляцию). Благодаря большому количеству пинов, плата используется для комплексных проектов, в которых подключается большое количество периферии (например, сведодиодов или кнопок). Подключение к компьютеру реализуется таким же кабелем как и на Arduino Uno. Естественно, предусмотрен джек для адаптера.
Arduino Leonardo
Leonardo - первая разработка Arduino, в которой используется один микроконтроллер со встроенным USB. Это значит, что плата становится проще и дешевле. Так как плата подключается непосредственно к USB без конвертера, есть библиотеки, которые позволяют эмулировать компьютерную мышь, клавиатуру и многое другое!
Arduino Pro Mini
Arduino Pro Mini - лучший вариант для ваших проектов, в которых необходима высокая мобильность или крепление контроллера непосредственно на подвижных узлах вашего механизма. Полный гайд по использованию плат Arduino Pro Mini можно найти в этой статье.
Дополнительные устройства для Arduino
Безусловно, Arduino сама по себе уже прекрасна. Но как отдельный узел она на многое не способна. Что-то надо к ней подключать. На просторах интернета огромное количество туториалов и проектов, из которых вы можете черпать идеи для своих проектов. В этой части мы сделаем небольшой обзор датчиков и шилдов (плат расширений) для Arduino.
Датчики (сенсоры)
С помощью коротенького кода и Arduino вы можете управлять широчайшим спектром датчиков - сенсоров, которые позволяют измерять уровень освещенности, температуру, давление, расстояние, силу, влажность, радиоактивность, ускорение и многое другое. На рисунке ниже приведены несколько из огромного количества датчиков, совместимых с Arduino:
Шилды (Shields) для Arduino
Помимо всего прочего, есть такая замечательная вещь как шилды - по сути это отдельная электросхема, которая имеет коннекторы и садится на вашу плату Arduino и обеспечивает упрощенное управление двигателями (Motor шилд), подключение к интернету (Ethernet шилд), радиосвязь, управление жидкокристаллическими и сенсорными экранами и т.д.
Некоторые из шилдов показаны на рисунке ниже:
Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!