Сколько стоит arduino uno

Аналоговые порты на Ардуино (пины A0-A5)

На этом занятии рассмотрим, аналоговые порты Arduino A0-A5. Разберем принцип работы аналоговых портов, что к ним можно подключать. Соберем с помощью макетной платы схему светильника с управляемой яркостью, чтобы с помощью потенциометра (переменного резистора) можно было изменять яркость свечения светодиода. Рассмотрим директиву #define и analogRead в языке Ардуино IDE.

Устройство и принцип работы потенциометра

Переменный резистор (потенциометр) поворотом ручки изменяет сопротивление в электрической цепи от нуля до номинального сопротивления в 10 кОм. Потенциометр сделан состоит из токопроводящей поверхности — плоского постоянного резистора с двумя контактами и скользящего по поверхности токосъемника. Потенциометр предназначен для точной регулировки напряжения в электрической цепи.

Со средней ножки потенциометра снимают значение напряжения

Со средней ножки потенциометра снимают значение напряжения

Переменный резистор имеет прочную токопроводящую поверхность, поскольку положение настройки потенциометра изменяется постоянно. Переменный резистор служит для регулярного применения, например, для изменения уровня громкости. Часто применяется в различных проектах Ардуино для начинающих.

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

Аналоговые входы на Ардуино

Микроконтроллер Atmega в Arduino, содержит шестиканальный аналого-цифровой преобразователь (АЦП). Разрешение преобразователя составляет 10 бит, что позволяет получать значения от 0 до 1023. Основным применением аналоговых входов Ардуино (A0 — A5 в Arduino UNO) является снятие значений с аналоговых датчиков. Рассмотрим применение аналогового входа для снятия показаний с потенциометра.

Аналоговые порты можно настроить, как цифровые

Аналоговые порты можно настроить, как цифровые

Небольшая цена деления шкалы позволяет с большой точностью получать значения практически любой физической величины. Чтобы считать показания на аналоговом входе следует использовать функцию analogRead. Аналоговые порты, как цифровые Ардуино можно сделать с помощью команды digitalRead — используется для считывания данных с кнопки и digitalWrite — можно подключить светодиод.

Светильник с управляемой яркостью Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • потенциометр;
  • 1 светодиод и резистор 220 Ом;
  • провода «папа-папа».

На этом занятии мы соберем электрическую схему светильника со светодиодом с управляемой яркостью. С помощью потенциометра мы сможем плавно изменять яркость светодиода, подключенного к пину 9. Потенциометр подключается крайними ножками к портам 5V и GND, со средней ножки снимается значение напряжения и подключается к аналоговому входу A0 микроконтроллера Ардуино.

Схема сборки светильника с управляемой яркостью

Схема сборки светильника с управляемой яркостью

Соберите электрическую цепь, как на рисунке. Средняя ножка переменного резистора подключается к аналоговому порту A0, чтобы снимать показания напряжения. Какую из крайних ножек подключить к портам 5V и GND значения не имеет, изменится лишь направление вращения ручки потенциометра для увеличения яркости светодиода. После сборки схемы, подключите Arduino к компьютеру и загрузите скетч.

Плата Arduino Uno R3

Arduino Uno — плата на базе микроконтроллера ATmega328P с частотой 16 МГц. На плате есть все необходимое для удобной и быстрой работы с контроллером. Подробнее о микроконтроллере, плате и работе с ней расскажу далее в этой статье.

Arduino Uno — это базовая и самая популярная версия платы микроконтроллеров. С ней очень удобно работать благодаря тому, что пины распаяны однорядными коннекторами типа «мама». Обычно эту плату используют для прототипирования проектов, а собирают готовое устройство на базе более мелких плат ардуино, таких как Arduino Nano. Это легко сделать так как прошивки совместимы и в большинстве случаев номера пинов не отличаются. Для Arduino Uno существует множество плат расширения (шилдов), таких как Ethernet shield, motor shield, servo shield и другие.

Эта ардуинка бывает в двух разных вариантах: DIP и SMD. Отличаются они тем, что сам микроконтроллер может быть DIP исполнения (прямоугольный и ножками) и вставлен в колодку, или просто распаян на плате если это SMD версия (квадратный). Отличий в производительности, назначении пинов или их количестве в этих версиях нет.

На плате Arduino Uno R3 установлены: контроллер ATmega328P с тактовой частотой 16 МГц, порт USB, разъем питания, кварцевый резонатор, стабилизаторы напряжения на 5 вольт и на 3.3 вольта, светодиоды и кнопка перезагрузки.

Расположение основных элементов на плате Arduino UNO R3

Расположение основных элементов на плате Arduino UNO R3

Распиновка (pinout) Arduino Uno R3

Распиновка Arduino Uno

Распиновка Arduino Uno

Характеристики ардуино уно

  • Микроконтроллер: ATmega328P
  • Диапазон допустимого напряжения питания: 5-20 В
  • Рекомендуемое напряжение питания: 7-12 В
  • Количество цифровых вводов/выводов: 14
  • ШИМ: 6 цифровых пинов могут быть использованы как выводы ШИМ
  • Количество аналоговых выводов: 6
  • Максимальная сила тока: 40 mAh с одного вывода и 500 mAh со всех выводов.
  • Flash память: 32 кб
  • SRAM: 2 кб
  • EEPROM: 1 кб
  • Тактовая частота: 16 МГц

Подключение Arduino Uno к питанию

Эту плату можно питать четырьмя способами:

  1. Через порт USB. Можно питать ардуино от компьютера, powerbank, смартфона (если он поддерживает режим OTG) или от адаптера, вставленного в розетку.
  2. Через пин +5V. Этот пин является не только выводом, но и вводом. Будьте внимательны! На этот пин нужно подавать ровно 5 вольт. В противном случае можно спалить сам микроконтроллер.
  3. Через штекер питания, расположенный на плате. Можно использовать, батарейки, аккумуляторы и разнообразные блоки питания. Этот штекер подключен к пину VIN. О напряжении и мерах предосторожности написано в следующем пункте.
  4. Через пин VIN. Ток от этого пина проходит через встроенный стабилизатор напряжения. По заявлениям производителя можно подавать от 5 до 20 вольт. Но это не совсем так. Так как стабилизатор имеет не 100% КПД, то при подаче 5 вольт на пин VIN напряжения может не хватить на питание микроконтроллера, да и на цифровых пинах будет не 5 вольт, а меньше. Также не стоит работать на максимальном напряжении. При 20 вольтах на пине VIN будет сильно греться стабилизатор напряжения, вплоть до выхода из строя. Поэтому рекомендуется использовать напряжение от 7 до 12 вольт.

Как уже было написано выше, плата имеет 14 цифровых пинов. На плате они помечены с ведущей буквой «D» (digital или цифровой). Они могут быть как входом так и выходом. Рабочее напряжение этих пинов составляет 5 В. Каждый из них имеет подтягивающий резистор и поданное на один из этих пинов напряжения ниже 5 вольт все равно будет считаться как 5 вольт (логическая единица).

Аналоговые пины на плате помечены ведущей «A». Эти пины являются входами и не имеют подтягивающих резисторов. Они измеряют поступающее на них напряжение и возвращают значение от 0 до 1024 при использовании функции analogRead(). Эти пины измеряют напряжение с точностью до 0,005 В.

Работа с arduino uno в windows 10

Данная плата имеет разъем USB type B для подключения к компьютеру. Обратите внимание, что платы от китайских производителей имеют микросхему CH340 для связи по usb. По умолчанию Windows 10 может не иметь подходящего драйвера, так что вам придется скачать и установить его самостоятельно. Описание драйвера и ссылки на скачивание вы найдете в статье «драйвер CH340».

Для дальнейшей работы с Arduino uno в Windows 10 вам понадобится программа Arduino IDE. Эта программа поможет вам писать скетчи (прошивки), исправлять ошибки и прошивать вашу плату. Вы можете использовать и другое ПО, если в нем есть поддержка работы с синтаксисом ардуино и COM портами. Я подробно рассказал как скачать, установить и пользоваться Arduino IDE, так что у вас не должно возникнуть проблем с этим.

Физические характеристики

Arduino Uno имеет следующие размеры: длина 69 мм и ширина 53 мм. Однако разъем питания и разъем USB немного выпирают за пределы печатной платы. Arduino Uno весит около 25 грамм. Плата имеет 4 отверстия для возможности ее закрепления на поверхности. Расстояние между выводами равняется 2,5 мм, кроме выводов 7 и 8. Между ними 4 мм.

Принципиальная схема

Принципиальная схема Ардуино Уно

Принципиальная схема Ардуино Уно

Монтажная схема

Монтажная схема Arduino Uno

Монтажная схема Arduino Uno

Простой вольтметр на Arduino Uno

В данной статье мы рассмотрим создание на основы платы Arduino Uno и делителя напряжения простого цифрового вольтметра, который будет отображать измеренное значение напряжения на экране жидкокристаллического (ЖК) дисплея 16×2.

Внешний вид простого вольтметра на Arduino Uno

Плата Arduino имеет несколько аналоговых входов, к которым внутри платы подсоединены встроенные аналогово-цифровые преобразователи (АЦП). АЦП платы Arduino имеют разрядность 10 бит, поэтому значения на их выходах будут лежать в диапазоне от 0 до 1023. Мы можем считывать эти значения в программе, используя функцию analogRead() . Таким образом, если вы знаете опорное напряжение (reference voltage) АЦП, то вы легко можете рассчитать аналоговое напряжение, присутствующее на входе АЦП. Более подробно об аналогово-цифровом преобразовании в плате Arduino вы можете прочитать в этой статье.

Для измерения напряжения в нашем проекте цифрового вольтметра мы также будем использовать делитель напряжения. Измеренное значение напряжения мы будем показывать на экране ЖК дисплея 16×2 и выводить в окне монитора последовательной связи (Serial Monitor) Arduino IDE. Правильность измеренного значения напряжения мы будем проверять с помощью мультиметра.

Необходимые компоненты

Плата Arduino Uno
ЖК дисплей 16х2
Резистор 100 кОм
Резистор 10 кОм
Потенциометр 10 кОм
Макетная плата
Соединительные провода

Схема делителя напряжения

Делитель напряжения представляет собой схему из двух резисторов, показанную на следующем рисунке.

В нашем примере резисторы R1 и R2 имеют номиналы 10 кОм и 100 кОм. Средняя точка делителя напряжения используется для подачи сигнала на аналоговый вход платы Arduino. Напряжение, падающее на резисторе R2 (Vout), называется напряжением на выходе делителя напряжения. Оно может быть рассчитано по следующей формуле:

Vout = Vin (R2/R1+R2)

То есть напряжение на выходе делителя прямо пропорционально напряжению на его входе и отношению сопротивлений резисторов R1 и R2.

Используя приведенную формулу в коде программы для Arduino мы легко можем определить напряжение на входе делителя. Максимальное напряжение на входе (контактах) платы Arduino составляет 5 В, поэтому при используемых нами номиналах резисторов (их отношение составляет 100:10) мы с помощью нашего вольтметра сможем измерять напряжения до 55 В.

Работа схемы

Схема цифрового вольтметра на основе платы Arduino представлена на следующем рисунке.

Схема простого вольтметра на Arduino Uno

ЖК-дисплей подключен в 4-битном режиме. Его контакты DB4, DB5, DB6, DB7, RS и EN непосредственно подключены к контактам D4, D5, D6, D7, D8, D9 платы Arduino Uno.

Средняя точка делителя напряжения на резисторах R1 и R2, подключена к аналоговому контакту A0 платы Arduino. Остальные два конца делителя напряжения подключаются к источнику измеряемого напряжения и корпусу (земле).

Исходный код программы для Arduino

Основную часть кода программы составляет преобразование и отображение входного напряжения в отображаемое выходное напряжение с помощью приведенного выше уравнения Vout = Vin (R2/R1+R2). Как упоминалось ранее, выходное значение АЦП Arduino может варьироваться в диапазоне от 0 до 1023, а максимальное входное напряжение Arduino составляет 5 В, поэтому нам нужно умножить значение на выходе АЦП контакта A0 на 5/1024, чтобы рассчитать входное напряжение (на контакте A0).

void loop()
<
int analogvalue = analogRead(A0);
temp = (analogvalue * 5.0) / 1024.0; // формула для конвертирования значения напряжения
input_volt = temp / (r2/(r1+r2));

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *