Arduino или AVR?
Думаю, не ошибусь, если скажу, что каждый начинающий радиолюбитель, еще не имеющий опыта работы ни с одной платформой для разработки электронных устройств, затрудняется в своем выборе. Новички советуют одно, профи — другое. На форумах мнения разделяются. Так сложилось, что мы начали развитие темы прикладного программирования с создания устройств на AVR микроконтроллера
Переход к созданию своих устройств на практике бывает затруднен. Но решение есть. Оно довольно простое и не очень затратное. Многие, думаю, слышали о такой платформе под названием «Arduino».
Arduino — это электронный модуль-конструктор, имеющий в своем составе МК AVR, который является мозгом всего этого конструктора. Отличие от самого МК AVR — это упрощенное программирование, большое количество дешевых периферийных устройств, которые можно купить без проблем, а также простая и безопасная «заливка» программы в МК.
Блок-схема платы Arduino до боли проста:
Периферийными устройствами в данном случае являются разные датчики контроля, а также исполняемые устройства. Всем этим винегретом заправляет МК AVR, который установлен посередине платы 😉
Вот некоторые из периферийных устройств.
В процессе изучения мы будем знакомиться с ними поближе
Виды Arduino
Существуют несколько разных моделей Arduino. Некоторые дешевле, а некоторые дороже. Как вы поняли, дешевые модели резко ограничены по функционалу, а также по количеству выводов. Устаревшие модели мы рассматривать не будем, а рассмотрим только те, которые можно недорого приобрести у наших друзей китайцев на сайте Али:
Arduino Mega
Сама приставка «мега» говорит уже сама за себя. Самый мощный конструктор.
Arduino Uno
У резанная версия модели Arduino Mega , у которой, как видите, уже меньше выводов для подключения периферийных устройств.
Также на плате Arduino UNO и Mega распаян стабилизатор питания, позволяющий питать плату от батареи Крона, либо через переходник от китайского адаптера — блока питания. Оптимальное напряжение питания 9-12 Вольт
Arduino Nano
Все эти три модели — Mega, Uno, Nano — имеют в своем составе составе конвертер USB-Serial и разъем USB. Это означает, что для заливки программы (на языке Arduino — скетча), нам нет необходимости покупать программатор.
Arduino Pro Mini
Для Pro Mini уже необходим программатор. Но это не обычный программатор, типа USBasp, с помощью которого мы шили микроконтроллеры AVR . Здесь уже требуется программатор USB-Serial, который уже встроен в Uno, Nano и Mega , но не имеется в Mini . Стоимость его в среднем чуть меньше 1$.
Какой Arduino лучше?
Какой из Ардуино лучше для начала осваивания работы? Мое мнение — это Arduino Uno . Mega будет стоить дороже, да и зачем новичку такой супер-конструктор? Uno удобнее всего подключать к ПК и для него не требуется паять штырьки, для того чтобы вставить в макетную плату, так как они уже есть. Он полностью готов к работе. Nano и Pro Mini требуют предварительного впаивания гребенки штырьков:
Но если вы уже с паяльником на «ты» и хотите немного сэкономить, то можете приобрести Arduino Nano . Если же вы отладили какое-либо устройство и хотите уже использовать его многие годы, тут как нельзя кстати подойет Pro Mini . Маленький, удобный, а главное — дешевый.
На всех четырех перечисленных моделях Arduino размещены кварцевые резонаторы , используемые для тактирования МК . Также имеется индикация в виде мигания светодиодов при заливке прошивки. Цена Nano и Mini существенно ниже, чем Uno , и приблизительно равна стоимости среднего по функционалу микроконтроллера AVR.
Сравнение плат Arduino — довольно важная вещь. Новичку, не имеющему опыта работы с ней, легко растеряться в многообразии плат и выбрать неподходящую модель. Конечно, выбор той или иной платы зависит от проекта, однако в общем разъяснить новичкам об особенностях каждой платы не помешает:
— Arduino Mega
Одна из самых мощных плат в линейке Arduino. Имеет память аж 256 Кб, которой хватит на 99,9% проектов, 54 цифровых входов/выходов и 16 аналоговых входов.
— Arduino Uno
Наиболее распространённая ардуинка, имеет память 32 Кб, 14 цифровых входов/выходов и 6 аналоговых входов. Немного, по сравнению с Mega, но для многих проектов хватает.
— Arduino Nano
Вопреки ожиданиям от слова «нано» она даже мощнее Uno. Имеет 14 цифровых входов/выходов и 8 аналоговых входов и память тоже 32 Кб, так, как построена на том же МК ATMega328 , что и Uno.
— Arduino Pro Mini
Самая слабая плата. Имеет память 16 Кб, 14 цифровых входов/выходов и 4 аналоговых входа. К тому же, обвязка платы настолько ограничена, что она отличается от простого МК лишь кнопкой перезагрузки reset и стабилизатором питания.
Какую же выбрать новичку? Nano отлично подходит для готовых проектов, а Uno — для освоения Arduino, на ней удобнее учиться. Nano очень компактное и дешевле Uno, а Uno удобнее питать и подключать. Pro Mini не оправдывает своей стоимости, да и к ней надо покупать программатор, к тому же её очень неудобно питать.
Программа Arduino IDE
Для написания программ используется собственная среда разработки Arduino. Те, кто пытались освоить работу с Atmel Studio 6, помнят, какое там количество настроек. Сходу разобраться нереально. Здесь же наоборот, мы видим простой интерфейс и только все самое необходимое. Есть также версии посвежее, но это не влияет на работоспособность программы.
Arduino является открытой платформой. Именно это принесло ей такую большую популярность. Для нее было выпущено много клонов под разные версии. Кстати если вы начнете работать именно с китайским клоном, а не с оригинальным Arduino, что скорее всего и произойдет, то вам потребуется установить драйвер под китайский адаптер Usb-Serial, распаянный на плате. Как отличить китайский Ардуино от оригинала? Если присмотреться к модулю, то можно увидеть вот такую микросхему:
Если она имеется, то ардуино китайский. Для него драйвер устанавливается вручную через «Диспетчер устройств». Никаких проблем при установке замечено не было.
Далее нам надо выбрать нужную нам модель Arduino из списка
Ну а потом выбираем COM-порт в системе, к которой у нас подключена Arduino.
Ну вот и все! Совсем ничего сложного 😉
Вывод
Итак, вернемся к теме нашей статьи. Что же все-таки лучше изучать? Голые МК AVR или взять набор Arduino?
Для новичков часто бывает проблемой выставление фьюзов у МК AVR. Этого минуса лишены все Ардуино. Там просто нет такой функции при подключении через USB кабель. Также при небрежном выставлении фьюзов можно залочить дорогой МК AVR, который не всегда просто реанимировать. В Ардуино залочить МК нереально. При прошивке программатором ISP USBASP , мы можем прошить МК Ардуино, как и любой другой МК AVR.
Также одним важным отличием Ардуино от МК AVR — это наличие худшей оптимизации размера кода. То есть программа, которая выполняет одни и те же действия на МК и Arduino будет иметь разный вес. На Arduino она будет весить больше . И может даже случиться так, что просто не войдет в память. Микроконтроллеры AVR имеют более широкие возможности в создании электронных устройств, но есть у них и свои минусы — это необходимость наличия программатора, источника питания, а также мощного компьютера для комфортной работы в Atmel Studio 6.
Ты спросишь Arduino или AVR лучше ? А я отвечу, лучше прочитай про протоны и сам всё поймёшь.
Этой публикацией мы начинаем цикл статей, посвященных конструированию электронных устройств на платформе Arduino. Оставайтесь с нами и мы поэтапно, следуя от простого к сложному, разберем самостоятельную сборку электронных устройств. Будут рассмотрены разные модели Arduino, программатор Usb – Serial и её периферия. Вы научитесь самостоятельно писать скетчи в среде разработки и обязательно соберете все то, что давно хотели собрать, но затруднялись в создании на практике.