Плата Arduino устройство и примеры работы

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


У платы Arduino имеется 28 выводов для связи с внешними цифровыми устройствами, датчиками, лампочками и светодиодами, моторами, магнитными запирающими устройствами и множетсвом других электронных устройств.

Начать работать с этой платформой очень просто. Надо только купить плату. Можно купить дешевую китайскую копию, или оригинал в мировом гипермаркете АлиЭкспресс.

Давайте разберем из каких блоков и компонентов состоит, наиболее популярная плата Arduino UNO.

Устройство платы Arduino

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

1. Микроконтроллер AVR ATMega328P-PU
Микросхема AVR МК ATMega8U2
Керамический резонатор на частату 16 МГц
ISP порт для программирования
Стандартный USB разъем для подсоединения к компьютеру и загрузка программных кодов
Разъем для подключения источника питания (конструкция может получать питание и от шины USB)

Внутренности платформы плата Arduino UNO

Основа платформы МК фирмы Atmel серии ATmega328. Цифровое устройство UNO имеет 14 выводов (входов) 6 из которых PWM и 6 аналоговых выходов, Встроенный кварц на 16 МГц, USB для программирования, ISP разъем и кнопку сброса.

Аналоговые I/O выводы

У Arduino UNO их всего шесть: А0-А5 они применяются для того, чтобы можно было принимать аналоговые величины от различных датчиков, т.к в микроконтроллере AVR имеется встроенный 10 битный аналогово цифровой преобразователь (АЦП).

Каждый вывод от А0 до А6 может быть настроен как на запись, так и чтение. Кроме того, их можно использовать как цифровые I/O выводы.

Вывод AREF

Он предназначен для подачи опорного напряжения для АЦП. Его можно применять, чтобы подать опорное напряжение отличное от питающих плату 5 Вольт, которые используется для верхней границы значений налогового цифрового преобразователя. Если нужен АЦП для обработки входного сигнала, амплитуда изменяется в диапазоне от 0 до 1.2 Вольт, и чтобы получить полномасштабный результат, необходимо подать 1.2В на контакт AREF. Кстати, больше 5 вольт на AREF подавать не стоит.

Аппаратно, Arduino поддерживает несколько вариантов работы этого вывода: DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL

Кстати т.к встроенный в МК АЦП - 10 битный, то разрешение получаемых величин (шаг) получается примерно 4.8 мВ.

Цифровые I/O выводы платы Arduino UNO

Наше цифровое устройство имеет также шесть цифровых выводов с функцией PWM (pulse width modulation или Широтно-импульсная модуляция (ШИМ)), они полюбому пригодятся для ваших радиолюбительских самоделок , т.к дают отличную возможность управлять достаточно мощной нагрузкой. Конечно, напрямую подсоединитьь к ним электродвигатель или ТЭН нельзя, но зато это легко реализовать, через схему на транзисторе. В итоге получим отличную схему для регулировки мощности. Подключим электродвигатель и сможем управлять скоростью его оборотов. Остальные цифровые выводы без ШИМ-режима можно задавать как на вход, так и на выход. При этом применяется положительная логика, т.е. высокий уровень - это логическая единица, а низкий логический ноль.

Память Arduino

Размер 32 КБ, по технологии flash. Данные в ней нельзя изменять во время работы схемы. Она хранит только статичную информацию: программный код и ресурсы. Из них 0,5 КБ зарезервировано под загрузчик. Благодаря этому факту, Arduino UNO можно легко прошить через USB. Память во всех МК AVR - гарвардской архитектуру, т.е разделена на память программ и данных. В программной памяти хранятся программы и константы, которые зашиваются в неё при прошивки МК, а память данных является хранилищем информации в процессе работы контроллера.

Arduino UNO умеет общается с другими устройствами и датчиками как через USB, так и с помощью последовательного соединения. Для этого имеется дополнительный чип, который представляет типовое USB-соединение компьютеру как последовательное. Имеется отдельная библиотека, которая дает возможность организовать последовательное соединение с использованием любых контактов МК, а с помощью плат расширения можно реализовать взаимодействие с помощью ethernet, радиоканала, Wi-Fi, bluetooth и т.п.

Защита по USB платформа Arduino обладает дополнительной защитой USB в виде встроенного предохранителя, который прервет связь с ПК, если ток через USB-порт будет выше 500 мА.

От теории к практике - Автоматический ночник на Arduino

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

Напряжение с делителя, следует на вход АЦП Arduino. Затем мы осуществляем сравнение полученного значения с установленным порогом и включаем или отключаем светильник. Когда уровень естественной освещенности возрастает, сопротивление фоторезистора снижается и на выходе делителя напряжение увеличивается. С снижением уровня освещенность все наоборот падает.

Схема автоматического ночника на Arduino