Описание
Arduino Uno – самый популярный продукт компании Arduino Software. Данное железо работает с помощью микроконтроллера ATMega328. Она выступает посредником между пользователем и микроконтроллером.
На Arduino uno есть всего 20 выходов из которых 14 цифровых и 6 аналоговых. В ней два разъема: для USB и для подпитки платы. Также кварцевый генератор на 16 МГц. Ещё имеется ISCP, и кнопка перезагрузки.
Для нормальной и стабильной работы плата подключается либо через USB, либо подключить к источнику питания от 7-12В.
Характеристики Arduino Uno:
- Микроконтроллер: ATmega328P
- Диапазон допустимого напряжения питания: 5-20 В
- Рекомендуемое напряжение питания: 7-12 В
- Количество цифровых вводов/выводов: 14
- ШИМ: 6 цифровых пинов могут быть использованы как выводы ШИМ
- Количество аналоговых выводов: 6
- Максимальная сила тока: 40 mAh с одного вывода и 500 mAh со всех выводов
- Flash память: 32 кб
- SRAM: 2 кб
- EEPROM: 1 кб
- Тактовая частота: 16 МГц
Элементы платы
- МК ATMega328 – это сердце платформы Arduino Uno, 8-битный микроконтроллер на архитектуре AVR
- МК ATMega16U2 – это дополнительный микроконтроллер он нужен поскольку микроконтроллер ATMega328 не содержит USB интерфейса и ATMega16U2 с прошивкой USB-UART помогает в прошивке и коммуникацией с ПК
- Порт USB Type-B – нужен для прошивки и питания платы.
- Разъём DC – это разъём питания для подключения внешнего источника напряжения от 7 В – 12 В
- Понижающий регулятор 3V3
- Понижающий регулятор 5V
- Кнопка сброса – RESET
- ICSP разъем ATMega328 – выполняет 2 функции
- Используется для передачи сигнальных пинов интерфейса SPI при подключении шилдов.
- Предназначен для прошивки в микроконтроллер ATMeega328 через внешний программатор. Например Boatloader.
- ICSP разъем ATMega16U2 – предназначен для прошивки микроконтроллера ATMega16U2 через внешний программатор.
Размеры у платы небольшие, а именно 69 мм x 53 мм. Разъёмы немного выступают за контур платы ( печатной ), но лишь на 2 мм.
На этой плате всего 3 способа подключить питание: через Vin, от внешнего источника или просто с помощью USB кабеля. Плата имеет стабилизатор который встроен в платформу. Он помогает автоматически выбрать источник питания и дать нужных 5 В.
Подпитка от внешних источников идёт через USB вход.
На плате существуют несколько выводов, которые могут запитывать датчики, сенсоры и прочее. Все эти выводы обозначены:
- 5V – источник напряжения в 5 В. Создаст стабильное пятивольтовое подключение.
- Vin – вход для питания из вне. Лучше давать не более 7 – 20 В, чтобы не перегрелось.
- 3V3 – аналогично 5V, создает стабильное 3.3 В подключение.
- GND – контакт для земли. GND – это всегда минус.
ATMega328 – это наш микроконтроллер, он имеет три вида памяти:
- Flash – 31.5 Кб ( + 0.5 Кб съедает загрузчик)
- SRAM или просто ОЗУ – 2 Кб
- EEPROM – 1 Кб, её можно использовать только с помощью библиотеки EEPROM
Итак, ещё у Arduino Uno есть 14 цифровых контактов, он могут работать как на ввод, так и на вывод. Чтобы их реализовать существуют различные функции в коде программ:
- pinMode() – называем наш контакт
- digitalRead() – здесь пишется либо HIGH, либо LOW, считывает значение
- digitalWrite() – здесь также HIGH или LOW, записывает значение
Все выводы задают логическую единицу как напряжение в 5 В.
Подключение
Для начала, просто скачиваем с интернета и устанавливаем Arduino IDE. Это программа, которая преобразовывает код на языке Arduino в язык программирования C++ и прошивает плату. Она незаменима для прошивки, но для программирования существуют лучшие аналоги.
Дальше просто подключаем нашу плату через USB кабель к нашему компьютеру. Программе нужно будет указать какую именно плату вы подключили. Переходим в Arduino IDE “Инструменты > Плата > ваша плата ( её название)”. Далее выбираем COM порт куда подключена плата “Инструменты > Порт > наш порт”.
Теперь всё готово к прошивке платы. Можно загрузить один из предложенных программой скетчей либо ввести код самому. Для начала можно просто загрузить готовый код и проверить нашу Arduino.
Для этого нужно открыть Arduino IDE и смотрим подключенные платы через вкладку “Инструменты”, ставим любой порт (кроме COM1) там же.
Запустим тестовую программу, в ней используется функция delay() для отсчета времени :
int led = 8; //объявление переменной целого типа, содержащей номер порта к которому мы подключили второй провод
void setup() //обязательная процедура setup, запускаемая в начале программы; объявление процедур начинается словом void
{
pinMode(led, OUTPUT); //объявление используемого порта, led — номер порта, второй аргумент — тип использования порта — на вход (INPUT) или на выход (OUTPUT)
}
void loop() //обязательная процедура loop, запускаемая циклично после процедуры setup
{
digitalWrite(led, HIGH); //эта команда используется для включения или выключения напряжения на цифровом порте; led — номер порта, второй аргумент — включение (HIGH) или выключение (LOW)
delay(2000); //эта команда используется для ожидания между действиями, аргумент — время ожидания в миллисекундах
digitalWrite(led, LOW);
delay(2000);
}
Также можно открыть “Файл – Примеры – Basic — Blink” и у вас будет похожий код с аналогичной функцией моргания светодиода. Если всё работает как надо, значит подключение прошло успешно.
Распиновка
Пины питания.
Мы уже рассмотрели ранее некоторые пины питания, есть еще 2:
- IOREF – этот пин даёт информацию о рабочем напряжении контроллера
- AREF – подключает источник напряжения АЦП из вне на основании которого производятся аналоговые измерения
Порты на ввод и вывод:
- 20 основных пинов – для общего назначения. Принимает за единицу – 5В,а за ноль – 0В.
- АЦП – 6 пинов, аналоговые пины, представляет напряжение в цифровом виде
- ШИМ – 6 пинов, аналоговые пины, выводит напряжение в виде ШИМ-сигналов
- I²C — для обмена данными между контроллером и сенсорами с платами расширения, по интерфейсу I²C
- SPI – то же что и I²C , но для SPI
- UART – то же что и I²C , но для UART, не используйте во время прошивки отладки.
Цифровые пины платы UNO
Цифровой пин 0 | 0 | RX | |
Цифровой пин 1 | 1 | TX | |
Цифровой пин 2 | 2 | Вход для прерываний | |
Цифровой пин 3 | 3 | Вход для прерываний | ШИМ |
Цифровой пин 4 | 4 | ||
Цифровой пин 5 | 5 | ШИМ | |
Цифровой пин 6 | 6 | ШИМ | |
Цифровой пин 7 | 7 | ||
Цифровой пин 8 | 8 | ||
Цифровой пин 9 | 9 | ШИМ | |
Цифровой пин 10 | 10 | SPI (SS) | ШИМ |
Цифровой пин 11 | 11 | SPI (MOSI) | ШИМ |
Цифровой пин 12 | 12 | SPI (MISO) | |
Цифровой пин 13 | 13 | SPI (SCK)
К выходу также подсоединен встроенный светодиод (есть в большинстве плат Arduino) |
Аналоговые пины платы UNO
Аналоговый пин A0 | A0 или 14 | |
Аналоговый пин A1 | A1 или 15 | |
Аналоговый пин A2 | A2 или 16 | |
Аналоговый пин A3 | A3 или 17 | |
Аналоговый пин A4 | A4 или 18 | I2C (SCA) |
Аналоговый пин A5 | A5 или 19 | I2C (SCL) |
Отличие от других плат
Рассмотрим Arduino Uno и Arduino Nano
Их основным отличиями являются габариты ( габариты Arduino Uno: 6,8 см x 5,3 см, габариты Arduino Nano: 4,2 см x 1,85 см) и тип контактных площадок.
Разъёмы: Arduino Uno – USB Type-B, иногда Micro USB; Arduino Nano – Mini или Micro USB.
Разъём питания: Arduino Uno – DC; Arduino Nano – нет
Теперь сравнимArduino Uno и Arduino Mega
Количество пинов: Arduino Uno – 14 цифровых/ 6 аналоговых ; Arduino Mega – 54 цифровых/ 16 аналоговых
Память: По объему памяти Uno существенно уступает Megа. Flash -память 32/256, SRAM – 2/8, EEPROM – 4/1
В завершение хочу сказать, что плата Arduino Uno прекрасный вариант для создания своих первых проектов. Характеристики данной платы позволяют подключать датчики, светодиоды, двигатели и прочие внешние устройства. Она просто создана для того чтобы войти в мир Ардуино.