Что такое arduino uno – схема платы, пины, подключение, питание, память

Содержание

Что такое Arduino? | РоботоТехника Ардуино

Что такое Ардуино и что с ним можно сделать? Узнайте здесь! На нашем сайте размещены уроки по работе с платой Arduino и есть примеры проектов для начинающих.

Рассмотрим, что это такое Arduino UNO, как пользоваться данной платформой и, что можно сделать с Ардуино. В процессор можно загрузить программу (ее называют скетч), которая будет управлять определенными устройствами по заданному алгоритму или выполнять арифметические операции. В языке программирования Arduino очень легко разобраться, так как создана данная платформа для любителей.

Что такое Arduino и как им пользоваться

Arduino – это инструмент для создания различных электронных устройств (систем автоматики и робототехники), ориентированная на непрофессиональных пользователей. Устройства на Arduino имеют возможность принимать сигналы от различных датчиков и управлять различными исполнительными устройствами. Arduino может работать автономно или взаимодействовать с компьютером.

Видео: Ардуино что это, как пользоваться

Arduino — небольшая плата с собственным процессором и памятью, которая плотно взаимодействует с окружающей средой. Это отличает данный «микрокомпьютер» от персональных компьютеров, которые не выходят за рамки виртуальности. На плате Arduino есть десятки контактов, к которым можно подключать всевозможные компоненты: датчики, моторы, исполнительные устройства, и платы расширения.

Видео. Ардуино, что это такое, с чем его едят

Что такое Arduino и что с ним можно сделать

На нашем сайте размещено множество примеров использования микроконтроллера для создания собственных проектов на Ардуино. В разделе «Робототехника» есть много уроков по подключению различных датчиков и устройств к плате. Потратив несколько часов на изучение информации на нашем сайте, вы поймете, что такое Ардуино Уно и с чего начать работу с микроконтроллером, узнаете большинство команд Arduino.

Кроме уроков для начинающих по программированию и справочника, на нашем сайте есть целый раздел, посвященный обзору микроконтроллеров линейки Arduino. Если вы хотите подробнее узнать, что такое Ардуино и зачем оно нужно, то вам следует ознакомиться с различными проектами, которые можно выполнить на данной платформе. Желаем удачи и добро пожаловать в удивительный мир Ардуино!

Популярные платформы:

Arduino Mega
Arduino Uno
Leonardo

Миниатюрные платформы:

Nano v.3
LilyPad
Pro Mini
Micro

Аналоги Ардуино:

RobotDyn Uno
RobotDyn Nano
RobotDyn Mega

xn--18-6kcdusowgbt1a4b.xn--p1ai

Arduino UNO

5V

8-bit

16 MHz

AVR

Arduino/Genuino Uno — это устройство на основе микроконтроллера ATmega328 (datasheet). В его состав входит все необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъем USB, разъем питания, разъем для внутрисхемного программирования (ICSP) и кнопка сброса. Для начала работы с уcтройством достаточно просто подать питание от AC/DC-адаптера или батарейки, либо подключить его к компьютеру посредством USB-кабеля.

«Uno» (в переводе с итальянского — «один») назван по случаю предстоящего выпуска Arduino IDE 1.0. Совместно с Arduino IDE 1.0 данные устройства будут базовыми версиями Ардуино. Uno — эталонная модель платформы Arduino и является последней в серии USB-плат.

Технические характеристики
Микроконтроллер
ATmega328P
Рабочее напряжение
5 В
Входное напряжение (рекомендованное)
7-12 В
Входное напряжение (предельное)
6-20 В
Цифровых входов / выходов
14 (6 из которых с поддержкой ШИМ)
ШИМ входов / выходов
6
Аналоговых входов / выходов
6
Максимальный ток одного вывода
20 мА
Максимальный выходной ток вывода 3.3В
50 мА
Flash-память
32 Кбайт (0.5 Кбайт из которых выделены под bootloader)
Энергозависимая память (SRAM)
2 Кбайт
Энергонезависимая память (EEPROM)
1 Кбайт
Частота процессора
16 МГц
Встроенный светодиод
на 13 порту
Длина
68.6 мм
Ширина
53.4 мм
Вес
25 г

Документация
Программирование

Arduino Mini программируется с помощью программного обеспечения Arduino IDE (скачать).

ATmega328 в Arduino Uno выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (описание, заголовочные файлы C).

Тем не менее, микроконтроллер ATmega328 можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; информацию о распиновке разъема ICSP для прошивки Mini через загрузчик смотри на соответствующей странице. Инструкции по использованию внешнего программатора для прошивки контроллера смотри здесь.

Исходный код прошивки микроконтроллера ATmega16U2 (или 8U2 на платах версии R1 и R2) находится в свободном доступе. Прошивка ATmega16U2/8U2 включает в себя DFU-загрузчик (Device Firmware Update), позволяющий обновлять прошивку микроконтроллера. Для активации режима DFU необходимо:

  • На платах версии R1: замкнуть перемычку на обратной стороне платы (возле изображения Италии), после чего сбросить 8U2.
  • На платах версий R2 и выше — для упрощения перехода в режим DFU присутствует резистор, подтягивающий к земле линию HWB микроконтроллера 8U2/16U2.

После перехода в DFU-режим для загрузки новой прошивки можно использовать программное обеспечение Atmel’s FLIP (для Windows) или DFU programmer (для Mac OS X и Linux). Альтернативный вариант — прошить микроконтроллер через разъем для внутрисхемного программирования ISP с помощью внешнего программатора, однако в этом случае DFU-загрузчик затрется. Для получения более подробной информации смотри эти инструкции, составленные пользователями официального портала.

Защита USB

В Arduino Uno встроен самовосстанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверх токов. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатывает при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут восстановлены.

Отличия

В отличие от всех предыдущих плат Arduino, Uno в качестве преобразователя интерфейсов USB-UART использует микроконтроллер ATmega16U2 (ATmega8U2 до версии R2) вместо микросхемы FTDI.

Питание

Arduino Uno может быть запитан от USB либо от внешнего источника питания — тип источника выбирается автоматически.

В качестве внешнего источника питания (не USB) может использоваться сетевой AC/DC-адаптер или аккумулятор/батарея. Штекер адаптера (диаметр — 2.1мм, центральный контакт — положительный) необходимо вставить в соответствующий разъем питания на плате. В случае питания от аккумулятора/батареи, ее провода необходимо подсоединить к выводам Gnd и Vin разъема POWER.

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.

Ниже перечислены выводы питания, расположенные на плате:

  • VIN. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
  • 5V. На вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 — 12В), от USB (5В) или через вывод VIN (7 — 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
  • 3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА.
  • GND. Выводы земли.
  • IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Arduino. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.
Память

Микроконтроллер ATmega328 располагает 32 Кбайт флэш памяти, из которых 0.5 Кбайт используется для хранения загрузчика, а также 2 Кбайт ОЗУ (SRAM) и 1 Кбайт EEPROM.(которая читается и записывается с помощью библиотеки EEPROM).

Ввод / вывод

Смотрите также соответствие выводов Arduino и ATmega328. Распиновка для микроконтроллеров ATmega8, 168 и 328 идентична.

С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов может работать в качестве входа или выхода. Уровень напряжения на выводах ограничен 5В. Рекомендуемый ток 20 мА. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм.

Помимо этого, некоторые выводы Arduino Uno могут выполнять дополнительные функции:

  • Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы ATmega8U2, выполняющей роль преобразователя USB-UART.
  • Внешние прерывания: выводы 2 и 3. Могут служить источниками прерываний, возникающих при фронте, спаде или при низком уровне сигнала на этих выводах. Для получения дополнительной информации смотри функцию attachInterrupt().
  • ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
  • Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI.
  • Светодиод: Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается.
  • TWI: вывод A4 или SDA и вывод A5 или SCL. С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.

В Arduino Uno есть 6 аналоговых входов (A0 — A5), каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference().

Помимо перечисленных на плате существует еще несколько выводов:

  • AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения
Связь

Arduino Uno предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Arduino или другими микроконтроллерами. В ATmega328 имеется приемопередатчик UART TTL (5В), позволяющий осуществлять последовательную связь посредством цифровых выводов 0 (RX) и 1 (TX). Микроконтроллер ATmega16U2 на плате обеспечивает связь этого приемопередатчика с USB-портом компьютера, и при подключении к ПК позволяет Arduino определяться как виртуальный COM-порт. Прошивка микросхемы 16U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется. На платформе Windows необходим только соответствующий .inf-файл. В пакет программного обеспечения Arduino входит специальная программа, позволяющая считывать и отправлять на Arduino простые текстовые данные. При передаче данных через микросхему-преобразователь USB-UART во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1, без использования USB-преобразователя, данные светодиоды не задействуются).

Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Uno.

В микроконтроллере ATmega328 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Arduino IDE входит библиотека Wire, позволяющая упростить работу с шиной I2C. Для получения более подробной информации смотрите документацию. Для работы с интерфейсом SPI используйте библиотеку SPI.

Автоматический (программный) сброс

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Uno спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов ATmega8U2/16U2, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega328 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Arduino IDE. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.

Однако эта система может приводить и к другим последствиям. При подключении Uno к компьютерам, работающем на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Arduino Uno активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Arduino, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Arduino, осуществляет отправку спустя секунду после установки соединения.

На плате Uno существует дорожка (отмеченная как «RESET-EN»), разомкнув которую, можно отключить автоматический сброс микроконтроллера. Для повторного восстановления функции автоматического сброса необходимо спаять между собой выводы, расположенные по краям этой дорожки. Автоматический сброс также можно выключить, подключив резистор номиналом 110 Ом между выводом RESET и 5В.

Для получения более подробной информации смотри соответствующую ветку форума на официальном сайте.

Ревизии
  • Относительно 1.0: добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Первый — IOREF — позволяет платам расширения подстраиваться под рабочее напряжение Arduino. Данный вывод предусмотрен для совместимости плат расширения как с 5В Arduino на базе микроконтроллеров AVR, так и с 3.3В платами Arduino Due. Второй вывод ни к чему не подсоединен и зарезервирован для будущих целей.
  • Улучшена помехоустойчивость цепи сброса.
  • Микроконтроллер ATmega8U2 заменен на ATmega16U2.

arduino.on.kg

Сравнение плат Arduino [База знаний]

Сравнение плат Arduino. Какую выбрать?

Теория

КОМПОНЕНТЫ
ARDUINO
ИНТЕРФЕЙСЫ ПЕРЕДАЧИ ДАННЫХ

Итак, у вас есть замысел проекта, но вы сомневаетесь, какую плату выбрать в качестве мозга устройства? Попробуем помочь определиться.

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

Но если вы уже освоились, и желаете разобраться, в чем различия каждой из плат, то начнем!


Таблица сравнения

Таблица сравнения плат Arduino

 


1. Arduino Uno

Arduino Uno

Arduino Uno является стандартной платой Arduino и возможно наиболее распространенной. Она основана на чипе ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферие имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Данная плата контроллера является одной из самых дешевых и наиболее часто используемых. При планировании нового проекта, если вы незнакомы, с платформой Arduino, советуем начать с Uno.

 


2. Arduino Leonardo

Arduino Leonardo

Та же Arduino Uno, но с другим микроконтроллером, который находится в том же классе, но имеет некоторые отличия положительного характера. Большее количество аналоговых входов (12 против 6) для сенсоров, больше каналов ШИМ (7 против 6), больше пинов с аппаратным прерыванием (5 против 2), раздельные независимые serial-интерфейсы для USB и UART. Arduino Leonardo может притворяться клавиатурой или мышью (HID-устройством) для компьютера. Это позволяет легко сделать своё собственное устройство ввода. Из-за распиновки чуть отличной от Arduino Uno возможна несовместимость с некоторыми платами расширения.

 


3. Arduino Nano

Arduino Nano
Arduino Nano
— это функциональный аналог Arduino Uno, но размещённый на миниатюрной плате. Отличие заключается в отсутствии собственного гнезда для внешнего питания, использованием чипа FTDI FT232RL для USB-Serial преобразования (либо Ch440G, требуется установить соответствующие драйвера) и применением mini-USB кабеля для взаимодействия вместо стандартного. В остальном, начинка и способы взаимодействия совпадают с базовой моделью. Платформа имеет штырьковые контакты, что позволяет легко устанавливать её на макетную плату. Используйте Arduino Nano там, где важна компактность, а возможностей Arduino Mini либо не достаточно, либо не хочется заниматься пайкой.

 


4. Arduino Mega

Arduino Mega

Как Arduino Uno, но на базе более мощного микроконтроллера той же архитектуры. Отличный выбор

«на вырост» или если Arduino Uno перестала справляться. В разы больше памяти: 256 КБ против 32 КБ постоянной и 8 КБ против 2 КБ оперативной. В разы больше портов: 60 из них 16 аналоговых и 15 с ШИМ. Немного длиннее базовой Arduino Uno: 101×53 мм против 69×53 мм.

 


5. Arduino Due

Arduino Due

Одна из самых производительных плат от Arduino на микроконтроллере Cortex-M3 по форм-фактору аналогичная Arduino Mega. Процессор на 84 МГц и 512 КБ памяти. 66 пинов ввода-вывода, из которых 12 могут быть аналоговыми входами, 12 поддерживают ШИМ и все 66 могут быть настроены, как аппаратные прерывания. Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц. Родным напряжением для платы является

3.3 В, а не традиционные 5 В. Необходимо следить, чтобы выбираемая периферия поддерживала работу с этим уровнем или ставить преобразователи уровней напряжения.

 


6. Arduino Mini

Arduino Mini

Та же Arduino Uno, но в другом форм-факторе. Компактная: всего 30×18 мм. Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату. На плате нет USB-порта, поэтому прошивать нужно через отдельный USB-Serial адаптер.

 


7. Arduino Micro

Arduino Micro

Arduino Micro — это Arduino Leonardo, исполненный на компактной плате. Отличие заключается в отсутствии собственного гнезда для внешнего питания, но оно может быть подведено непосредственно к контакту Vi. В остальном, начинка и способы взаимодействия совпадают с Arduino Leonardo. Он также имеет один микроконтроллер ATmega32u4 и для прошивки через USB, и для исполнения программ; также может выступать в роли клавиатуры или мыши; предоставляет то же количество памяти, цифровых, аналоговых и ШИМ-портов.

 


8. Arduino M0

Arduino M0

Забудьте про экономию памяти программ и ресурсов на Arduino Uno. С платой Arduino M0 выполнять сложные математические расчёты, получать более точные аналоговые значения и при этом слушать музыку напрямую с микроконтроллера. Arduino M0 основана на

32-битном ARM-процессоре ATSAMD21G18 от Atmel с вычислительном ядром Cortex® M0. Микроконтроллер работает на частоте 48 МГц. А благодаря своей 32-битной архитектуре он выполняет большинство операций над целыми числами всего за один такт. В отличии от большинства плат Arduino, родным напряжением Arduino M0 Pro является 3.3 В, а не 5 В. Соответственно, выходы для логической единицы выдают 3.3 В, а в режиме входа ожидают принимать не более 3.3 В. Arduino M0 смотрит в сторону USB через виртуальный serial-порт, не через аппаратный. Это означает, что 0-й и 1-й контакты аппаратного порта остаются свободными и вы можете использовать их одновременно с коммуникацией с компьютером. Виртуальный serial-порт доступен через объект SerialUSB, а аппаратный — через объект Serial1.

 


9. Arduino LilyPad

Arduino LilyPad

Arduino LilyPad — довольно интересное устройство. Оно выпадает из привычных стереотипов об обычном Arduino, потому что имеет не прямоугольную, а круглую форму. Во-вторых, оно не поддерживает механические соединения с шилдами. Оно предназначено для, небольших автономных устройств. Круглая форма продиктовала то, что разъемы равномерно распределены по окружности, и его небольшой размер (2 дюйма в диаметре) делает его идеальным для переносных устройств. Это устройство легко спрятать, и несколько производителей разработали устройства, специально для LilyPad: экраны, датчики света, даже коробки для батарей питания, которые могут быть зашиты в ткань. Для того, чтобы сделать LilyPad как можно меньше и как можно легче, на сколько возможно, были принесены некоторые жертвы. У LilyPad нет регулятора напряжения на борту, так что ему для питания будет необходимо обеспечить по крайней мере 2.7 вольт, и не более 5.5 вольт.

 


ampermarket.kz

ARDUINO UNO ДЛЯ НАЧИНАЮЩИХ

Введение

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

Конструирование робототехнической системы — это многоплановая задача, требующая знаний по широкому кругу научных и технических вопросов. Изготовление электромеханических исполнительных узлов, например, ходовой части робота, потребует знаний по общей механике, электротехнике. Создание алгоритма действий для робототехнической системы, требует знаний по информатике, в первую очередь навыков программирования. Для получения информации из внешней среды роботу необходимы различные датчики, использование которых потребует знания физических принципов работы этих датчиков. Создание всей системы в целом невозможно без знания электроники. Таким образом, процесс создания робототехнической системы потребует в процессе работы получения большого объема информации по различным естественно научным и физико-математическим дисциплинам, выходящего далеко за пределы объема школьной программы.

В настоящее время существует несколько основных путей позволяющих приступить к воплощению робототехнической системы. Первый использование готовых наборов для конструирования роботов, такие наборы изготовляет известный производитель конструкторов для детей фирма Lego. Они содержат все необходимые компоненты для изготовления робота: блок микроконтроллера, электродвигатели, датчики. Несомненное достоинство этого пути в том, что сконструировать робота на основе готового набора можно просто и быстро.

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

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

Кроме приведенных выше вариантов, существует и третий путь – использование вычислительной платформы Arduino. Ее основой является специальная плата с микроконтроллером, а также специализированная среда разработки Wiring, созданная на основе языка C++.

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

Иными словами программа, написанная на языке Ассемблер, будет занимать места меньше, а выполняться быстрее. Если конструируется учебный робот, или бытовое электронное устройство, в большинстве случаев это не столь важно, в самом деле, если сигнализация среагирует на разбитое окно не через 0,1 с, а через 0,2 с, это ничего принципиально не изменит. Однако в ответственных случаях объем памяти требуемый для программы, и особенно, скорость работы могут стать критически важными, по этому среди специалистов по разработке аппаратно-программных комплексов отношение к данной платформе как минимум неоднозначное. Впрочем, в системах жизнеобеспечения, промышленных, авиационных и космических системах использовать Arduino никому и не придет в голову, к тому же любители крайне редко сталкиваются с необходимостью создания подобных систем.

В любительской же среде Arduino фактически стала стандартом. Применение законченных функциональных блоков Arduino очень сильно упрощает и, следовательно, ускоряет изготовление устройств. Нам важно как тот или иной блок реагирует на определенные сигналы и воздействия, но не принципиально его внутренне устройство. Фактически узлы Arduino являются, с точки зрения кибернетики, «черными ящиками». Однако, есть мнение, что Arduino – это своеобразный радиолюбительский фаст фуд, использование которого недостойно настоящего радиолюбителя.

На это можно возразить, что практически любое электронное устройство собирается из деталей заводского изготовления. В конечном счете, что такое любая микросхема, как не «черный ящик», нам важно как микросхема отвечает на тот или иной электронный сигнал, при этом ее внутреннее устройство, как правило, неизвестно, или мы его знаем только приблизительно. Если отрицать использование готовых узлов можно прийти к тому, что настоящий радиолюбитель должен сам делать радиолампы (как изготовить в кустарных условиях транзистор я не представляю) или, вообще, сначала осваивать добычу медной руды, выплавку метала и волочение проволоки.

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

Описание аппаратной части Arduino

Физически Arduino представляет собой небольшую печатную плату. Самой распространенной на данный момент версией является Arduino UNO с габаритами 75×55 мм.

 Arduino представляет собой небольшую печатную плату

На плате располагается микроконтроллер ATMega328, этот микроконтроллер имеет 2 кб оперативной памяти и 32 кб памяти флэш-памяти для программ. Пользователю доступно несколько меньшая часть памяти программ, потому что часть памяти программ отведено под программу-загрузчик, которая управляет работой платы при загрузке в нее пользовательской программы. Платы заводского изготовления обычно поставляются уже с записанной в память программой-загрузчиком. Если отдельный микроконтроллер, программируемый на Ассемблере, достаточно легко довести до неработоспособного состояния неверными командами, то с Arduino это сделать несколько сложнее, т.к. программное обеспечение Arduino играет роль «защиты от дурака», защищая микроконтоллер от неверных действий начинающего пользователя. Кварцевый резонатор задает тактовую частоту работы микроконтроллера 16 МГц. Так же в микроконтоллере имеется внутренний кварцевый резонатор на частоту 8 МГц, но его обычно не используют.

Для связи с компьютером на плате имеется разъем USB-BF. На платах разных производителей в этой части возможны существенные различия, кроме USB-BF автору встречались платы с micro-USB, на старых и самодельных платах, скорее всего, будет 9-контактный разъем COM-порта. На плате Arduino UNO установлен специальный преобразователь, поэтому подключенная к компьютеру плата, определяется как новый COM-порт. Одно из преимуществ Arduino состоит в том, что благодаря наличию программы загрузчика и возможности подключения Arduino к персональному компьютеру для ее программирования не нужен отдельный программатор. 

 Arduino уно - плата

Подключенная к компьютеру плата Arduino питается через USB-порт. Если плата используется отдельно, то необходимо подключить к плате блок питания с выходным постоянным напряжением 7-12 В, разъем питания, вероятно, типа DS-210. На плате имеется стабилизатор напряжения, поэтому к качеству питающего напряжения устройство нетребовательно. Подойдет почти любой малогабаритный блок питания. В автономных условиях подходит 9 В батарея типа «Крона», или две последовательно соединенные батареи типа 3R12 (3336).

ARDUINO UNO - разъёмы

На плате располагается 14 цифровых портов ввода-вывода, 6 из которых поддерживают широтно-импульсную модуляцию (помечены на плате знаком «~»).

ARDUINO UNO - порты

Кроме цифровых на плате есть 6 аналоговых портов. Аналоговые порты подключены в 10 битному аналогово-цифровому преобразователю, при необходимости их также можно использовать в качестве цифровых портов. 

ARDUINO на atmega

На плате имеются четыре светодиода – индикатор питания (обозначен, как ON), светодиод, подключенный к 13 порту (L), два светодиода индикации обмена данными через последовательный порт (TX и RX). Также на плате имеется кнопка для перезагрузки микроконтроллера. 

ARDUINO UNO ДЛЯ НАЧИНАЮЩИХ

Одним из достоинств Arduino является то, что кроме основной платы производится дополнительные платы, расширяющие возможности основного устройства. Такие платы расширения называют Shield, что дословно можно перевести как «щит» или «экран», обычно в русскоязычной литературе используется англицизм «шилд». Шилды позволяют подключать к Arduino электродвигатели, обеспечивают выход в компьютерные сети по протоколу Ethernet или WiFi, передачу информации по сети сотовой связи GSM, и выполняют многие другие функции. Для работы с такими платами существуют готовые программные библиотеки.

Плата Arduino UNO

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

Для использования в готовых изделиях выпускаются платы ArdinoNano и ArdinoMini, они имеют меньшие физические размеры, и несколько меньшую стоимость. Эти платы совместимы программно с Arduino UNO, но не позволяют непосредственно подключать к ним шилды. ArdinoNano – плата уменьшенного размера, имеет разъем для непосредственной связи с компьютером, выводы позволяют использовать более надежное паяное соединение. ArdinoMini – еще более уменьшена, по сравнению с ArdinoNano, на плате отсутствует разъем для прямого подсоединения к компьютеру, для программирования требуется специальный переходник.

Если возможностей Arduino UNO недостаточно, можно применить расширенную версию ArdinoMega. Эта плата имеет расширенные возможности 54 цифровых порта из них 15 поддерживают ШИМ,16 — аналоговых портов, 128 кб (в поздних версиях 256 кб) — флэш-памяти для программ, 8 кб оперативной памяти.

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

Основной стандарт плат Arduino, тоже изменялся со временем. Более подробно с различными версиями плат можно познакомиться на сайте разработчика. На данный момент самым современным вариантом является Arduino Leonardo. Однако на данный момент Arduino UNO распространена наиболее широко, так что в дальнейшем остановим свое внимание именно на Arduino UNO.

Надо отметить, что конструктивно Arduino не очень сложна и вполне доступна для самостоятельного изготовления, во всяком случае, если речь идет о подготовленном радиолюбителе-конструкторе. На сайте разработчика имеется вся необходимая документация для самостоятельного изготовления Arduino.

Вообще проект Ардуино полностью открытый, авторским правом охраняется только сам термин «Arduino», поэтому множество сторонних производителей выпускают свои конструкции: Freeduino, Japanino, Seeeduino, CraftDuino, Diavolino и т.п. Существуют платы, как полностью повторяющие оригинальные, так и собственные разработки, часть из которых совместима с Arduino только программно, из-за того, что платы имеют отличную конфигурацию. В целом, на современном уровне производства электронных устройств, платы Arduino не содержат в себе каких-то действительно высоких технологий, поэтому приемлемый для любителя уровень качества способны обеспечить не только производители оригинальных устройств, но и малоизвестные фирмы, которые предлагают аналогичные конструкции по существенно более низким ценам.

Если плата заявлена как копия Arduino UNO, то, скорее всего, все сказанное о Arduino UNO будет относиться и к ней, хотя конечно за конкретного китайского производителя поручиться нельзя. Собственно конкретная плата, которая использовалась автором, обозначена просто UNO, слово «Arduino» отсутствует, так что это плата безвестного азиатского производителя, который уважает авторское право разработчиков оригинального проекта. Не смотря на сомнительное происхождение, ни каких нареканий к качеству самой платы автор предъявить не может. С вами был Denev.

   Форум по Ардуино

   Обсудить статью ARDUINO UNO ДЛЯ НАЧИНАЮЩИХ


radioskot.ru

Что такое Arduino и что с ним можно сделать

Сейчас в мире людей, увлечённых техникой, наблюдается настоящая «ардуиномания». Этому маленькому загадочному устройству посвящены тысячи статей, сотни блогов и форумов. Так что же это такое – Arduino? И почему он обрёл столь большую популярность?

Arduino – это маленькое электронное устройство, состоящее из одной печатной платы, которое способно управлять разными датчиками, электродвигателями, освещением, передавать и принимать данные… Arduino – это целое семейство устройств разных размеров и возможностей. А также это целый зоопарк клонов Ардуино и мир ардуино-совместимых устройств. Но давайте обо всём по порядку.

1«Мозг» Arduino

«Мозг» Arduino – это микроконтроллер семейства Atmega. Микроконтроллер представляет из себя микропроцессор с памятью и различными периферийными устройствами, реализованный на одной микросхеме. Фактически это однокристальный микрокомпьютер, который способен выполнять относительно простые задачи. Разные модели из семейства Arduino оснащены разными микроконтроллерами.

Atmega328 – мозг Arduino UNO

На фото микроконтроллер Atmega328. Такие микроконтроллеры стоят на Arduino UNO и Arduino Nano (но в другом корпусе).

2«Руки» Arduino

Но какой толк от мозга, если он не имеет рук? Руками в данном случае служат электрические выводы, размещённые по периметру платы Arduino. Есть платы с большим количеством выводов, есть с меньшим. Например, самая большая плата в семействе Ардуино – Arduino Mega – имеет более 70 независимых выводов, а самая маленькая – Arduino Pro Mini – всего 22 вывода.

Сравнение Arduino Mega и Arduino Pro MiniСравнение Arduino Mega и Arduino Pro Mini

На фотографии показаны в сравнении Arduino Mega и Arduino Pro Mini. Представляете, что мог бы делать человек, имея столько рук, сколько Arduino Mega – выводов?

3Цифровые и аналоговые выводы

Не все выводы у Arduino одинаковые. Есть выводы цифровые, а есть аналоговые. Принципиальная разница между ними в том, что на цифровых выводах может быть только два значения: либо логическая «1» (TRUE, от 3 до 5 вольт), либо логический «0» (FALSE, от 0 до 1,5 вольт), а на аналоговых выводах диапазон от логической «1» до «0» поделён на множество мелких участков.

Зачем это нужно? Давайте рассмотрим такой наглядный пример. Если подключить к цифровому выводу Arduino светодиод и подать на вывод логическую «1», то светодиод загорится с максимальной яркостью; если подать «0» – светодиод погаснет. Никаких промежуточных вариантов нет. Если светодиод подключить к аналоговому выводу, то яркостью светодиода можно управлять плавно. На практике к аналоговым выводам чаще всего подключаются какие-либо аналоговые датчики.

4Чем может управлять Arduino

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

  • кнопки, герконы и джойстики,
  • светодиоды и фотодиоды,
  • микрофоны и динамики,
  • электродвигатели и сервоприводы,
  • ЖК дисплеи,
  • считыватели радиометок (RFID и NFC),
  • bluetooth, WiFi и Ethernet модули,
  • считыватели SD карт,
  • радиоприёмники и радиопередатчики,
  • GPS и GSM модули…

А также десятки различных датчиков:

  • освещённости,
  • магнитного поля,
  • ультразвуковые и лазерные дальномеры,
  • гироскопы и акселерометры,
  • датчики дыма и состава воздуха,
  • датчики давления, температуры и влажности…

И ещё многое, многое другое

Всё это превращает Arduino в универсальное ядро системы, которое может быть сконфигурировано совершенно разнообразными способами. Хотите сделать радиоуправляемую кормушку для питомца? Пожалуйста! Хотите чтобы при начале дождя у вас на лоджии закрывалось окно? Пожалуйста! Хотите управлять яркостью освещения в комнате со смартфона? Запросто! Хотите получать уведомления на e-mail, если почва комнатных растений стала слишком сухой? И это можно!

Разнообразные датчики, которые можно подключить к ArduinoРазнообразные датчики, которые можно подключить к Arduino

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

5Общение с Arduino

Как же процессор узнаёт, что именно ему следует делать? Вы должны рассказать ему это. Написание сообщений для Arduino называется программирование. Существует язык для общения с микроконтроллером, упрощённый и адаптированный специально для Arduino. Освоить этот язык совсем не сложно при желании и определённой настойчивости, даже если вы никогда раньше не программировали.

И для упрощения этого процесса разработана специальная программная среда – Arduino IDE. В её состав включены десятки примеров хороших, работающих программ. Изучив их, вы очень быстро многое узнаете о языке общения с Arduino.

Внешний вид среды разработки для программирования Ардуино – Arduino IDEВнешний вид среды разработки для программирования Ардуино – Arduino IDE

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

Вы можете заказать Arduino и множество разнообразных датчиков для него в китайском онлайн-магазине Али-Экспресс. Здесь цены ниже, но доставка занимает время от 3 недель до 1,5 месяцев. Можно заказать Arduino в магазине электроники Voltiq.ru. Здесь цены чуть выше, чем в китайских интернет-магазинах, но не придётся ждать целый месяц. Ещё один хороший магазин электроники и робототехники – FastNVR.ru.

Ну и напоследок, посмотрите, какие разные и замечательные проекты можно воплотить с помощью Ардуино!

soltau.ru

Arduino UNO R3: схема, распиновка портов

Arduino UNO R3 ► флагманская плата для разработки проектов на базе микроконтроллера ATmega328. Arduino UNO самая популярная платформа для начинающих изобретателей.

Arduino/Genuino UNO — это флагманская плата для разработки собственных проектов, построения простых систем автоматики и робототехники на базе микроконтроллера ATmega328 с бесплатным программным обеспечением и открытой архитектурой. Arduino UNO R3 является сегодня самой популярной платформой для начинающих изобретателей, любителей мастерить своими руками, студентов и школьников.

Arduino UNO: распиновка платы

Что такое Arduino UNO Ch440 мы уже рассказывали, поэтому перейдем сразу к характеристикам и описанию платы Ардуино УНО. Распиновка и принципиальная схема платформы представлена на фото далее. Как мы уже говорили, вся линейка плат имеет полностью открытую архитектуру системы, что позволяет любому стороннему производителю копировать и модернизировать платы Arduino Genuino UNO.

Arduino UNO распиновка платы на русскомArduino UNO распиновка платы на русскомArduino UNO распиновка платы на русском, ICSP

UNO является лучшим вариантом для знакомства с микроконтроллерами. Плата имеет удобный размер и все необходимое для начала работы: 14 цифровых входов/выходов (6 портов могут работать в режиме ШИМ), 6 аналоговых входов для датчиков, разъем USB для программирования и разъем питания Arduino UNO от блока питания или кроны. Но главное — это огромное множество уроков и инструкций в Интернете.

Характеристики платы Arduino UNO

  • Микроконтроллер: ATmega328
  • Тактовая частота: 16 МГц
  • Напряжение логических уровней: 5 В
  • Входное напряжение питания: 7–12 В
  • Портов ввода-вывода общего назначения: 20
  • Максимальный ток с порта ввода-вывода: 40 мА
  • Максимальный выходной ток порта 3.3 В: 50 мА
  • Максимальный выходной ток порта 5 В: 800 мА
  • Портов с поддержкой ШИМ: 6
  • Портов, подключённых к АЦП: 6
  • Разрядность АЦП: 10 бит
  • Flash-память: 32 КБ
  • EEPROM-память: 1 КБ
  • Оперативная память: 2 КБ
  • Габариты: 69×53 мм

Arduino UNO: схема электрическая

Arduino UNO R3 схема принципиальная электрическаяArduino UNO R3 схема принципиальная электрическаяArduino UNO R3 схема принципиальная электрическая

Arduino UNO: порты ввода вывода, питание

Рабочее напряжение — 5 В при подключении через USB с любых устройств (компьютер, ноутбук, зарядка от смартфона и т.д.). При одновременном подключении внешнего адаптера (аккумулятора, кроны, блока питания), питание автоматически переключается, но плату можно по-прежнему программировать через компьютер. Рекомендуемое питание Arduino Uno от батареек или аккумулятора от 7 до 12 В.

Arduino Uno питание от блока питания 12 вольтArduino Uno питание от блока питания 12 вольтArduino Uno питание от блока питания 12 вольт

Arduino UNO: питание от внешнего источника

5V     – на пин Ардуино подает 5В, его можно использовать для питания устройств
3.3V – на пин подается напряжение 3.3В от внутреннего стабилизатора
GND – вывод земли
VIN  – пин для подачи внешнего напряжения
IREF – пин для информирования о рабочем напряжении платы

Можно питание на микроконтроллер подать через порт VIN с помощью проводов. «Плюс» от внешнего источника подается на порт VIN, а «Минус» на GND (заземление). Подача внешнего напряжения 5 Вольт на пин 5V не допустимо, так как питание Genuino Arduino Uno обходит стороной стабилизатор, что может привести к поломке. Все цифровые порты на плате выдают стабилизированное напряжение в 5 Вольт.

Arduino UNO: прошивка, память

Arduino UNO программирование для начинающихArduino UNO программирование для начинающихArduino UNO программирование для начинающих

Программирование платы происходит в бесплатной среде Arduino IDE на русском, которую можно скачать на официальном сайте. Для подключения устройств и модулей используются коннекторы («папа-папа» и «папа-мама»), которые подключаются к портам Ардуино. Чтобы начать работать с платформой, перейдите в раздел Arduino uno r3 «Уроки для начинающих» , где представлены подробные инструкции с примерами.

Плата поддерживает три типа памяти:

Flash – память объемом 32 кБ, используется для хранения программы. Когда контроллер прошивается скетчем через USB, он записывается именно во Flash – память. Чтобы очистить память Arduino UNO следует загрузить пустой скетч.

SRAM память — это оперативная память Ардуино объемом 2 кБ. Здесь хранятся переменные и объекты, создаваемые в скетче. SRAM память энерго-зависимая, при отключении источника питания от платы, все данные удалятся.

EEPROM — это энергонезависимая память объемом 1кБ. Сюда можно записывать данные, которые при выключении питания не исчезнут. Минус EEPROM в ограничении циклов перезаписи — 100 000 раз по утверждениям производителя.

Описание Ардуино УНО на русском

Рекомендуем вам ознакомиться с другими платами из линейки Arduino-Genuino, например, аналог самой популярной платы UNO — RobotDyn UNO R3 от китайского производителя. Плата по своим характеристикам ничем не уступает официальному производителю, но при этом имеет более демократичную цену и ряд преимуществ. Таких как, более удобный USB-разъем и большее количество аналоговых входов.

xn--18-6kcdusowgbt1a4b.xn--p1ai

Плата Arduino Uno — описание, схема, распиновка

Arduino Uno – плата от компании Arduino, построенная на микроконтроллере ATmega 328.

Плата имеет на борту 6 аналоговых входов, 14 цифровых выводов общего назначения (могут являться как входами, так и выходами), кварцевый генератор на 16 МГц, два разъема: силовой и USB, разъем ISCP для внутрисхемного программирования и кнопку горячей перезагрузки устройства. Для стабильной работы плату необходимо подключить к питанию либо через встроенный USB Разъем, либо подключив разъем питания к источнику от 7 до 12В. Через переходник питания плата также может работать и от батареи формата Крона.

Основное отличие платы от предыдущих – для взаимодействия по USB Arduino Uno использует отдельный микроконтроллер ATmega8U2. Прошлые версии Arduino использовали для этого микросхему программатора FTDI.

Несложно догадаться, что благодаря своему итальянскому происхождению, слова “Arduino” и “Uno” взяты именно из этого языка. Компания назвалась “Arduino” в честь короля Италии 11 века Ардуина, а Уно переводится с итальянского как “первый”.

Печатная плата Arduino Uno является Open-Hardware, поэтому все ее характеристики доступны в открытом доступе.

Длина и ширина платы составляют 69 мм x 53 мм.

Силовой и USB разъемы выступают за границы печатной платы на 2 мм.

Расстояние между выводами соответствует стандарту 2.54 мм, однако расстояние между 7 и 8 контактами составляет 4 мм.

Плата Arduino Uno имеет на борту 3 способа подключения питания: через USB, через внешний разъем питания и через разъем Vin, выведенный на одну из гребенок сбоку. Платформа имеет на борту встроенный стабилизатор, позволяющий не только автоматически выбирать источник питания, но и выравнивать ток до стабильных 5 вольт, необходимых контроллеру для работы.

Внешнее питание можно подавать как напрямую от USB порта компьютера, так и от любого AC/DC блока питания через разъем питания или USB.

На плате предусмотрено несколько выводов, позволяющих запитывать от нее подключенные датчики, сенсоры и актуаторы. Все эти выводы помечены:

  • Vin – вход питания, используется для получения питания от внешнего источника. Через данных вывод происходит только подача питания на плату, получить оттуда питание для внешних устройств невозможно. На вход Vin рекомендуется подавать напряжение в диапазоне от 7В до 20В, во избежании перегрева и сгорания встроенного стабилизатора.
  • 5V – источник пятивольтового напряжения для питания внешних устройств. При получении питания платой из любых других источников (USB, разъем питания или Vin) на этом контакте вы всегда сможете получить стабильное напряжение 5 вольт. Его можно вывести на макетную плату или подать напрямую на необходимое устройство.
  • 3V3 – источник 3.3 вольтового напряжения для питания внешних устройств. Работает по такому-же принципу, что и контакт 5V. С данной ножки также можно вывести напряжение на макетную плату, либо подать на необходимый датчик/сенсор напрямую.
  • GND – контакт для подключения земли. Необходим для создания замкнутой цепи при подключении к контактам Vin, 5V или 3V3. Во всех случаях ножку GND необходимо выводить как минус, иначе цепь не будет замкнута и питание (что внешнее, что внутреннее) не подасться.

Платформа Arduino Uno имеет на борту микроконтроллер ATmega328, который обладает Flash, SRAM и EEPROM памятью.

  • FLASH – 32kB, из которых 0.5kB используется для хранения загрузчика
  • SRAM (ОЗУ) – 2kB
  • EEPROM – 1kB (доступна с помощью библиотеки EEPROM)

На плате выведены 14 цифровых пинов (контактов), любой из которых может работать как на вывод информации, так и на ввод. Для этого в коде программ применяются специальные функции:

Функция pinMode служит для задания режима работы контакта, будет-ли он работать на выход или на вход. В данной функции задается номер контакта, которым мы в дальнейшем собираемся управлять.

digitalRead()

Функция считывает текущее значение с заданного контакта – его значение может быть HIGH или LOW.

digitalWrite()

Функция передает определенное значение на заданный контакт – оно может быть HIGH или LOW.

Все выводы обладают пятивольтовой логикой, то есть выдают логическую единицу как напряжение 5В.

Каждый вывод платы имеет нагрузочный резистор номиналом 20-50 кОм и может пропускать до 40 мА, но по умолчанию все они отключены.

Также, на контактных площадках Arduino Uno выведены специальные интерфейсы подключения различных цифровых устройств:

Arduino Uno имеет на своей платформе 6 аналоговых входов с разрешением 10 Бит на каждый вход. Данное разрешение говорит нам о том, что сигнал, приходящий на него, можно оцифровать в диапазоне от 0 до 1024 условных значений.

Считывать значения с данных контактов можно функцией analogRead(), а передавать значения – функцией analogWrite().

Так как Arduino Uno обладает пятивольтовой логикой, то и значение будет находиться в диапазоне от 0 до 5 вольт, однако при помощи функции analogReference() можно изменять верхний предел.

Данные выводы используются для обмена данными по протоколу UART. Контакт RX используется для получения данных, а контакт TX – для их отправки. Эти выводы подключены к соответствующим контактам последовательной шины схемы ATmega8U2 USB-to-TTL, выступающей в данном контексте в роли программатора.

Данные контакты могут конфигурироваться на вызов различных прерываний, когда программа останавливает выполнение основного кода и производит выполнение кода прерывания.

Вызов прерывания может быть задан по-разному:

  • на младшем значении
  • на переднем или заднем фронте
  • при изменении значения

Более подробно прерывания описаны в отдельной статье нашей Вики.

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

При помощи данных контактов к Arduino можно подключать внешние цифровые устройства, умеющие общаться по протоколу I2C. Для реализации интерфейса в среде Arduino IDE присутствует библиотека Wire.

Для проверки вашего кода по ходу его написания, самый удобный способ индикации – встроенный светодиод. Подав значение HIGH на 13 контакт, он загорается на плате красным цветом, тем самым показывая, что условие вашей программы выполнилось (или наоборот, что-то пошло не так). 13 контакт удобно использовать в коде программы для проверки ошибок и отладки.

Кстати, хотим заметить, что последовательно к 13-ому контакту подключен резистор на 220 Ом, поэтому не стоит использовать его для вывода питания ваших устройств. 

Помимо всех вышеперечисленных, на платформе Uno имеется еще 2 дополнительных контакта.

AREF

Данный контакт отвечает за определение опорного напряжения аналоговых входов платформы. Используется только с функцией analogReference().

RESET

Данный контакт необходим для аппаратной перезагрузки микроконтроллера. При подаче сигнала низкого уровня (LOW) на контакт Reset, происходит перезагрузка устройства.

Данный контакт обычно соединен с аппаратной кнопкой перезагрузки, установленной на плате.

Для осуществления связи с внешними устройствами (компьютером и другими микроконтроллерами) на плате существует несколько дополнительных устройств.

На контактах 0 (RX) и 1 (TX) контроллер ATmega328 поддерживает UART – последовательный интерфейс передачи данных. ATmega8U2, выполняющий на плате роль программатора, транслирует этот интерфейс через USB, позволяя платформе общаться с компьютером через стандартный COM-порт. Прошивка, установленная в контроллер ATmega8U2, имеет на борту стандартные драйверы USB-COM, поэтому для подключения не потребуется никаких дополнительных драйверов.

Внимание! На платах китайского производства, вместо контроллера ATmega8U2 используется другой программатор – Ch440G, который не распознается Windows в автоматическом режиме. Для него необходимо установить дополнительный драйвер, о чем подробно написано в нашем блоге – Установка драйверов микросхемы Ch440G для Arduino.

При помощи мониторинга последовательной шины, называемого Serial Monitor, среда Arduino IDE посылает и получает данные от Arduino. При обмене данными на плате видно мигание светодиодов RX и TX. При использовании UART-интерфейса через контакты 0 и 1, светодиоды не мигают.

Плата может взаимодействовать по UART-интерфейсу не только через аппаратным, но и через программным способом. Для этого в среде Arduino IDE предусмотрена библиотека SoftwareSerial.

Также, на плате предусмотрены выводы основных интерфейсов взаимодействия с периферией: SPI и I2C (TWI).

Платформа Arduino Uno, как и все другие Arduino-совместимые платформы, программируется в среде Arduino IDE. Для работы с ней в настройках программы необходимо выбрать нужную платформу. Это можно сделать в верхнем меню -> Tools -> Boards -> Arduino UNO.

Выбор микроконтроллера зависит от того, какой стоит именно на вашей плате. Обычно это ATmega328.

Плата как правило поставляется уже прошитая необходимым загрузчиком и должна определяться системой в автоматическом режиме (за исключением плат на основе программатора Ch440G). Связь микроконтроллера с компьютером осуществляется стандартным протоколом STK500.

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

Обычно, в микроконтроллерах перед загрузкой кода предусмотрен вход платы в специальный режим загрузки, однако Arduino Uno избавлена от данного действия для упрощения загрузки в нее программ. Стандартно, перед загрузкой каждый микроконтроллер получает сигнал DTR (digital reset), но в данной плате вывод DTR подключен к микроконтроллеру ATmega8U2 через 100 нФ конденсатор и программатор сам управляет процессом загрузки новой прошивки в контроллер. Таким образом, загрузка прошивки происходит моментально после нажания кнопки Upload в среде Arduino IDE.

Эта функция имеет еще одно интересное применение. Каждый раз при подключении платформы к компьютеру с OC Windows, MacOS или Linux, происходит автоматическая перезагрузка платы и в следующие полсекунды на плате работает загрузчик. Таким образом, для избежания получения некорректных данных, во время загрузки прошивок происходит задержка первых нескольких байтов информации.

Arduino Uno поддерживает отключение автоматической перезагрузки. Для этого необходимо разорвать линию RESET-EN. Еще один способ отключения автоматической перезагрузки – подключение  между линиями RESET-EN и линией питания 5V резистора номиналом 110 Ом.

Для защиты USB порта компьютера от обратных токов, короткого замыкания и сверхнагрузки, на платформе Arduino Uno встроен автоматический самовостанавливающийся предохранитель. При прохождении тока питания более 500 мА через USB порт, предохранитель автоматически срабатывает и размыкает цепь питания до тех пор, пока значения тока не вернуться к нормальным.

voltiq.ru

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

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