Название Arduino является в настоящее время этаким «модным» словом для большинства радиолюбителей и всех, кто мало-мальски знаком с электроникой, поскольку данная платформа позволяет создавать электронные устройства быстро и дешево. Наличие обширного онлайн сообщества данной платформы делает ее идеальным выбором для тех, кто только начал свое знакомство с электроникой и программированием. Даже людям, не имеющим технического образования (а именно для таких она и была первоначально создана), освоить Arduino будет достаточно просто.
Почему так актуальна эта платформа? Как начать работу с ней? Как она может улучшить ваш стиль жизни? Все эти вопросы будут рассмотрены в данной статье. Для этого мы познакомимся с установкой среды Arduino IDE на ваш компьютер и загрузим в нее небольшую программу, реализующую мигание светодиода, который мы подключим к Arduino с использованием макетной платы.
К сожалению некоторые начинающие радиолюбители считают Arduino микроконтроллером, но это не совсем так. Давайте попробуем разобраться что же это.
Arduino представляет собой платформу разработки с открытым исходным кодом, которая состоит из простого в использовании оборудования и среды программирования. Наиболее распространенным типом оборудования является Arduino UNO, а среда программирования называется Arduino IDE. Кроме Arduino UNO существует еще достаточно много аналогичных плат — Arduino Mega, nano, mini, но в данной статье в целях обучения мы будем использовать именно Arduino UNO. А Arduino IDE – это как раз та программная среда, с помощью которой мы будем программировать плату Arduino UNO.
Установка Arduino IDE
Прежде чем начать работу с Arduino необходимо установить среду программирования Arduino IDE на ваш компьютер/ноутбук. Все описанные далее шаги по установке данной программной среды будут ориентированы на операционную систему Windows, для остальных операционных систем последовательность действий будет примерно такой же. Если возникнут проблемы с другими системами, то помощь можно найти по следующим ссылкам – для пользователей Mac и пользователей Linux. Перед началом установки Arduino IDE убедитесь что вы обладаете правами администратора на вашем компьютере – это облегчит установку.
Шаг 1. Загрузите Arduino IDE с официального сайта — https://www.arduino.cc/download_handler.php.
Шаг 2. Запустите скачанный exe файл.
Шаг 3. В открывшемся окне кликните на “I Agree” чтобы согласиться с условиями лицензии Arduino.
Шаг 4. В окне опций установки отметьте все галочки (см. рисунок).
Шаг 5. На этом шаге необходимо выбрать место установки Arduino IDE. По умолчанию стоит путь установки в Program files на диске C – крайне рекомендуется оставить именно этот путь.
Шаг 6. На этом шаге вы можете наблюдать как Arduino IDE устанавливается на ваш компьютер (см. рисунок). После того как установка будет завершена нажмите кнопку “completed”.
Шаг 7. После завершения установки запустите на выполнение файл Arduino.exe. Откроется окно IDE с минимумом кода внутри него – см. рисунок.
Подключение вашей платы Arduino к компьютеру
После того как вы установили Arduino IDE на свой компьютер следующим логичным шагом будет подключение платы Arduino UNO к компьютеру. Чтобы сделать это просто используйте кабель для программирования (синего цвета) и соедините его с платой Arduino и USB портом вашего компьютера.
Синий кабель для программирования может выполнять следующие три функции:
- Он запитывает плату Arduino UNO, то есть чтобы обеспечить выполнение программ на ней необходимо просто запитать ее с помощью USB кабеля.
- Через него программируется микроконтроллер ATmega328, находящийся на плате Arduino UNO. То есть код программы пересылается из компьютера в микроконтроллер именно по этому кабелю.
- Он может функционировать в качестве кабеля для последовательной связи, то есть с его помощью можно передавать данные с Arduino UNO в компьютер – это полезно для целей отладки программы.
После того как вы подадите питание на плату Arduino UNO на ней загорится маленький светодиод – это свидетельствует о том, что на плату подано питание. Также вы можете заметить как мигает другой светодиод – это результат работы программы по управлению миганием светодиода, которая по умолчанию загружена в вашу плату ее производителем.
Поскольку вы подключаете плату Arduino в первый раз к компьютеру необходимо некоторое время чтобы драйвера для нее успешно установились. Чтобы проверить правильно ли все установилось и определилось откройте «Диспетчер устройств (Device manager)» на вашем компьютере.
В диспетчере устройств откройте опцию «Порты» “Ports (COM & LPT)”, кликните на ней и посмотрите правильно ли отображается там ваша плата.
При этом стоит отметить, что не стоит обращать внимание на то, какой номер порта отобразился у вашей платы Arduino – он может, к примеру, выглядеть как CCH450 или что то подобное. Этот номер порта просто определяется производителем платы и больше ни на что не влияет.
Если вы не можете в диспетчере устройств найти опцию “Ports (COM & LPT)”, то это означает, что ваша плата не корректно определилась компьютером. В большинстве случает это означает проблему с драйверами – по какой то причине они автоматически не установились для вашей платы. В этом случае вы должны будете вручную установить необходимые драйверы.
В некоторых случаях в указанной опции диспетчера устройств может отобразиться два COM порта для вашей платы и вы не будете знать какой из них правильный. В этой ситуации отключите и снова подключите плату Arduino к компьютеру – какой из COM портов при этом будет появляться и исчезать, значит тот и правильный порт.
Следует помнить о том, что номер COM порта будет изменяться при каждом новом подключении вашей платы к компьютеру – не пугайтесь, в этом нет ничего страшного.
Загрузка программы мигания светодиода
Теперь загрузим нашу первую программу в плату Arduino при помощи программной среды Arduino IDE, которую мы только недавно установили. Установленная Arduino IDE содержит несколько примеров программ, которые будут весьма полезны для начинающих. Давайте откроем один из этих примеров программ используя следующий путь File -> Examples -> Basics -> Blink (как показано на рисунке).
При этом откроется программа Blink – ее цель состоит в том чтобы заставить мигать встроенный светодиод на плате Arduino. После открытия программы нам необходимо выбрать правильную плату Arduino – чтобы сделать это выберите пункт меню Tool -> Boards -> Arduino UNO/Genuino как показано на рисунке ниже.
Далее мы должны выбрать правильный порт для нашей платы. Ранее мы увидели, что для нашей платы был определен порт COM13. В вашем случае это может быть другой порт. Но для нашего рассматриваемого случая мы должны выбрать пункт меню Tools -> Port -> COM13.
Если все сделано правильно, то вы должны заметить что номер порта (в нашем случае COM 13) появится внизу экрана. После этого вам необходимо нажать кнопку загрузки программы (подсвечена синим цветом) на плату Arduino как показано на рисунке ниже.
После нажатия этой кнопки вы увидите надпись “Compiling sketch” и затем, если загрузка программы прошла успешно, вы увидите сообщение “Done Uploading” как показано на рисунке ниже.
Если у вас на данном этапе возникают какие либо ошибки, не рассмотренные в данной статье, то вы их можете попробовать найти в статье про 10 самых распространенных ошибок при работе с Arduino либо же посмотреть статью с более полным перечнем ошибок при работе с Arduino и способами их решения.
Теперь попробуем написать программу, которая будет зажигать светодиод при нажатии кнопки.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress) (Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158).
- Кабель для программирования.
- Светодиод (любого цвета).
- Кнопка.
- Резистор 1 кОм.
- Макетная плата.
- Соединительные провода.
Схема соединений
Представлена на следующем рисунке.
Кнопку подсоединим ко второму контакту Arduino, то есть одним концом кнопка будет подсоединена ко второму контакту Arduino, а вторым – к земле. То есть всегда когда мы будем нажимать кнопку на второй контакт Arduino будет подаваться земля.
Светодиод подсоединен к контакту 3 через резистор 1 кОм. То есть катод светодиода подсоединен к земле, а анод – к контакту 3 Arduino через резистор.
Программирование Arduino
Теперь, когда необходимая нам схема собрана, мы можем начать программирование платы Arduino UNO. Полный текст программы будет приведен в конце статьи, в этом разделе будет дано объяснение некоторых участков кода этой программы.
В каждой программе для Arduino должны обязательно присутствовать две функции – это функции void setup () и void loop (), иногда их называют «абсолютным минимумом», необходимым для написания программы. Все операции, которые мы запишем внутри void setup (), исполнятся только один раз, а операции, которые мы запишем внутри void loop () – будут исполняться снова и снова. Пример этих функций показан в коде ниже – именно в таком виде они создаются когда вы выбираете пункт меню File -> New.
void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: } |
Начнем писать программу в функции setup (). Обычно в этой функции объявляются названия пинов (контактов). В нашей программе нам необходимо объявить всего два контакта: контакт 2 в качестве входного контакта и контакт 3 в качестве выходного контакта. Это можно сделать с помощью следующих строчек кода:
pinMode(2,INPUT); pinMode (3,OUTPUT); |
Но здесь необходимо внести небольшое изменение в программу – нам желательно чтобы контакт 2, который мы объявили в качестве входного контакта, никогда не был бы в «плавающем» состоянии. Это означает что входной контакт должен быть всегда подсоединен либо к +5 В, либо к земле. А в нашем случае при нажатии кнопки он будет подсоединен к земле, а при отжатой кнопке он будет находиться в плавающем состоянии. Чтобы исключить это нам необходимо задействовать внутренний подтягивающий резистор, который находится внутри микроконтроллера ATmega 328 (то есть снаружи мы этот резистор не видим). Для его задействования необходимо написать соответствующую строчку кода в программе.
С помощью этой строчки кода контакт 2 будет подключаться через подтягивающий резистор к напряжению +5 В всегда когда он не подсоединен к земле. То есть мы должны в одной из написанных нами строчек кода изменить слово INPUT на слово INPUT_PULLUP как показано ниже.
Теперь, когда мы закончили с функцией setup (), перейдем к функции loop (). В этой функции мы должны проверять не подсоединен ли контакт 2 к земле (то есть на его входе низкий уровень – LOW) и если он подсоединен в земле, то мы должны зажечь светодиод при помощи подачи на контакт 3 высокого уровня (HIGH). А если контакт 2 не подсоединен к земле (то есть кнопка не нажата), то мы должны держать светодиод в выключенном состоянии при помощи подачи на контакт 3 низкого уровня (LOW). В программе это будет выглядеть следующим образом:
if (digitalRead(2) == LOW) { digitalWrite(3,HIGH); } else { digitalWrite(3,LOW); } |
В этих строчках кода оператор digitalRead() используется для проверки статуса (состояния) входного контакта. Если контакт подсоединен к земле, то оператор digitalRead() возвратит значение LOW, а если оператор подсоединен к +5 В, то оператор возвратит значение HIGH.
Аналогично, оператор digitalWrite() используется для установки состояния выходного контакта. Если мы установим контакт в состояние HIGH, то на его выходе будет напряжение +5 В, а если мы установим контакт в LOW, то на его выходе будет 0 В.
Таким образом в нашей программе когда мы нажимаем кнопку на контакт 2 будет подана земля и, соответственно, на контакт 3 мы подаем высокий уровень +5 В (HIGH) чтобы зажечь светодиод. Если условие не выполняется – то есть на контакт 2 не подана земля, то мы на контакт 3 подаем низкий уровень 0 В (LOW) чтобы выключить светодиод.
На этом наша программа закончена, теперь загрузим код программы на нашу плату Arduino таким же образом как ранее мы загружали код программы мигания светодиодом.
Проверка работы схемы
После того как мы загрузили программу на нашу плату Arduino самое время проверить корректность ее работы. Схема соединений представлена выше. Чтобы проверить корректность работы программы необходимо нажать кнопку и проверить загорится ли при этом светодиод. Затем, когда мы отпустим кнопку (прекратим ее нажимать), светодиод должен погаснуть.
Если программа не работает или у вас есть какие-нибудь вопросы по представленному в этой статье материалу, то вы можете задать их в комментариях к данной статье. Будем надеяться, что ваш первый шаг в освоении Arduino будет все же успешным.
Полный текст программы выглядит следующим образом:
void setup() { pinMode(2,INPUT_PULLUP); pinMode (3,OUTPUT); } void loop() { if (digitalRead(2) == LOW) { digitalWrite(3,HIGH); } else { digitalWrite(3,LOW); } } |
Загрузка…
48 922 просмотров
Arduino Uno Rev3 — это плата, основанная на микроконтроллере ATmega328P. Платформа имеет 14 цифровых пинов входа/выхода, 6 из которых могут использоваться как выходы ШИМ, 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.
В отличие от всех предыдущих плат Ардуино, Uno в качестве преобразователя интерфейсов USB-UART использует микроконтроллер ATmega16U2 (ATmega8U2 до версии R2) вместо микросхемы FTDI. На китайских вариантах используется преобразователь интерфейсов USB-UART CH340G.
На плате Arduino Uno версии R2 для упрощения процесса обновления прошивки добавлен резистор, подтягивающий к земле линию HWB микроконтроллера 8U2.
Изменения на плате версии R3 перечислены ниже:
- Распиновка 1.0: добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Первый — IOREF — позволяет платам расширения подстраиваться под рабочее напряжение Ардуино. Данный вывод предусмотрен для совместимости плат расширения как с 5 В-Ардуино на базе микроконтроллеров AVR, так и с 3.3 В-платами Arduino Due. Второй вывод ни к чему не подсоединен и зарезервирован для будущих целей.
- Улучшена помехоустойчивость цепи сброса.
- Микроконтроллер ATmega8U2 заменен на ATmega16U2.
Содержание
- 1 Характеристики Arduino Uno Rev3
- 1.1 Принципиальная схема
- 2 Arduino Uno CH340G Rev3
- 2.1 Принципиальная схема
- 3 Описание элементов платы Arduino Uno Rev3
- 4 Описание пинов Arduino Uno Rev3
- 4.1 Цифровые пины платы Uno
- 4.2 Аналоговые пины Arduino Uno
- 4.3 Дополнительные пины на плате
- 5 Питание Arduino Uno Rev3
- 6 Установка драйверов
- 7 Выбор платы и порта
- 8 Материалы
- 9 Купить Arduino UNO R3 на AliExpress
- 10 Похожие записи
Характеристики Arduino Uno Rev3
Микроконтроллер | ATmega328P |
Рабочее напряжение | 5В |
Напряжение питания (рекомендуемое) | 7-12В |
Напряжение питания (предельное) | 6-20В |
Цифровые входы/выходы | 14 (из них 6 могут использоваться в качестве ШИМ-выходов) |
Аналоговые входы | 6 |
ШИМ (PWM) пины |
6 |
Постоянный ток через вход/выход | 40 мА |
Максимальный выходной ток вывода 3.3V | 50 мА |
Flash-память | 32 КБ (ATmega328P) из которых 0.5 КБ используются загрузчиком |
SRAM | 2 КБ (ATmega328P) |
EEPROM | 1 КБ (ATmega328P) |
Тактовая частота | 16 МГц |
Встроенный светодиод | 13 |
Длина | 68.6 мм |
Ширина | 53.4 мм |
Вес | 25 г |
Принципиальная схема
Arduino Uno CH340G Rev3
Данная плата обладает всеми свойствами классической платы ARDUINO UNO Rev3. Основные отличия от оригинала связаны с тем, что для уменьшения стоимости платы применяется микроконтроллер ATmega328 в SMD корпусе, а USB мост выполнен на бюджетной микросхеме CH340G. Все элементы внешних подключений, в том числе имена портов, на этой плате полностью соответствуют принципиальной схеме оригинальной платы, однако следует помнить, что нумерация выводов SMD и DIP корпусов микроконтроллера ATmega328 различная.
Принципиальная схема
Для микросхемы USB-моста CH340G на компьютер необходимо установить драйверы, которые можно скачать здесь.
Описание элементов платы Arduino Uno Rev3
- USB Plug – разъем для подключения устройств USB;
- Analog Reference Pin – для определения опорного напряжения АЦП;
- Digital Ground – земля;
- Digital I/O Pins (2-13) – цифровые выводы;
- Serial OUT (TX) – пин передачи данных по UART;
- Serial IN (RX) – пин приема данных по UART;
- Reset Button – кнопка перезагрузки микроконтроллера;
- In-Circuit Serial Programmer (ISCP) – через эти контакты можно перепрограммировать плату;
- ATmega328P Microcontroller – собственно сам чип Ардуинки, он же микроконтроллер, процессор, мозг и т.д.;
- Analog In Pins (0-5) – аналоговые входы;
- Voltage In – вход используется для подачи питания от внешнего источника;
- Ground Pins – земля;
- 5 Volt Power Pin – питание 5 В;
- 3 Volt Power Pin – питание 3.3 В;
- Reset Pin – вход для перезагрузки;
- External Power Supply – разъем для подключения внешнего источника питания.
Описание пинов Arduino Uno Rev3
Пины Ардуино используются для подключения внешних устройств и могут работать как в режиме входа, так и в режиме выхода. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА.
Некоторые выводы имеют особые функции:
- Пины 0 и 1 – контакты UART (RХ и TX соответственно) .
- Пины c 10 по 13 – контакты SPI (SS, MOSI, MISO и SCK соответственно)
- Пины A4 и A5 – контакты I2C (SDA и SCL соответственно).
Цифровые пины платы Uno
Пины с номерами от 0 до 13 являются цифровыми. Это означает, что вы можете считывать и подавать на них только два вида сигналов: HIGH и LOW. С помощью ШИМ также можно использовать цифровые порты для управления мощностью подключенных устройств.
Пин | Адресация | Специальное назначение | ШИМ |
---|---|---|---|
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) |
Аналоговые пины Arduino Uno
Аналоговые пины Arduino Uno Rev3 предназначены для подключения аналоговых устройств и являются входами для встроенного аналого-цифрового преобразователя (АЦП), который в ардуино уно десятиразрядный.
Пин | Адресация | Специальное назначение |
---|---|---|
A0 | A0 или 14 | |
A1 | A1 или 15 | |
A2 | A2 или 16 | |
A3 | A3 или 17 | |
A4 | A4 или 18 | I2C (SCA) |
A5 | A5 или 19 | I2C (SCL) |
Дополнительные пины на плате
- AREF – выдает опорное напряжения для встроенного АЦП. Может управляться функцией analogReference().
- RESET – Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
Питание Arduino Uno Rev3
Платы Arduino Uno R3 может получать питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.
Питать плату можно следующими способами:
- от внешнего адаптера – рекомендуемое напряжение от 7 до 12 В. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, что приведёт к нестабильной работе платы;
- от USB-порта компьютера;
- подача 5 В напрямую на пин 5V. В этом случае обходится стороной входной стабилизатор и даже малейшее превышение напряжения может привести к поломке устройства.
Выводы питания:
- 5V – на этот пин ардуино подаёт 5 В, его можно использовать для питания внешних устройств;
- 3.3V – на этот пин от внутреннего стабилизатора подается напряжение 3.3 В;
- GND – вывод земли;
- VIN – пин для подачи внешнего напряжения;
- IREF – пин для информирования внешних устройств о рабочем напряжении платы.
Установка драйверов
Если вы использовали установщик, Windows — от XP до 10 — автоматически установит драйверы, как только вы подключите свою плату.
Если вы загрузили и распаковали Zip архив или по какой-то причине плата неправильно распознана, выполните приведенную ниже процедуру.
- Нажмите на меню «Пуск» и откройте панель управления.
- Перейдите в раздел «Система и безопасность» (System and Security). Затем нажмите «Система» (System). Затем откройте диспетчер устройств (Device manager).
- Посмотрите под Порты (COM и LPT) (Ports (COM & LPT)). Вы должны увидеть открытый порт с именем «Arduino UNO (COMxx)». Если раздел COM и LPT отсутствует, просмотрите раздел «Другие устройства», «Неизвестное устройство».
- Щелкните правой кнопкой мыши по порту Arduino UNO (COMxx) и выберите опцию «Обновить драйверы…».
- Затем выберите опцию «Выполнить поиск драйверов на этом компьютере».
- Наконец, найдите файл драйвера с именем «arduino.inf», который находится в папке «Drivers» программы Arduino (а не подкаталог «FTDI USB Drivers»). Если вы используете старую версию IDE (1.0.3 и старше), выберите файл драйвера Uno с именем «Arduino UNO.inf».
- После этого Windows завершит установку драйвера.
Выбор платы и порта
Откройте Arduino IDE. Из меню Tools>Board выбирается Arduino/Genuino Uno.
Выберите последовательное устройство платы в меню Tools>Port. Скорее всего, это COM3 или выше (COM1 и COM2 обычно зарезервированы). Чтобы узнать, вы можете отключить свою плату и повторно открыть меню; запись, которая исчезает, должна быть Arduino или Genuino. Подсоедините плату и выберите этот последовательный порт.
Если у вас модель Arduino Uno CH340G, то лучше использовать программатор Arduino as ISP.
Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы ICSP (внутрисхемное программирование).
Материалы
Принципиальная схема: Arduino_Uno_Rev3-schematic.pdf
Arduino UNO CH340 Rev3.pdf
Datasheet — UNO_R3(CH340G).pdf
Arduino Uno | Аппаратная платформа Arduino
Arduino Uno R3
Купить Arduino UNO R3 на AliExpress
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 вольта, светодиоды и кнопка перезагрузки.
Распиновка (pinout) Arduino Uno R3
Обозначение на плате | Обозначение в прошивке | Возможности пина |
RX ◀ 0 | 0 | Цифровой ввод/вывод, Serial RX |
TX ▶ 1 | 1 | Цифровой ввод/вывод, Serial 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 |
GND | Земля или V- | |
AREF | Пин опорного напряжения | |
SDA | A4 или 18 | Аналоговый пин с 8-ми битным АЦП, I2C SDA |
SCL | A5 или 19 | Аналоговый пин с 8-ми битным АЦП, I2C SCL |
Зарезервированный пин | ||
5V | 5 В или V+ | |
RES | Пин перезагрузки | |
3.3V | 3.3 В | |
5V | 5 В или V+ | |
GND | Земля или V- | |
GND | Земля или V- | |
VIN | Пин питания соединен с + разъема питания | |
A0 | A0 или 14 | Аналоговый пин с 8-ми битным АЦП |
A1 | A1 или 15 | Аналоговый пин с 8-ми битным АЦП |
A2 | A2 или 16 | Аналоговый пин с 8-ми битным АЦП |
A3 | A3 или 17 | Аналоговый пин с 8-ми битным АЦП |
A4 | A4 или 18 | Аналоговый пин с 8-ми битным АЦП, I2C SDA |
A5 | A5 или 19 | Аналоговый пин с 8-ми битным АЦП, I2C SCL |
Характеристики ардуино уно
- Микроконтроллер: ATmega328P
- Диапазон допустимого напряжения питания: 5-20 В
- Рекомендуемое напряжение питания: 7-12 В
- Количество цифровых вводов/выводов: 14
- ШИМ: 6 цифровых пинов могут быть использованы как выводы ШИМ
- Количество аналоговых выводов: 6
- Максимальная сила тока: 40 mAh с одного вывода и 500 mAh со всех выводов.
- Flash память: 32 кб
- SRAM: 2 кб
- EEPROM: 1 кб
- Тактовая частота: 16 МГц
Подключение Arduino Uno к питанию
Эту плату можно питать четырьмя способами:
- Через порт USB. Можно питать ардуино от компьютера, powerbank, смартфона (если он поддерживает режим OTG) или от адаптера, вставленного в розетку.
- Через пин +5V. Этот пин является не только выводом, но и вводом. Будьте внимательны! На этот пин нужно подавать ровно 5 вольт. В противном случае можно спалить сам микроконтроллер.
- Через штекер питания, расположенный на плате. Можно использовать, батарейки, аккумуляторы и разнообразные блоки питания. Этот штекер подключен к пину VIN. О напряжении и мерах предосторожности написано в следующем пункте.
- Через пин 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 — флагманская платформа для разработки на языке программирования С++.
Uno выполнена на микроконтроллере ATmega328P с тактовой частотой 16 МГц. На плате предусмотрены 20 портов входа-выхода для подключения внешних устройств, например плат расширения или датчиков.
Видеообзор
Подключение и настройка
Шаг 1
Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B).
Шаг 2
Установите и настройте интегрированную среду разработки Arduino IDE.
Что-то пошло не так?
Пример работы
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод L
, подключенный к 13
пину микроконтроллера.
- blink.ino
-
void setup() { // Устанавливаем пин светодиода в режим выхода. // Используем определение LED_BUILTIN, // которое содержит в себе пин светодиода pinMode(LED_BUILTIN, OUTPUT); } void loop() { // Включаем светодиод digitalWrite(LED_BUILTIN, HIGH); // Ждём пол секунды delay(500); // Выключаем светодиод digitalWrite(LED_BUILTIN, LOW); // Ждём пол секунды delay(1000); }
После загрузки программы встроенный светодиод L
начнёт мигать раз в секунду.
Это значит, всё получилось, и можно смело переходить к другим экспериментам на Ардуино.
Элементы платы
Микроконтроллер ATmega328P
Сердцем платформы Arduino Uno является 8-битный микроконтроллер фирмы Microchip — ATmega328P на архитектуре AVR с тактовой частотой 16 МГц.
Контроллер обладает тремя видами памяти:
-
32 КБ Flash-памяти, из которых 0,5 КБ используются загрузчиком, который позволяет прошивать Uno с обычного компьютера через USB. Flash-память постоянна и её предназначение — хранение программ и сопутствующих статичных ресурсов.
-
2 КБ RAM-памяти, которые предназначены для хранения временных данных, например переменных программы. По сути, это оперативная память платформы. RAM-память энергозависимая, при выключении питания все данные сотрутся.
-
1 КБ энергонезависимой EEPROM-памяти для долговременного хранения данных, которые не стираются при выключении контроллера. По своему назначению это аналог жёсткого диска для Uno.
Микроконтроллер ATmega16U2
Микроконтроллер ATmega328P не содержит USB интерфейса, поэтому для прошивки и коммуникации с ПК на плате присутствует дополнительный микроконтроллер ATmega16U2 с прошивкой USB-UART преобразователя. При подключении к ПК Arduino Uno определяется как виртуальный COM-порт.
Микроконтроллер ATmega328P общается с ПК через сопроцессор ATmega16U2 по интерфейсу UART используя сигналы RX
и TX
, которые параллельно выведены на контакты 0
и 1
платы Uno. Во время прошивки и отладки программы, не используйте эти пины в своём проекте.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
ON | Индикатор питания платформы. |
L | Пользовательский светодиод на 13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается. |
RX и TX | Мигают при прошивке и обмене данными между Uno и компьютером. А также при использовании пинов 0 и 1 . |
Порт USB Type-B
Разъём USB Type-B предназначен для прошивки и питания платформы Arduino. Для подключения к ПК понадобится кабель USB (A — B).
Разъём питания DC
Коннектор DC Barrel Jack для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
Понижающий регулятор 5V
Понижающий линейный преобразователь NCP1117ST50T3G обеспечивает питание микроконтроллера и другой логики платы при подключении питания через разъём питания DC или пин Vin. Диапазон входного напряжения от 7 до 12 вольт. Выходное напряжение 5 В с максимальным выходным током 1 А.
Понижающий регулятор 3V3
Понижающий линейный преобразователь LP2985-33DBVR обеспечивает напряжение на пине 3V3
. Регулятор принимает входное напряжение от линии 5 вольт и выдаёт напряжение 3,3 В с максимальным выходным током 150 мА.
Кнопка сброса
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET
обычного компьютера.
ICSP-разъём ATmega328P
ICSP-разъём выполняет две полезные функции:
-
Используется для передачи сигнальных пинов интерфейса SPI при подключении Arduino Shield’ов или других плат расширения. Линии ICSP-разъёма также продублированы на цифровых пинах
SS/10
,MOSI/11
,MISO/12
иSCK/13
. -
Предназначен для загрузки прошивки в микроконтроллер ATmega328P через внешний программатор. Одна из таких прошивок — Bootloader для Arduino Uno, который позволяет прошивать платформу по USB.
А подробности распиновки читайте в соответствующем разделе.
ICSP-разъём ATmega16U2
ICSP-разъём предназначен для программирования микроконтроллера ATmega16U2. А подробности распиновки читайте в соответствующем разделе.
Распиновка
Пины питания
-
VIN: Входной пин для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
-
5V: Выходной пин от стабилизатора напряжения с выходом 5 вольт и максимальным током 1 А. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы.
-
3V3: Выходной пин от стабилизатора напряжения с выходом 3,3 вольта и максимальным током 150 мА.
-
IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В нашем случае рабочее напряжение платформы 5 вольт.
-
AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».
-
GND: Выводы земли.
Порты ввода/вывода
-
Пины общего назначения: 20 пинов:
0
–19
Логический уровень единицы — 5 В, нуля — 0 В. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно. -
АЦП: 6 пинов:
14
–19
/A0
–A5
Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В, при подаче большего напряжения микроконтроллер может выйти из строя. -
ШИМ: 6 пинов:
3
,5
,6
и9
–11
Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Разрядность ШИМ не меняется и установлена в 8 бит. -
-
I²C: пины
SDA/18/A4
иSCL0/19/A5
-
-
-
SPI: пины
MOSI/11
,MISO/12
иSCK/13
-
-
-
Serial: пины
TX1/1
иRX1/0
. Контакты также соединены с соответствующими выводами сопроцессора ATmega16U2 для общения платы по USB. Во время прошивки и отладки программы через ПК, не используйте эти пины в своём проекте.
-
Принципиальная и монтажная схемы
Габаритный чертёж
Характеристики
-
Микроконтроллер: ATmega328P
-
Ядро: 8-битный AVR
-
Тактовая частота: 16 МГц
-
Flash-память: 32 КБ
-
RAM-память: 2 КБ
-
EEPROM-память: 1 КБ
-
Пины ввода-вывода: 20
-
Пины с прерыванием: 2
-
Пины с АЦП: 6
-
Разрядность АЦП: 10 бит
-
Пины с ШИМ: 6
-
Разрядность ШИМ: 8 бит
-
Аппаратные интерфейсы: 1× UART, 1× I²C, 1× SPI
-
Напряжение логических уровней: 5 В
-
Входное напряжение питания:
-
через USB: 5 В
-
через DC-разъём или пин Vin: 7,5–12 В
-
-
Максимальный выходной ток пина 3V3: 150 мА
-
Максимальный выходной ток пина 5V: 1 А
-
Размеры: 69×53 мм