→ Какой ардуино выбрать. IT портал Железногорска. Расположение и название контактов

Какой ардуино выбрать. IT портал Железногорска. Расположение и название контактов

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

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

Плату Arduino Uno с некоторых пор можно считать основным компонентом в сообществе радиолюбителей (Рисунок 2). Сейчас платы Arduino доступны в различных форм-факторах, с различным набором периферии. Большая их часть выполненыа на 8-разрядном микроконтроллере компании Atmel. А не так давно была анонсирована плата Arduino Due на мощном ARM микроконтроллере с ядром Cortex-M3. Для нашего обзора была выбрана Arduino Uno в качестве представителя платформы Arduino. Для нее доступны простая среда разработки и большая база знаний и наработок, что говорит о возможности создания достаточно функциональных приложений.

Плата Raspberry Pi является новичком в «игре» - это одноплатный компьютер, позиционирующийся на рынке как дешевое решение для начинающих разработчиков встраиваемых систем (Рисунок 3). Несмотря на скромный вид и низкую стоимость (около 35$), вы получаете реальный компьютер, который может стать основой для множества проектов.

BeagleBone является, пожалуй, наименее известной из всех трех платформ, но ее возможности заслуживают внимания создателей встраиваемых приложений. Это мощный Linux-компьютер компактных размеров, который поддерживает работу с ОС Android и Ubuntu (Рисунок 4).

Рисунок 4.

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

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

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

Платформа Arduino Uno Raspberry Pi BeagleBone
Модель R3 Model B Rev A5
Ориентировочная цена 29.95$ 35$ 89$
Габаритные размеры 7.5 × 5.3 см 8.5 × 5.4 см 8.6 × 5.3 см
Микроконтроллер ATmega328 ARM11 ARM Cortex-A8
Тактовая частота 16 МГц 700 МГц 700 МГц
ОЗУ 2 Кбайт 256 Мбайт 256 Мбайт
Flash-память 32 Кбайт SD карта 4 Гбайт (SD карта)
EEPROM 1 Кбайт - -
Напряжение питания 7 - 12 В 5 В 5 В
Минимальное
энергопотребление
42 мА (0.3 Вт) 700 мА (3.5 Вт) 170 мА (0.85 Вт)
Цифровые линии
ввода/вывода
14 8 66
Аналоговые входы 6
(10-битный АЦП)
- 7
(12-битный АЦП)
Каналы ШИМ 6 - 8
Интерфейс TWI/I2C 2 1 2
Интерфейс SPI 1 1 1
Интерфейс UART 1 1 5
Инструменты
разработки
Arduino IDE IDLE, Scratch,
Squeak/Linux
Phyton, Scratch,
Squeak, Cloud9/Linux
Порт Ethernet - 10/100 10/100
Интерфейс USB Master - 2 USB 2.0 USB 2.0
Видео выход - HDMI, композитный -
Аудио выход - HDMI, аналоговый Аналоговый

Arduino и Raspberry Pi - недорогие платы стоимостью до 40$. BeagleBone предлагается по цене почти трех Arduino Uno. Однако Arduino в 40 раз медленнее и имеет в 128,000 раз меньше оперативной памяти, чем два оставшихся участника. Уже на данном этапе вы можете видеть важные отличия. Arduino и Raspberry Pi - дешевые платы, а Raspberry Pi и BeagleBone - гораздо более мощные.

Кажется, что Raspberry Pi выглядит на данный момент оптимальным решением, но это не совсем так: для работы вам потребуется отдельно приобрести карту памяти SD, а это еще 5 - 10$ к стоимости самой платы. Также, несмотря на одинаковую тактовую частоту, по тестам BeagleBone работает вдвое быстрее Raspberry Pi. И как бы парадоксально это не звучало, Arduino является оптимальным выбором, по крайней мере, для новичков. Основной причиной этому является операционная система Linux, под управлением которой работают платы Raspberry Pi и BeagleBone. Это «причудливое» ПО превращает платы в крошечные компьютеры, которые способны выполнять несколько программ одновременно и могут программироваться на различных языках. Разработка же приложений на Arduino очень проста из-за отсутствия многозадачности и программирования на языке низкого уровня Си++.

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

Выбор платформы для разработки

Для новичков, мы рекомендуем Arduino. На сегодняшний день сообщество Arduino - это множество пользователей, огромное количество учебных материалов, готовых решений и проектов, которые можно использовать в своих приложениях. Кроме того, Arduino предлагает самый простой способ взаимодействия с внешней периферией.

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

Для компактных устройств мы рекомендуем платформу Arduino. Все три тестируемые модели плат для разработки являются малогабаритными. Единственный отрицательный момент присущ Raspberry Pi - установленная в слот карта памяти SD делает плату больше остальных участников теста (Рисунок 8).

Как мы заметили выше, существует очень много вариаций плат Arduino (Рисунок 5), но у всех есть две общие черты: используется определенный микроконтроллер компании Atmel и программный загрузчик (bootloader) Arduino, который реализует базовые функции платы. Для компактных устройств (возможно, не требующих применения печатной платы) вы можете приобрести этот дешевый микроконтроллер и запрограммировать в него загрузчик с помощью любого программатора AVR микроконтроллеров.

Для разработки приложений, требующих подключения к сети Интернет, мы рекомендуем BeagleBone или Raspberry Pi. Оба устройства работают под управлением ОС Linux, имеют порты Ethernet и USB (Рисунок 6). Посредством USB можно подключать модули беспроводной передачи данных и, таким образом, реализовать функции беспроводной передачи данных и подключение к сети Интернет (Рисунок 7). К тому же, ОС Linux имеет множество встроенных программных компонентов, предоставляющих расширенные сетевые функции.

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

Для приложений и систем взаимодействующих с внешними датчиками и исполнительными механизмами мы рекомендуем Arduino или BeagleBoard. Любой вариант аппаратной платформы Arduino подразумевает простое подключения внешних сенсоров и взаимодействие с ними. Для радиолюбителей доступно нескольких вариантов плат с напряжением питания 3.3 В и 5 В, что упрощает подключение внешней периферии. Напряжение питания платы BeagleBone составляет 3.3 В, поэтому в случае подключения некоторых типов внешних устройств необходимо использовать дополнительные резисторы или схемы согласования логических уровней. И Arduino, и BeagleBone имеют интерфейс аналого-цифрового преобразователя (разрешение АЦП, встроенного в микроконтроллер на плате BeagleBoard, несколько выше), что говорит о возможности подключения различных аналоговых датчиков.

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

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

Для приложений с графическим пользовательским интерфейсом рекомендуется использовать Raspberry Pi. Одноплатный компьютер Raspberry Pi действительно можно выделить в отдельную категорию, поскольку плата снабжена выходом HDMI (Рисунок 8). Это означает, что вы можете подключить к плате мышь и клавиатуру, а саму плату подключить непосредственно к телевизору. Таким образом, вы получаете полнофункциональный компьютер, который идеально подходит для применения в торговых терминалах и киосках. Мы ради интереса в ходе тестирования установили на Raspberry Pi программные инструменты разработки для Arduino, написали небольшую программу и запрограммировали плату Arduino через интерфейс Raspberry Pi.

Заключение

Arduino - это достаточно функциональная и гибкая платформа разработки встраиваемых приложений с огромными возможностями для взаимодействия с внешним миром. Она прекрасно подойдет для изучения микроконтроллеров и может служить основой для небольших проектов. Raspberry Pi будет оптимальным выбором для приложений, требующих наличия дисплея, графического пользовательского интерфейса и подключения к Интернет.

В платформе BeagleBone идеально совмещена гибкость Arduino, производительность процессора платы Rapberry Pi и ОС Linux (и на самом деле, производительность выше, чем у Raspberry Pi). Имея достаточное количество входов/выходов, BeagleBone обеспечивает простое подключение к сети и позволяет реализовать web-сервер.

Ардуино – одна из удобнейших систем микроконтроллеров, позволяющих инженеру реализовать любую свою задумку, без лишних проблем в программной части. Всё, что необходимо, уже присутствует в бесплатных библиотеках, которые можно скачать на нашем сайте.

А благодаря модульности появляется возможность сконструировать любую систему, в зависимости от необходимости. Начиная с простого смарт-прибора для контроля освещённости и температуры в помещении, и заканчивая умными аграрными системами. Давайте же разберёмся, что такое Ардуино модули и какие их виды существуют.

Для начала стоит понять, зачем вообще подобная модульность необходима. Ведь, казалось бы, Ардуино – это всего лишь микроконтроллер, к которому можно приспособить любой сторонний датчик. Но на деле всё не так просто, как раз из-за программной части и других особенностей системы, поэтому, для расширения функционала, и присутствуют специальные Аrduino модули, позволяющие приспособить МК к любым потребностям человека, который его использует. Это основная функция, объясняющая необходимость модульности, помимо неё, присутствуют и другие причины такого решения:

  1. Стандартизированный набор датчиков с одинаковыми характеристиками позволяет писать универсальные решения для различных ситуаций. Таким образом, захотев воплотить в жизнь какой-то проект, вам не нужно самостоятельно изучать язык программирования и создавать уникальную электросхему. В большинстве случаев, уже готовая система или какие-то её части присутствуют в свободном доступе, инженеру лишь остается их правильно скомпоновать, что значительно экономит время при реализации задумок.
  2. Простота работы с Ардуино . Уже описанная выше стандартизация, позволяет быть уверенным, что купленный вами датчик или специальный модуль, не нужно будет подключать с помощью дополнительных шлейфов или переходников. Хоть иногда и появляется необходимость самостоятельно паять платформу под Ардуино, но, в большинстве случаев, вы можете приобрести уже готовую, под конкретные модули и потребности. Более того, существуют универсальные платы, полностью раскрывающие возможности модульной системы.

Виды

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

  1. Датчики . Разнообразные системы или контроллеры, позволяющие считывать, отправлять и обрабатывать информацию. Хотя последние иногда относят ко второму классу модулей, но из-за тесной связи с устройствами ввода-вывода их лучше причислить именно к датчикам, тем более, зачастую они выполняют сразу две функции. Все эти устройства направленны на расширение аппаратного функционала системы, например, чтобы дать возможность Ардуино считывать расстояние до объекта или влажность воздуха, что просто необходимо для многих систем.
  2. Модули , расширяющие вычислительные мощности проекта. Это различные карты памяти, дополнительные буферы для проведения операций и вспомогательные многопоточные процессоры. К ним же можно отнести вариации самого микроконтроллера, характеристики которого варьируются от версии к версии. Они направлены именно на улучшение возможностей программной части системы, например, дополнительные карты памяти позволяют хранить больше информации в различных кодеках, чтобы воспроизводить какие-то аудиодорожки. Особенно необходимы при проектировании сложных систем с нейросетями или в робототехнике, в которой также используется Ардуино.

Сами же датчики отдельно делятся на:

  1. Устройства ввода или получения информации. Это различные сканеры, которые позволяют получить данные об окружающей среде, будь то уровень освещённости или влажности воздуха. С их помощью возможно ввести различные переменные, в зависимости от которых система будет определять свои дальнейшие действия. Являются базой для большинства систем, и без них невозможно реализовать любой смарт-девайс. Простейшим примером будет всё тот же датчик расстояния, хотя и их существует несколько видов.
  2. Устройства обработки информации. Зачастую уже встроены в предыдущий тип, из-за чего считаются комбинированными, но нередко такие модули устанавливаются и отдельно. Имеют небольшой объем памяти или вовсе продаются без него, и способны выполнять лишь простые промежуточные операции. Подобным модулем можно считать даже МК Ардуино различных версий, но не стоит их путать с устройствами, расширяющими вычислительные возможности главного контроллера, ведь они именно выполняют операции.
  3. Устройства вывода информации. У большинства ассоциируются с простейшим ЖК-экраном, хотя это далеко не единственная разновидность данных девайсов. Необходимы для того, чтобы выводить результаты вычислений, для получения фидбека от системы и проверки различного функционала. Бывают звуковыми, визуальными и тактильными, соответствуя каждому из органов чувств человека. Также могут комбинироваться с первыми двумя видами, становясь гибридным дополнением к микроконтроллеру.

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

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

Технические характеристики, свойства и функции

Технические характеристики и функционал напрямую зависят от докупаемого пользователем модуля, поэтому невозможно выделить конкретные свойства продуктов. Единственная их общая черта – специальная распиновка, для подключения к платформам Ардуино, без которых было бы невозможно или крайне тяжело выполнять связь между микроконтроллером и устройством. В остальном, все характеристики крайне вариативны и зависят от девайса к девайсу.

Примеры популярных Ардуино модулей

Ультразвуковой дальномер HC-SR04

Самый популярный ультразвуковой датчик, которые работает по следующему принципу: отправляет ультразвуковую волну, считает время, за которое она возвратится. Мы знаем скорость звука и время, за которое волна вернулась, а далее мы рассчитываем расстояние до объекта. Данный модуль стоит довольно дешево, диапазон измерений от 2 см до 4 метров.

Инфракрасный дальномер Sharp

Также довольно широко используются дальномеры Sharp с рабочим диапазоном от 20 см до 1,5 метров. Цена таких модулей выше, чем звуковых дальномеров.

Модуль температуры и влажности DHT11

Этот Ардуино модуль измеряет температуру в диапазоне от 0 до +50 °C и влажность от 20 до 90%. Часто используется для измерений данных в комнате или теплице. Также оченб популярен при создании систем по управлению климатом или умных домов.

Барометр BMP085 или BMP180

С помощью модуля Барометр можно определить атмосферное давление от 30 до 110 кПа. Используется при создании на базе Ардуино аналогов метеостанциё.

Модуль-датчик влажности почвы FC-28

Модуль измеряет влажности почвы или среды в которую его втыкают. Состоит из двух частей. Его используют для автоматизированного полива растений.

Bluetooth HC06

Помогает организовать беспроводную связь Ардуино с компьютером, телефоном или другими устройствами.

Как подсоединить

Подсоединяются модули с помощью всё той же распиновки, но не напрямую к МК. Зачастую для этого используют специальные платформы с дорожками, которые делаются самими инженерами или заказываются отдельно.

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

Стоимость

Стоимость дополнительных датчиков и других девайсов также крайне вариативна, может начинаться от 50 центов и заканчиваться десятками долларов. Всё напрямую зависит от того, где вы их заказываете, конкретной разновидности и множества других факторов, поэтому выдать какое-то среднее арифметическое по их цене – невозможно.

Как выбрать Arduino Данный вопрос возникает у всех, кто впервые решился создать проект с использованием Arduino. Определились с необходимыми деталями: сенсорами, датчиками, модулями и т.д., и столкнулись с немалым ассортиментом плат Arduino, в добавок у каждой платы еще и по два, три аналога. Некоторые думают, что чем дороже и мощнее - тем лучше, приобретают серьезные решения, как например Arduino Due, а потом понимают, что на нем работают не все скетчи, и самостоятельно справиться со всей мощью данного девайса, для них трудно. Другие идут по противоположному пути и сталкиваются с нехваткой ресурсов (память, выводы, порты, тактовая частота, питание). Как же найти ту золотую середину′ Попробуем разобраться...

Плата Плюсы Минусы

Arduino Uno

функционал как у ProMini и Nano
  • Плата является самой распространённой в семействе Arduino, именно для неё создано наибольшее количество уроков
  • Благодаря наличию DIP панели, можно менять микроконтроллер
  • При одинаковом функционале с Arduino ProMini, Nano и Micro плата имеет в разы большие размеры

Arduino Mega 2560

  • Подходят shield созданные под Arduino UNO
  • Максимальное количество выводов
  • Расширенный объем всех видов памяти
  • Нельзя установить на Breadboard без использования проводов

Arduino Leonardo

функционал как у MICRO

  • Подходят shield созданные под Arduino UNO
  • Плата является усовершенствованной версией Arduino UNO и работает с большинством её скетчей
  • Нельзя установить на Breadboard без использования проводов
  • Некоторые скетчи созданные под Arduino Uno не работают на Leonardo, т.к. используются разные микроконтроллеры

Arduino Due


  • Количество выводов как у Arduino Mega
  • Внедрены два аналоговых выхода
  • Используется мощный 32 разрядный микроконтроллер с тактовой частотой 84МГц
  • Нельзя установить на Breadboard без использования проводов
  • Самый большой размер платы во всём семействе Arduino
  • Не все скетчи предусматривают столь высокую тактовую частоту
  • Не все shield предусматривают передачу сигналов с граничным напряжением 3,3В
  • Напряжение питания 3,3В

Arduino ProMini 3.3V

функционал как у Nano и UNO


  • Самая маленькая тактовая частота микроконтроллера, всего 8МГц
  • Напряжение питания 3,3В

Arduino ProMini 5V

функционал как у Nano и UNO

  • Можно использовать для конструирования схем на Breadboard
  • Самая миниатюрная плата в семействе Arduino
  • Поставляется без впаянных штыревых контактов, что позволяет использовать навесной монтаж
  • Не подходят shield созданные под Arduino UNO
  • Нет контроллера USB, в связи с чем требуется внешний программатор

Arduino NANO V3.0

функционал как у ProMini и UNO


  • Можно использовать для конструирования схем на Breadboard
  • Плата незначительно больше чем Arduino ProMini, но имеет порт USB и не требует использования внешнего программатора
  • Не подходят shield созданные под Arduino UNO
  • Внедрение порта USB cконтроллером, привело к увеличению объёма flash-памяти выделяемой под загрузчик (по сравнению с Arduino ProMini)

Arduino MICRO

функционал как у Leonardo


  • Можно использовать для конструирования схем на Breadboard
  • Плата незначительно больше чем Arduino Nano, но имеет весь функционал Arduino Leonardo
  • Есть возможность имитировать различные USB устройства при подключении к ПК (плата будет определяться как мышь, клавиатура и т.д.)
  • Не подходят shield созданные под Arduino UNO
  • Передача функции контроллера USB на микроконтроллер, привело к увеличению объёма flash-памяти выделяемой под загрузчик

Первый вопрос влияющий на выбор Arduino - какой проект Вы хотите реализовать′

Если Вы хотите создать уже готовый проект , любезно предоставленный другими разработчиками, то логичным приобретением будет та Arduino, на которой проект был создан изначально. Здесь стоит отметить тот факт, что теперь, на территории РФ платы Arduino распространяются под торговой маркой Geduino. То есть, как Вы правильно поняли, Arduino Micro отличается от Geduino Micro названием и логотипом (это не аналог), о чем написано на официальном сайте . А так как последняя стоит дешевле, то выбор очевиден.

Если Вы не определились с проектом , но хотите приобрести Arduino для собственных экспериментов, то немаловажным фактором является количество различных примеров в сети, под ту или иную Arduino. Тут несомненным лидером является Arduino UNO , это объясняется тем, что данная плата является старшей в линейке Arduino, при этом не является устаревшей, так как претерпела не мало изменений с момента создания.

Если Вы собираетесь реализовать собственный проект , то к выбору Arduino стоит подходить методом исключения. Если в Вашем проекте имеются модули с выводами под Arduino Uno , тогда исключаем Arduino ProMini 3.3V , Arduino ProMini 5V , - аналог Arduino Nano ), но могут иметь другой тип USB разъема, немного отличаться по габаритам, иметь иной контроллер USB, иной тип корпуса микроконтроллера, цвет платы и т.д. Здесь нужно понимать, что данные платы повторяют функционал их оригинала (на который они похожи названием), так как используют тот же микроконтроллер ATmega, той же серии. Габариты платы, корпус микроконтроллера и тип USB порта, можно определить по фото. А наличие «CH340G» в названии, означает о том, что в качестве контроллера USB используется не стандартный для Arduino чип FTDI, а его аналог CH340G, следовательно, для подключения такой Arduino к компьютеру, нужно установить драйвер для чипа CH340G . Данные платы подойдут тем, кто считает, что однократная установка драйвера не является неудобством, а пониженная цена - является преимуществом перед оригинальным названием.

Среди всего разнообразия плат Arduino новичку сложно выбрать подходящую. Кроме официальных плат, типа Arduino UNO, Nano, MEGA, существуют еще и ардуино-совместимые платы, типа Digispark, «Электронные войска», Seeeduino, Freeduino, Robocraft и другие. В чем их отличие и какую плату Arduino выбрать? Давайте разберемся!

Совместимость с шилдами и основные отличия

Пожалуй, эта характеристика стоит на ряду с такими как: объём памяти, тактовая частота и тип используемого микроконтроллера. Платы клоны Ардуино можно разделить по подобию с базовыми платами Arduino UNO, MEGA и прочие. Самой распространенной является UNO, собственно большинство клонов связаны, именно с ней. Совместимость с шилдами обеспечивается расположением клеммных колодок и разводкой печатной платы.

Размер платы оригинальной UNO 6.9х5.3 см, размеры плат сторонних производителей могут отличаться, но расположение клеммных колодок и расстояние между разъемами должно оставаться одинаковым. В таком случае плата будет совместима со стандартными шилдами любого происхождения.

Если речь идет в контексте «ардуино», скорее всего, именно эта версия и имеется в виду. Отличия между оригиналом и клоном могут отсутствовать, т.е. полная копия, а разницей могут быть лишь цвет покрытия платы и способ прошивки. USB-serial конвертер, на той же УНО, выполнен на микроконтроллере, тогда как на оригинальных НАНО - на 232-ой микросхеме, а на китайской - на CH340, встречаются и УНО с такими конвертерами, об этом позже.

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

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

Плата совместима с языком ардуино, но не совместима с шилдами. Если их нужно подключать, то нужно производить подключение вручную к соответствующим пинам. Кстати эта плата ориентирована на носимые устройства, как вариант для умной одежды. Такую плату производит компания SparkFun.

Обзор плат и советы по их применению

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

    Роботехника;

    Автоматика;

    Для обучения и пр.

Названия плат обычно содержат приставку «Duino», как craftduino или DCduino, а модель платы может и совпадать по названию, как та же DCduino UNO, если она дополнена - тогда будет еще одна приставки или совсем другое слово описывающее добавочные функции. Кроме выше перечисленного стоит обращать внимание на напряжение питания и логических уровней, они могут быть 3.3 и 5 В.

Для начала однозначно брать нужно распространенную плату - Arduino UNO-подобную или Nano, первая стоит порядка 5 долларов, вторая немногим дешевле - 3-5 долларов.

Если вам встретится модель под названием Duemilanove, это полный аналог UNO. Отличия лишь в способе связи с компьютером, выше я упомянул, что на UNO она организована на дополнительном микроконтроллере - Atmega8u2, Duemilanove общается с компьютером через FT232RL.

Перейдем к обзору плат. На фото ниже это полные клоны ардуино, ниже мы рассмотрим модернизированные платы.

Отличный клон UNO, главное отличие - наличие дополнительных контактов разъёма «GVS» (ground-voltage-signal). Это не совсем разъём, а скорее порядок размещения проводов в разъёме. Именно так подключаются многие датчики и прочая периферия.

Но в стандартной гребенке контакты расположены иначе, при этом вам обязательно не хватит контактов питания (Vcc и Gnd), придется скручивать провода, либо использовать беспаечную макетную плату для подсоединения. Разработчики Iteaduino предусмотрели это и решили проблему дублированием контактов типа «папа» в правильной последовательности.

Если вы не нашли такую плату - придется покупать шилд, но работать с ним не так удобно, тем более для начинающего лучше, когда деталей меньше.

Подобные платы позволяют уменьшить габариты и вес конечного продукта за счет уменьшения количества шилдов.

Еще одна уно-подобная плата с возможностью подключения к сети по кабелю и установки микро SD-карты. Хотя и есть Ethernet-shield, но опять-таки - он увеличит объём занимаемый платой в корпусе и вес продукта. Плата , но на ней отсутствует USB-интерфейс.

Для прошивки нужно дополнительно приобрести USB-UART конвертер вот такой, например, его гребенка подходит к такой же на плате Arduino Ethernet.

Leonardo и Esplora

Модель Arduino для тех, кому нужно много аналоговых входов, для считывания аналоговых датчиков, здесь их 12, против 6 на плате УНО.

Это получилось за счет использования Atmega32u4, а не Atmega328, как на большинстве плат они подключены к пинам, те, что на UNO были цифровым: 4, 6, 8, 9, 10, 12.

Такая разводка позволяет использовать их как раньше, что даёт совместимость с платами расширения или подключать источники аналогового сигнала. ШИМ выводов здесь не 6, а 7.

Исчезла необходимость в USB-UART конвертере, в Atmega32u4 интегрирована аппаратная поддержка USB. Для работы может потребоваться дополнительный модуль PoE. Такие платы отлично подходят для создания контроллеров для ПК, он поддерживает USB HID, и может выступать в роли мыши или клавиатуры или геймпада, с соответствующей обвязкой и деталями.

Интересен Leonardo тем, что при одинаковых размерах и совместимости с UNO имеет больше функций в плане работы с ШИМ и аналоговым сигналом.

На его основе сделана Esplora - по сути плата джойстика совместимая с арудиновским кодом и возможностью программирования и создания уникального девайса. На фото ниже вы видите такую плату с дополнительным дисплеем (в комплект его нет), напоминает портативную консоль.

MEGA и DUE

Если вы собрались делать систему автоматизации для целого дома или другой объёмный проект вам не хватит выводов . На помощь придет контроллер Atmega2560, и плата ардуино с аналогичным названием, здесь есть 54 цифровых входа-выхода и 16 аналоговых. Это более, чем в 2 раза больше, чем у тех, что мы рассмотрели выше. К ней продаются соответствующие большие шилды.

UNO-шилды условно совместимы. Только нужно в библиотеках править расположение пинов, потому что их нумерация различна.

Если вам нужно еще больше возможностей, стоит сменить архитектуру. Arduino DUE построен не на МК семейства AVR8, а на ARM CORTEX-M3. Это 32-х разрядный контроллер. 54 цифровых и 12 аналоговых каналов помогут реализовать большой проект. 4 UART интерфейса, SPI, Twin-Wire, JTAG. 512 кб флеш, 96 SRAM, 32 разряда - всё это нужно для высокой скорости выполнения сложных программ.

Напомню, что у атмеги328 всего 32 кб флеш-памяти и 2 кб SRAM

ВНИМАНИЕ:

Питание и напряжение логических уровне - 3.3 В, если хотите убить DUE, подайте на неё 5 В.

Самые маленькие ардуины

Для тех, кому важна мобильность есть целый ряд официальных плат и одна весьма занимательная ардуино-совместимая. Они подходят для тех, кто хочет спроектировать скрытое устройство или носимое (портативное). Давайте рассмотрим их подробнее.

Актуальная версия - Arduino Nano v3.0. Из маленьких она наиболее удобна, для прошивки используется Mini-b USB-кабель, но китайские копии часто используют micro-USB разъём, который очень распространен для подключения смартфона к компьютеру или его зарядки.

По количеству и назначению пинов она аналогична UNO, но не совместима с шилдами. Кстати, для нано встречаются специализированные шилды (китайцы делают все, что только можно вообразить). Чаще всего китайские копии используют CH340G для связи с компьютером через USB, лично у меня на Windows 8.1 драйвер не установился автоматически, проблема решилась после 2-х минут поиска в гугле по названию микросхемы, дальше всё пошло как по маслу.

Немного больше, чем нано. Микро и нано отлично подходят для размещения на макетной плате, почти всегда это делает сборку схемы и монтаж более удобным. В остальном всё аналогично предыдущей различия лишь в компоновке платы.

Arduino mini - не работает по USB

Самая мелкая плата, аналогичная по функционалу «ункам» и «нанкам» - это «мини». Забавно, что самая маленькая плата, судя по названию, должна быть больше, чем «нано». Получилось наоборот. Экономия размеров достигнута за счет исключения узла связи по юсб (rs232, ch340g и подобных) и самого разъёма. Для этого есть контактные площадки для подключения по последовательному интерфейсу.

Прошивка осуществляется с помощью USB-serial (usb-uart) переходников. Если вы собираетесь заниматься микроконтроллерами - стоит его приобрести, он много где может пригодиться.

Может поставляться как с распаянными контактными площадками, так и просто приложенными в комплекте, для самостоятельной установки.

Интересная разработка Digispark. Её форм-фактор напоминают флешку, для её прошивки не нужен кабель, она сама вставляется в USB-порт компьютера.

В вашем распоряжении всего 6 выводов(3 PWM и 4 аналоговых, I2C), 8 Кб флэш-памяти для программ, по 512 б ROM и RAM, 2 кб памяти, как обычно, заняты загрузчиком, так что вам доступно лишь 6 кб.

При прошивке 2 цифровых пина (P3, P4) задействуются под USB, но вы их можете использовать после прошивки, когда отключите от компьютера. Обратите внимание на распиновку - она написана на обратной стороне платы, на картинке справа. Для работы с ней нужно настроить IDE.

Еще несколько особенностей:

1. пин P5 - это «RESET», если подать на него логический ноль - плата перезагрузится, он же A0, т.е. первый аналоговый вход, сигнал может считываться в диапазонах более, чем 1.2 в, поскольку всё что ниже воспринимается, как «ноль» и идёт перезагрузка. Сомнительный пин вообще, но если подумать, как его использовать, и достигает ли измеряемый сигнал вообще нуля, то всё не так плохо.

2. Забудьте о мониторинге порта, Serial отсутствует как таковой, поэтому отладку платы с компьютера проводить не получится. Этого можно и избежать - если больше времени уделить проектированию, ну или использовать внешние измерительные приборы - контрольные лампы, мультиметры, осциллографы.

Заключение

Надеюсь, что эта статья помогла вам определиться с выбором платы. Я постарался рассмотреть максимально широкий спектр ардуино в малом объёме текста, детально рассматривать каждую плату не имеет смысла, ведь они почти одинаковы, за исключением разных дополнений.

В тематическом блоге уже было несколько статей по поводу выбора первого микроконтроллера и начала работы с ним. Не менее интересны были и комментарии к таким статьям. Одна из мыслей, которая несколько раз поднималась там - это что не все, кто имеют интерес к МК, приходят к ним от транзисторов. Некоторые (дай бог, чтобы побольше), приходят к ним со стороны (прикладного) программирования. Рекомендовать таким людям брать в руки паяльник - не разумно, у них и так есть вещи , которые они могут «попаять». Так мы приходим к слову «Arduino», которое уже многие слышали. Среди бывалых с паяльниками существует - Arduino это платка на AVR для ленивых. Так ли это? Эта статья - попытка наглядно показать, что Arduino - это не про AVR и не про лень, Arduino - это архитектурно-независимая электронно-механическая платформа совместимых компонентов, по (относительной) значимости не менее важная, чем (в свое время) IBM S/360, IBM PC или USB.

AVR живее всех живых

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

Arduino Uno
Текущая версия официальной Arduino. Пока на рынке мало альтернативных реализаций, но они начинают появляться, одна включена в этот обзор. Основное отличие от Duemilanove - замена популярного, а значит, не по начинке дорого, чипа FT232RL на… ATmega8U2. Да-да, в Uno фактически два микроконтроллера AVR, причем один - с аппаратным USB. Почему два, почему не поставить один? Вопрос совместимости, дружественности для новичков и для собственных разработок. Микроконтроллеры с аппаратным USB судя по всему есть только в SMD корпусах, поэтому использовать такой в своих разработках или заменить вышедший из строя на плате будет нелегко. Поэтому лучше использовать старый-добрый ATmega328 в DIP-панельке, а ATmega8U2 оставить на будущее. Судя по тому, как уверенно Uno завоевывает позиции - на ближайшее будущее. $30
Iteaduino
Существует множество клонов Arduino Duemilanove, которые копируют ее фактически один в один. Но мы ждем от конкуренции прогресса и улучшения, а не простого «передирания», дозволенного открытой лицензией. Iteaduino - хороший пример, когда разработчики «сделали свое домашнее задание». Многие электронные компоненты требуют питания 3.3в, что требует дополнительного сопряжения уровней при работе с классическим Arduino. Iteaduino же позволяет запитать плату 3.3в или 5в на выбор (переключателем на плате). «Соль» применения Arduino конечно же в подключении внешних устройств ввода-вывода, и для простых устройств сложился де-факто стандарт интерфейса GVS (Ground-Voltage-Signal). Для приятного (без паутины проводов) подключения таких устройств к классическому Arduino придется докупать шилд, а в Iteaduino соответствующие разъемы есть прямо на плате. Кроме того, улучшена эргономика - в оригинальном Arduino при надетом шилде нельзя добраться до кнопки Reset (поэтому многие шилды дублируют ее) и плохо виден светодиод, а в Iteaduino они размещены на краю платы с возможностью доступа. $25

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

RoMeo All-in-one
Плата для роботостроения, содержит на плате множество интерфейсных разъемов, драйвер двигателя, кнопки. $36
CraftDuino
Российский вариант Arduino с улучшенной эргономикой (доступ к светодиодам и Reset) и возможностями: на плате присутствует разъем для всех выводов чипа FT232, что позволяет использовать его для bitbang-приложений (программатор различных МК, JTAG и т.п.), и возможность допаять дополнительные выводы для установки CraftDuino на беспаечную макетную плату (breadboard). $30

Быстрее, выше, сильнее

Итак, мы выросли из AVR, но все наши шилды, сенсоры, сервы с нами. И мы не заставим их пропадать, ведь они для Arduino, а не для AVR. Мы также и дальше не будем поддаваться стереотипам, что есть только какой-то ARM, и какой-то Cortex. Все много интереснее!
ChipKIT Uno32
Каждый студент , что AVR - это хорошо, а PIC - это плохо. Однако, не стоит это распространять на все семейства МК. PIC32 - вполне нормальный процессор с архитектурой MIPS. А MIPS - одна из лидирующих RISC-архитектур. По сравнению с ARM у нее есть одно достоинство - она не столь медиа-популяризирована, поэтому лицензионные отчисления за MIPS меньше, а процессоры в среднем - дешевле, и лидируют в отельных рыночных сегментах, таких как раутеры. Например, Arduino-несовместимая плата в корпусе, с Ethernet, WiFi и USB-хостом стоит менее $50 даже в этой стране, ARM"у такое и не снилось. Но сейчас мы рассматриваем Arduino совместимые, и ChipKIT не заставит скучать при частоте 80МГц. 20EUR

Netduino
Cortex снова подождет. На сцене - классика ARM, ядро ARM7, в лице чипа от любимого вендора AT91SAM7X512-AU. На своих 48МГц он даже щелкает.NET Micro Framework! $35
FEZ Panda II
Конечно же, в managed коде писать легче, так что парад.NET MF продолжается. Эта плата идет под маркетинговым чипом «USBizi», который на поверку оказывается NXP LPC2387 с соответствующим firmware. На 72МГц он наверное мог бы играть MP3. Только не в.NET коде, конечно. $40

 

 

Это интересно: