8 (800) 550-13-29
Заказать звонок
Связь с директором
  • Контакты
  • Доставка
  • Оплата
  • База знаний
  • Блог
  • Акции
  • Видео
  • О 3DiY
  • Гос. закупки
  • ...
    3DIY
    3D принтеры
    Всё для 3D принтеров
    • Электроника
      Электроника
    • Механика
      Механика
    • Экструдеры
      Экструдеры
    • Пластик
      Пластик
    • 3D принтеры
      3D принтеры
    • 3D ручки
      3D ручки
    • Сопутствующие
      Сопутствующие
    Arduino/робототехника
    • Arduino
      Arduino
    • Raspberry Pi
      Raspberry Pi
    • Orange Pi
      Orange Pi
    • Одноплатники
      Одноплатники
    • Модули (Shield)
      Модули (Shield)
    • Датчики / Сенсоры
      Датчики / Сенсоры
    • Дисплеи
      Дисплеи
    • Механика
      Механика
    • Макетные платы (Breadboard)
      Макетные платы (Breadboard)
    • Светодиоды
      Светодиоды
    • Провода и кабели
      Провода и кабели
    • Источники питания
      Источники питания
    • Радиодетали
      Радиодетали
    ЧПУ
    • Электроника
      Электроника
    • Электротехника
      Электротехника
    • Электропривод
      Электропривод
    • Направляющие
      Направляющие
    • Передачи
      Передачи
    • Механика
      Механика
    • Конструкционный профиль
      Конструкционный профиль
    • Лазерная резка и аксессуары
      Лазерная резка и аксессуары
    Услуги
    • 3D печать
    • Ремонт 3D принтеров
    Ещё
      3DIY
      3D принтеры
      Каталог
      • 3D принтеры и комплектующие
        3D принтеры и комплектующие
        • Электроника
        • Механика
        • Экструдеры
        • Пластик
        • 3D принтеры
        • 3D ручки
        • Сопутствующие
      • Arduino и робототехника
        Arduino и робототехника
        • Arduino
        • Raspberry Pi
        • Orange Pi
        • Одноплатники
        • Модули (Shield)
        • Датчики / Сенсоры
        • Дисплеи
        • Механика
        • Макетные платы (Breadboard)
        • Светодиоды
        • Провода и кабели
        • Источники питания
        • Радиодетали
      • ЧПУ комплектующие
        ЧПУ комплектующие
        • Электроника
        • Электротехника
        • Электропривод
        • Направляющие
        • Передачи
        • Механика
        • Конструкционный профиль
        • Лазерная резка и аксессуары
      Услуги
      • 3D печать
      • Ремонт 3D принтеров
      Блог
      • 3D-печать
      • 3D-принтеры
      База знаний
      • Датчики
      • Модули
      • Платы
      • 3D-принтеры
      • Дисплеи
      • Механика
      • Сопутствующие
      • ЧПУ
      • Проекты
      • Компоненты
      Информация
      • Акции и Скидки
      • Условия доставки
      • Условия оплаты
      • Сashback
      • О нас
        • Наши партнеры
        • Наши клиенты
        • Вакансии
      • Гос. закупки
      Контакты
      • Как до нас добраться
      Ещё
        3DIY
        • 3D принтеры
        • Каталог
          • Назад
          • Каталог
          • 3D принтеры и комплектующие
            • Назад
            • 3D принтеры и комплектующие
            • Электроника
            • Механика
            • Экструдеры
            • Пластик
            • 3D принтеры
            • 3D ручки
            • Сопутствующие
          • Arduino и робототехника
            • Назад
            • Arduino и робототехника
            • Arduino
            • Raspberry Pi
            • Orange Pi
            • Одноплатники
            • Модули (Shield)
            • Датчики / Сенсоры
            • Дисплеи
            • Механика
            • Макетные платы (Breadboard)
            • Светодиоды
            • Провода и кабели
            • Источники питания
            • Радиодетали
          • ЧПУ комплектующие
            • Назад
            • ЧПУ комплектующие
            • Электроника
            • Электротехника
            • Электропривод
            • Направляющие
            • Передачи
            • Механика
            • Конструкционный профиль
            • Лазерная резка и аксессуары
        • Услуги
          • Назад
          • Услуги
          • 3D печать
          • Ремонт 3D принтеров
        • Блог
          • Назад
          • Блог
          • 3D-печать
          • 3D-принтеры
        • База знаний
          • Назад
          • База знаний
          • Датчики
          • Модули
          • Платы
          • 3D-принтеры
          • Дисплеи
          • Механика
          • Сопутствующие
          • ЧПУ
          • Проекты
          • Компоненты
        • Информация
          • Назад
          • Информация
          • Акции и Скидки
          • Условия доставки
          • Условия оплаты
          • Сashback
          • О нас
            • Назад
            • О нас
            • Наши партнеры
            • Наши клиенты
            • Вакансии
          • Гос. закупки
        • Контакты
          • Назад
          • Контакты
          • Как до нас добраться
        • 8 (800) 550-13-29
        Контактная информация
        Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
        info@3d-diy.ru
        • Facebook
        • Вконтакте
        • Instagram
        • YouTube

        Arduino Uno

        База знаний
        -
        Arduino платы
        -
        Arduino
        -Arduino Uno
        Поделиться
        • Arduino Uno
        Arduino
        Перейти в раздел
        Arduino
        Товары
          • Хит
            Arduino Uno
            Быстрый просмотр
            Arduino Uno
            Предзаказ
            1 287 руб./шт
            Подробнее
          Миниатюрная плата семейства Arduino, построенная на микроконтроллере ATmega328.

          Содержание

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

          Обзор

          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 Uno
              Быстрый просмотр
              Arduino Uno
              Предзаказ
              Подробнее

            Назад к списку Следующий проект
            Компания
            О компании
            Политика
            Услуги
            Партнеры
            Клиенты
            Информация
            Акции и скидки
            Условия оплаты
            Условия доставки
            Гарантия на товар
            Кэшбэк
            Как купить
            Вопрос-ответ
            Блог
            База знаний
            Производители
            Будьте всегда в курсе!
            Узнавайте о скидках и акциях первым
            Оставайтесь на связи
            • Вконтакте
            • Facebook
            • Instagram
            • YouTube
            Наши контакты
            8 (800) 550-13-29
            info@3d-diy.ru
            Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
            2021 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники