Акции
Блог
О 3DiY
  • О компании
  • Реквизиты
  • Партнеры
  • Клиенты
  • Вакансии
Оплата
Доставка
Гос. закупки
Товары под заказ
ВК Видео
Отзывы
Услуги
  • 3D печать
    • 3D печать пластиком FDM/FFF
    • 3D печать фотополимером
Контакты
  • Как до нас добраться
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3D принтеры3D сканерыПластик для 3D принтераФотополимерыКомплектующие 3DКомплектующие ЧПУЗапчасти 3D принтеров по брендам3D печать на заказ
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3DIY
    Телефоны
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    0
    0
    0
    • Кабинет
    • 0Сравнение
    • 0Избранное
    • 0Корзина
    • Бренды
    • Акции
    • Услуги
      • Услуги
      • 3D печать
        • 3D печать
        • 3D печать пластиком FDM/FFF
        • 3D печать фотополимером
    • Компания
      • Компания
      • О компании
      • Реквизиты
      • Партнеры
      • Клиенты
      • Вакансии
    • Блог
    • Информация
      • Информация
      • Гарантия на товар
      • Возврат товара
      • Положение о персональных данных
      • Политика конфиденциальности
      • Согласие на получение рекламы
      • Пользовательское соглашение
      • Согласие на обработку персональных данных
      • Использование cookie-файлов
      • Договор-оферта
    • Контакты
      • Контакты
      • Как до нас добраться
    8 (800) 500-45-93отдел продаж Россия
    • Телефоны
    • 8 (800) 500-45-93 отдел продаж Россия
    • 8 (495) 565-35-93 отдел продаж Москва
    • info@3d-diy.ru — отдел продаж

      print@3d-diy.ru — 3D печать на заказ

      support@3d-diy.ru — тех. поддержка

      buh@3d-diy.ru — Бухгалтерия
    • Москва, Павелецкая набережная, 2с1
      Как до нас добраться, см. тут
    • пн - пт 09:00—18:00
    Главная
    Блог
    Arduino платы
    Arduino Uno

    Arduino Uno

    Arduino Uno
    Arduino платы

    Содержание

    • Обзор
    • Программирование и связь с ПК
    • Система питания
    • Порты ввода/вывода
    • Память
    • Подведение итогов
    • Часто Задаваемые вопросы

    Обзор

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

    Arduino UNO была разработана итальянскими инженерами как одна из основных плат, имеющих открытую архитектуру. По мере увеличения популярности, у платы появилось множество «клонов», полностью совместимых по программной и аппаратной части. На рисунке №1 показан внешний вид платы Arduino UNO с обеих сторон.

    arduino-uno.png  

    Рисунок №1 – плата Arduino Uno

    Как видно из рисунка, подключение к пинам микроконтроллера выполняется через штыревые линейки, распаянные по обе стороны платы. Таким образом разработчик может связать ATMega328 с внешними устройствами при помощи макетных проводов. Также под топологию Arduino Uno создано огромное количество шилдов, обеспечивающих дополнительный функционал путём их каскадного включения. Пример такого включения показан на рисунке №2.

    arduino-uno-shild.jpg

    Рисунок №2 – Arduino Uno и шилд для ЧПУ 

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

    Удобно организованный доступ к портам микроконтроллера – это хорошо, но что ещё содержит Arduino Uno на своём борту? Разобраться в дополнительных деталях поможет рисунок №3, на котором обведены и подписаны все основные элементы платы и дана общая характеристика для штыревых контактов.

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

     raspinovka-arduino-uno.jpg

    Рисунок №3 – распиновка платы Arduino Uno 


    Программирование и связь с ПК

    В левом верхнем углу (рисунок №3) расположен USB-разъём. Он выполняет две функции. Первая – организация канала обмена данными между микроконтроллером и ПК и вторая – запись прошивки в ATMega328.

    На аппаратном уровне за связь с компьютером отвечает модуль последовательного интерфейса передачи данных (UART), который встроен в ATMega328 и выведен на контактах 0(RX) и 1(TX) платы Arduino Uno. Однако просто передавать данные на компьютер не получиться. Посредником между ATmega328 и компьютером выступает отдельно установленный микроконтроллер ATMega16. Его специальная прошивка позволяет определять плату Arduino Uno как виртуальный СОМ-порт, когда та подключается к ПК. Обмен данными будет сопровождаться миганием соответствующих светодиодов RX и TX, расположенных справа от ATMega16.

    Что касается записи прошивки, то этот процесс максимально упрощён и сводится к нажатию всего одной кнопки в среде Arduino IDE. Такая простота обусловлена тем, что Arduino Uno выпускается со встроенным прошитым загрузчиком, работающем по протоколу STK500. Следовательно, во внешнем программаторе нет никакой необходимости. Тем не менее, для любителей прошить контроллер напрямую, на плате предусмотрена колодка ICSP (справа посередине) для внутрисхемного программирования в обход загрузчика. Сам DFU-загрузчик находиться в ATMega16 и также может быть переписан путём внутрисхемного программирования через аналогичную колодку в верхней левой части платы.


    Система питания

    Для того, чтобы плата Arduino Uno могла функционировать, на неё необходимо подать питание. Сделать это можно несколькими способами, а именно:

    • Запитать непосредственно через USB-разъём с помощью шнура для программирования или связи с ПК;
    • Запитать от AC/DC адаптера с выходным напряжением 7-12В, подключившись через специальный разъём внешнего питания.
    • Подать напряжение 7-12В напрямую на вход Vin, который расположен на штыревой колодке питающей группы. При этом минусовой контакт источника питания следует соединить с одним из контактов GND платы.

    Также, плата Arduino Uno, предоставляет пользователю два контакта, на которых присутствуют напряжения 5В и 3,3В. Эти напряжения формируются встроенными линейными стабилизаторами при любом из вышеперечисленных способов питания. Максимальный ток, который способен обеспечить вывод 3,3В равен 50мА. Некоторые «умельцы» питают плату через один из этих выводов, однако это чревато выходом последней из строя, так как входное напряжение идёт в обход стабилизатора и любой скачок просто-напросто спалит микроконтроллер.

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

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


    Порты ввода/вывода

    Arduino Uno предоставляет пользователю 14 цифровых и 6 аналоговых выводов. Цифровые выводы имеют нумерацию от 0 до 13 и способны работать в двух направлениях, т.е. каждый из них может быть как входом, так и выходом. Направление определяется функцией pinMode(). Помимо этого, для каждого цифрового пина имеется возможность программно включить подтягивающий резистор, соединённый с плюсом питания микроконтроллера. Номинал подтягивающего резистора лежит в диапазоне 20-50кОм. Следует учитывать, что максимальное выходное  напряжение одного вывода составляет 5В, а максимальный ток - 40мА. Превышение допустимой нагрузки способно вывести микроконтроллер из строя.

    Аналоговые выводы имеют обозначения А0-А5. Каждый из них соединён со встроенным 10-битным АЦП микроконтроллера ATMega328. Это означает, что мы можем одновременно измерять 6 напряжений и получать по 1024 значения для каждого канала. По умолчанию диапазон измеряемого напряжения равен 0-5В, т.е. при 0В значение АЦП будет равно 0, а при 5В значение АЦП станет равным 1023. Этот диапазон можно изменить подачей на вывод AREF своего опорного напряжения, которое станет верхней границей измерения. Если в аналоговых выводах нет необходимости, они без проблем могут использоваться как цифровые.

    Помимо первичных функций, некоторые выводы Arduino Uno имеют дополнительные. Например:

    • выводы 3, 5, 6, 9, 10 и 11 способны формировать широтно-импульсную модуляцию (ШИМ) с помощью функции analogWrite().
    • выводы A4(SDA) и A5(SCL) представляют интерфейс связи по протоколу I2C.
    • выводы 10(SS), 11(MOSI), 12(MISO), 13(SCK) обеспечивают связь по SPI-интерфейсу.
    • выводы 0(RX) и 1(TX) - обеспечивают последовательный интерфейс передачи данных.
    • к выводу 13 подключен smd-светодиод, расположенный на плате.
    • RESET – подача низкого уровня на этот вывод приведёт к сбросу микроконтроллера.

    Для удобства восприятия целесообразно всё свести в таблицу, которую можно использовать как «шпаргалку» при создании собственных проектов:

    Пин Arduino Uno

    Название пина в скетче

    Альтернативная функция

    Генерация ШИМ

    Цифровой пин №0

    0

    Serial (RX)

     

    Цифровой пин №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) + светодиод

     

    Аналоговый пин №А0

    А0

     

     

    Аналоговый пин №А1

    А1

     

     

    Аналоговый пин №А2

    А2

     

     

    Аналоговый пин №А3

    А3

     

     

    Аналоговый пин №А4

    А4

    I2C (SDA)

     

    Аналоговый пин №А5

    А5

    I2C (SCL)

     


    Полная карта выводов Arduino Uno показана на рисунке №4. На ней отражены все основные и альтернативные функции для каждого пина в отдельности, а также приведено соответствие физическим выводам ATMega328.

    karta-vuvodov-arduino-uno.jpg

    Рисунок №4 – карта выводов Arduino Uno 


    Память

    Так как основой платы Arduino Uno является микроконтроллер ATMega328, пользователь получает в своё распоряжение три типа памяти, которые присущи всей линейке микроконтроллеров AVR, а именно:

    • FLASH-память. Данная память используется для хранения прошивок, создаваемых программистом. Именно сюда будут записываться скомпилированные скетчи из среды программирования. Для Arduino Uno объём flash-памяти равен 32кб, два из которых отведены на специальную программу-загрузчик (bootloader). Bootloader нужен для упрощения процесса записи кода в микроконтроллер.

    • Энергонезависимая память EEPROM. Данный вид память даёт возможность сохранять данные, которые не будут удалены при отключении питания Arduino Uno. Для данной модификации платы, объём памяти EEPROM равен 1кБ. Зачастую эту память используют для сохранения всевозможных настроек. Следует помнить, что ресурс перезаписи EEPROM ограничен, поэтому следует грамотно оформлять код, чтобы увеличить срок службы памяти. Не стоит беспорядочно писать в ячейки новые данные. Делать это нужно как можно реже и только при необходимости. Для работы с энергонезависимой памятью в среде программирования Arduino IDE есть удобная библиотека, которая называется EEPROM.h.

    • Оперативная память SRAM. Эта память предназначена для хранения переменных и объектов, созданных во время выполнения программы. В распоряжении программиста имеется 2кБ памяти SRAM. В отличие от EEPROM, здесь все данные будут полностью удалены при отключении питания. На практике, особенно у неопытных программистов, эта память быстро заканчивается, и разработчик не может дальше развивать свой проект. Следует с самого начала грамотно планировать расход оперативной памяти, например, поменьше использовать глобальных переменных, следить за типами данных, а также хранить большие однотипные объёмы данных в памяти программ.


    Подведение итогов

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


    Часто задаваемые вопросы FAQ

    Вопрос: Есть ли на плате Arduino Uno какая-нибудь встроенная защита от перегрузок?
    Ответ: Да, некоторая защита имеется. Например, на плате установлены восстанавливаемые предохранители, предназначенные для защиты USB-порта персонального компьютера от перегрузок и замыканий. Порог срабатывания предохранителей равен 500мА. Если уровень потребления становиться выше – предохранители размыкаются.

    Вопрос: Существует ли способ программно перезагрузить Arduino Uno, не используя кнопку или вывод RESET?. 
    Ответ:  Существует. В начале программы прописываем следующую функцию:

    void(*resetFunc) (void) = 0;
    и в нужном месте программы вызываем строку:
    resetFunc();

    Вопрос: Посоветуйте альтернативную среду разработки, вместо стандартной Arduino IDE.
    Ответ: Как один из вариантов можно использовать PlatformIO.

    Вопрос: Какой ресурс у памяти EEPROM. 
    Ответ: Производитель заявляет 100000 циклов перезаписи, которые должна гарантированно выдержать каждая ячейка.

    Вопрос: почему нестабильно работает реле, подключенное к 13-му выводу Arduino UNO? Остальные выводы работают без сбоев.
    Ответ: 13-й вывод соединён со светодиодом на плате через резистор 220 Ом, поэтому использовать этот вывод для питания нагрузок не стоит.

      Товары из статьи

      Быстрый просмотр
      Arduino UnoArduino UnoArduino UnoArduino Uno
      1 590 ₽
      1 908 ₽
      -17%
      Arduino Uno
      0
      0
      Нет в наличии

      Это интересно

      Arduino LilyPad
      Arduino платы
      Arduino LilyPad
      Arduino Esplora
      Arduino платы
      Arduino Esplora
      Arduino Pro Mini
      Arduino платы
      Arduino Pro Mini
      Ethernet shield
      Arduino платы
      Ethernet shield
      Arduino Uno
      Arduino платы
      Arduino Uno
      Raspberry Pi
      Arduino платы
      Raspberry Pi
      • Комментарии
      Загрузка комментариев...
      Назад к списку
      • Все публикации277
        • 3D принтеры59
        • 3D печать64
        • ЧПУ10
        • Датчики27
        • Модули38
        • 3D сканеры1
        • Arduino механика6
        • Arduino платы8
        • Дисплеи6
        • Кейсы1
        • Компоненты13
        • Мировые новости35
        • Проекты7
        • Сопутствующие2
      Связаться с нами
      8 (800) 500-45-93
      8 (800) 500-45-93отдел продаж Россия
      8 (495) 565-35-93отдел продаж Москва
      E-mail
      info@3d-diy.ru — отдел продаж

      print@3d-diy.ru — 3D печать на заказ

      support@3d-diy.ru — тех. поддержка

      buh@3d-diy.ru — Бухгалтерия
      Адрес
      Москва, Павелецкая набережная, 2с1
      Как до нас добраться, см. тут
      Режим работы
      пн - пт 09:00—18:00
      info@3d-diy.ru — отдел продаж

      print@3d-diy.ru — 3D печать на заказ

      support@3d-diy.ru — тех. поддержка

      buh@3d-diy.ru — Бухгалтерия
      Москва, Павелецкая набережная, 2с1
      Как до нас добраться, см. тут
      Магазин
      Бренды
      Акции
      Каталог
      Услуги
      Компания
      О компании
      Реквизиты
      Партнеры
      Клиенты
      Вакансии
      Информация
      Гарантия на товар
      Возврат товара
      Положение о персональных данных
      Политика конфиденциальности
      Согласие на получение рекламы
      Пользовательское соглашение
      Согласие на обработку персональных данных
      Использование cookie-файлов
      Договор-оферта
      Помощь
      Условия оплаты
      Условия доставки
      Товары под заказ
      Гос. закупки
      Как сделать заказ
      Вопрос-ответ
      2013 - 2026 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники
      Конфиденциальность
      Оферта
      ГлавнаяКаталог0Корзина0ИзбранныеКабинет0Сравнение
      d =
      Наш сайт использует куки. Продолжая им пользоваться, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности.
      Согласен