Как подключить ардуино уно к ардуино уно?

18 ответов на вопрос “Как подключить ардуино уно к ардуино уно?”

  1. Ladwyn Ответить

    Начинающим
    Не являясь будучи программистом, радиолюбителю трудно использовать в своей практике микроконтроллеры, создавать для них платы и самостоятельно писать программы. И тут на помощь приходит всем уже известная и популярная платформа итальянских разработчиков “Ардуино” со всем разнообразием поддерживаемых ею отладочных плат и подключаемых различных модулей в виде датчиков, органов ввода-вывода и управления, и исполняемых устройств. Среда для разработки программ “Arduino IDE” так же является очень простой и удобной, а “Скетч” – так называется исходный текст программ,  пишется на языке “Wiring-Processing”. Имеется множество библиотек и примеров, и для начала можно совсем не знать язык программирования C/C++, на котором чаще всего пишутся программы для микроконтроллеров. Не обязательно вручную настраивать таймер-счётчик микроконтроллера для генерации ШИМ-сигнала или задавать режим аналого-цифрового преобразователя для считывания значений на аналоговых входах. Так же не надо напрямую работать с регистрами и запоминать, или всегда иметь под рукой все их названия. Для управления выводами микроконтроллера не нужно использовать битовые маски и совершать побитовые операции, так как в среде разработки каждый регистр порта ввода-вывода ассоциирован с определённым номером вывода отладочной платы. Большинство параметров уже задано по умолчанию и скрыто от пользователя, так что не придётся часами искать ошибку от неправильной установки какого-либо значения. При написании “скетча” можно копировать и соединять в одном проекте несколько примеров из разных библиотек, и изменяя номера выводов и значения задаваемых констант подстраивать всю программу под свои нужды. И что самое интересное, при всём этом написанную для одной платы программу можно использовать для другой, просто выбрав соответствующую плату в меню и заново скомпилировав проект.
    Приобретение
    На сайте уже есть статья с обзором отладочной платы “Arduino Pro Mini” и здесь мы рассмотрим самую распространённую из всех отладочных плат, поддерживаемых платформой Ардуино – это плата под названием “Arduino UNO”. Плата была куплена на сайте Aliexpress и не является подлинной оригинальной итальянской платой, хотя это самый похожий и максимально приближённый образец, подобранный в интернет-магазине. Заказ делался в 2018 году и обошёлся в 12$ вместе с доставкой. Хотя этот вариант и стоит немного дороже остальных, но у него имеются преимущества по сравнению с дешёвыми подделками, о которых будет идти речь при сравнении разных плат:

    Arduino UNO является самым подходящим вариантом для начала работы с платформой, так как она имеет средний размер, достаточное количество выводов микроконтроллера для большинства проектов и удобно организованные контакты портов ввода-вывода. И самое важное для быстрого старта работы с микроконтроллером – наличие встроенного программатора и интерфейса USB для прямого подключения к компьютеру. Arduino Uno – это аппаратное обеспечение со свободно распространяемыми файлами схем и чертежей. Каждый может изготовить подобную плату используя эти файлы с официального сайта проекта Ардуино. За невысокую цену в Китае можно найти как простые похожие изделия, так и почти подлинные платы на базе оригинальных микроконтроллеров. В конце будет произведено сравнение разных вариантов плат, а для начала рассмотрим характеристики отладочной платы Arduino UNO третьей ревизии.
    Технические характеристики
    Основные параметры платы Arduino UNO версии 3 приведены в таблице. Для более детального ознакомления с характеристиками платы следует посетить официальный сайт https://store.arduino.cc/usa/arduino-uno-rev3
    Параметр
    Значение
    Рабочее напряжение
    5 Вольт
    Напряжение питания
    7 – 12 Вольт
    Установленный микроконтроллер
    ATmega328P
    Количество цифровых выводов
    14
    Число аналоговых входов
    6
    Допустимый ток одного вывода
    20 мА
    Тактовая частота
    16 МГц
    Выводы питания:
    5V – выход напряжения 5 В для питания внешних устройств;
    3.3V – маломощный выход стабилизированного напряжения 3.3 В;
    GND – общий вывод;
    VIN – вывод для подачи внешнего напряжения питания для всей платы и подключённых модулей;
    IOREF – вывод, информирующий о значении напряжения высокого уровня портов ввода/вывода платы.
    Дополнительные выводы:
    AREF. Опорное напряжение для аналого-цифрового преобразователя микроконтроллера. Используется совместно с функцией analogReference () при написании скетчей.
    Reset. Подача низкого уровня на вывод Reset приводит к перезагрузке микроконтроллера. Обычно используется для добавления кнопки сброса к дополнительно устанавливаемым и подключаемым модулям.
    Принципиальная схема отладочной платы Arduino UNO Rev3:

    Распаковка – комплектация
    Во время заказа платы был так же куплен сетевой адаптер для питания и кабель USB для подключения к компьютеру. Они были помещены в обычный полиэтиленовый пакет, находящийся в основной упаковке:


    Сама плата находилась в жёстком антистатическом пакете и была герметично запечатана в нём:


    Ознакомление
    Блок питания имеет сетевую вилку европейского типа и разъём 2,1 мм с положительным центральным контактом:


    Адаптер преобразует сетевое напряжение переменного тока 100-240 В частотой 50/60 Гц в постоянное стабилизированное напряжение 9 В с допустимым током нагрузки 0,85 А:

    Пожалуй это самое оптимальное напряжение питания. При подаваемом напряжении ниже 7 Вольт плата может работать нестабильно, а при напряжении более 12 Вольт будет увеличиваться нагрев интегрального стабилизатора. При необходимости, для питания платы можно использовать любой другой адаптер с близкими характеристиками.
    В комплекте так же довольно качественный USB-кабель, который имеет длину 1,8 м и разъём типа “B” для подключения к плате:


    Хотя плата и изготовлена в Китае, уровень производства довольно высокий, монтаж выполнен ровно и красиво без каких-либо видимых дефектов. На плате синего цвета установлен оригинальный микроконтроллер ATmega16U2 преобразователя USB-UART и основной микроконтроллер ATmega328P в DIP-корпусе, вставленный в панельку::


    С передней стороны платы расположены разъём для подачи питания и разъём USB-B, возле которого в самом углу находится кнопка сброса:

    Рядом находится шести-контактный ICSP-разъём внутрисхемного программирования микроконтроллера ATmega16U2 преобразователя интерфейса, три индикаторных светодиода обозначенные как “L”, “TX”, “RX”, перемычка “RESET-ON”, кварцевый резонатор на 16 МГц, само-восстанавливающийся предохранитель на 500 мА и интегральные стабилизаторы питания:
     
     
    Плата Arduino Uno может питаться через USB-соединение или от внешнего источника питания. Источник питания выбирается автоматически. Внешнее (не USB) питание может подаваться либо от адаптера, либо от аккумулятора. Адаптер можно подключить, вставив штекер 2,1 мм в разъем питания платы. Выводы от батареи могут быть подключены к контактам GND и Vin разъема POWER. На контакт “5 В” выводится напряжение +5 В от установленного на плате интегрального стабилизатора.
    Выводы платы с номерами от 0 до 13 являются цифровыми. Это означает, что с них можно считывать и подавать на них только два вида сигналов: HIGH и LOW, нуль или единицу. Некоторые цифровые выводы поддерживают ШИМ и на плате они обозначены знаком “~”. Все цифровые выводы расположены сбоку в один ряд:

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

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

    Некоторые выводы совмещают дополнительные функции и могут быть использованы различными модулями для связи с микроконтроллером:
    Последовательный порт: 0 (RX) и 1 (TX). Используется для приема (RX) и передачи (TX) последовательных данных. Эти контакты внутренне подключены к соответствующим контактам микросхемы ATmega16U2 преобразователя интерфейса USB-to-TTL.
    Внешние прерывания: 2 и 3. Эти выводы могут быть сконфигурированы для запуска прерывания по низкому уровню, нарастающему или спадающему фронту, или по изменению значения.
    ШИМ: 3, 5, 6, 9, 10 и 11. Обеспечивает 8-битную ШИМ на этих выводах.
    SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти выводы используются для связи по SPI протоколу.
    Светодиод: 13. На плате имеется встроенный светодиод, подключённый между общим проводом и цифровым выводом 13.
    TWI: вывод A4 или SDA и вывод A5 или SCL. Поддержка TWI связи по двухпроводному соединению.
    Соответствие выводов отладочной платы Arduino UNO выводам микроконтроллера ATmega328P можно посмотреть на следующем чертеже:

    Снизу плата закрашена белым цветом и оставлены только синие надписи и логотип “Arduino”. На плате написано что она изготовлена в Италии и является оригинальной, хотя в конце будет произведено сравнение подделок и станет понятно что это не подлинная плата из Италии:

     

  2. Ariginn Ответить

    Не используйте мышку! Чем выше становится ваш навык в программировании, тем меньше вы будете использовать мышку (да-да, как в фильмах про хакеров). Используйте обе руки для написания кода и перемещения по нему, вот вам несколько полезных комбинаций и хаков, которыми я пользуюсь ПОСТОЯННО:
    Ctrl+< , Ctrl+> – переместить курсор влево/вправо НА ОДНО СЛОВО
    Home , End – переместить курсор в начало/конец строки
    Shift+< , Shift+> – выделить символ слева/справа от курсора
    Shift+Ctrl+< , Shift+Ctrl+> – выделить слово слева/справа от курсора
    Shift+Home , Shift+End – выделить все символы от текущего положения курсора до начала/конца строки
    Ctrl+Z – отменить последнее действие
    Ctrl+Y – повторить отменённое действие
    Ctrl+C – копировать выделенный текст
    Ctrl+X – вырезать выделенный текст
    Ctrl+V – вставить текст из буфера обмена
    Местные сочетания:
    Ctrl+U – загрузить прошивку в Arduino
    Ctrl+R – скомпилировать (проверить)
    Ctrl+Shift+M – открыть монитор порта
    Также для отодвигания комментариев в правую часть кода используйте TAB, а не ПРОБЕЛ. Нажатие TAB перемещает курсор по некоторой таблице, из-за чего ваши комментарии будут установлены красиво на одном расстоянии за вдвое меньшее количество нажатий!

  3. Gamuro Ответить

    Тип 1

    Драйвер для расширенной версии Ардуино Уно – Arduino mega 2560 драйвер. У Arduino Uno и Mega 2560 может возникнуть проблема с подключением к Mac через USB-концентратор. Если в меню «Инструменты > Последовательный порт» ничего не отображается, попробуйте подключить плату непосредственно к компьютеру и перезапустить Arduino IDE.
    Отключайте цифровые контакты 0 и 1 во время загрузки, поскольку они совместно используются последовательной связью с компьютером (они могут подключаться и использоваться после загрузки кода). Arduino mega 2560 драйвер для Windows 7 доступен по следующей ссылке: https://www.arduino.cc/en/Main/Software. После перехода пользователь вводит в поисковое окошко официального сайта микроконтроллера название платы для скачивания драйверов.

    Тип 2

    Avrisp mkii driver – требуется для создания программатора. Когда вы устанавливаете IDE Arduino, устанавливается USB-драйвер, так что вы можете использовать программатор Atmel AVRISP mk II в качестве альтернативы использования серийного загрузчика Arduino. Кроме того, если вам нужно фактически запрограммировать AVR MCU с самим кодом загрузчика (требуется, если у вас есть пустой микропроцессор Mega328, у которого не было предустановленной прошивки загрузчика), вы можете сделать это из IDE Arduino, используя Tools / Burn Bootloader.
    После указания AVRISP mk II в качестве программного обеспечения с использованием функции Tools / Programmer. Однако, когда вы устанавливаете Studio 6.1 / 6.2, установка Atmel будет загружать собственный USB-драйвер, который работает с ID Studio.x. У вас есть возможность не устанавливать драйвер Jungo во время процесса установки Studio, но вы не можете использовать Atmel AVRISP mk II или Atmel JTAGICE3 без этого драйвера.
    Когда вы устанавливаете подключаемый модуль Visual Micro для Studio 6.x, скорее всего, вы будете использовать последовательный загрузчик Arduino, поскольку возможности программирования и отладки Visual Micro основаны на последовательной связи USB между ПК и микроконтроллером. Однако если вы решите, что хотите использовать Atmel AVRISP mk II из среды Visual Micro / Studio 6.x, вы обнаружите, что она не работает. Появится сообщение об ошибке, что AVRdude (программное обеспечение для программирования, используемое IDE Ардуино), не может «видеть» программатора AVRISP mk II. Это происходит потому, что Studio6.x использует USB-драйвер Jungo, а не Visual.

  4. Kazikasa Ответить

    Данный документ разъясняет, как подключить плату Arduino к компьютеру и загрузить ваш первый скетч.
    Необходимое железо — Arduino и USB-кабель
    Программа — среда разработки для Arduino
    Подсоедините плату
    Установите драйвера
    Запустите среду разработки Arduino
    Откройте готовый пример
    Выберите вашу плату
    Выберите ваш последовательный порт
    Загрузите скетч в Arduino
    Необходимое железо — Arduino и USB-кабель
    В этом руководстве предполагается, что вы используете Arduino Uno, Arduino Duemilanove, Nano или Diecimila.
    Вам потребуется также кабель стандарта USB (с разъемами типа USB-A и USB-B): такой, каким, к примеру, подключается USB-принтер. (Для Arduino Nano вам потребуется вместо этого кабель с разъемами А и мини-В).

    Программа – среда разработки для Arduino
    Найдите последнюю версию на странице скачивания.
    После окончания загрузки распакуйте скачанный файл. Убедитесь, что не нарушена структура папок. Откройте папку двойным кликом на ней. В ней должны быть несколько файлов и подкаталогов.
    Подсоедините плату
    Arduino Uno, Mega, Duemilanove и Arduino Nano получают питание автоматически от любого USB-подключения к компьютеру или другому источнику питания. При использовании Arduino Diecimila убедитесь, что плата сконфигурирована для получения питания через USB-подключение. Источник питания выбирается с помощью маленького пластикового джампера, надетого на два из трех штырьков между разъемами USB и питания. Проверьте, чтобы он был установлен на два штырька, ближайших к разъему USB.
    Подсоедините плату Arduino к вашему компьютеру, используя USB-кабель. Должен загореться зеленый светодиод питания, помеченный PWR.
    Установите драйвера
    Установка драйверов для Arduino Uno на Windows7, Vista или XP:
    Подключите вашу плату и подождите, пока Windows начнет процесс установки драйвера. Через некоторое время, несмотря на все её попытки, процесс закончится безрезультатно.
    Нажмите на кнопку ПУСК и откройте Панель управления.
    В панели управления перейдите на вкладку Система и безопасность (System and Security). Затем выберите Система. Когда откроется окно Система, выберите Диспетчер устройств (Device Manager).
    Обратите внимание на порты (COM и LPT). Вы увидите открытый порт под названием «Arduino UNO (COMxx)».
    Щелкните на названии «Arduino UNO (COMxx)» правой кнопкой мышки и выберите опцию «Обновить драйвер» (Update Driver Software).
    Кликните “Browse my computer for Driver software”.
    Для завершения найдите и выберите файл драйвера для Uno – «ArduinoUNO.inf», расположенный в папке Drivers программного обеспечения для Arduino (не в подкаталоге «FTDI USB Drivers»).
    На этом Windows закончит установку драйвера.
    См. также: пошаговые скриншоты для установки Uno под Windows XP.
    Установка драйверов для Arduino Duemilanove, Nano или Diecimila в Windows7, Vista или XP:
    Когда вы подключите плату к компьютеру, Windows запустит процесс установки драйвера (если до этого вы не подключали к компьютеру плату Arduino).
    В Windows Vista драйвер скачается и установится автоматически (это действительно работает!)
    В Windows XP откроется Мастер установки нового оборудования (Add New Hardware wizard).
    На вопрос «Подключиться к узлу Windows Update для поиска программного обеспечения? (Can Windows connect to search for software?)» выберите ответ «Нет, не в этот раз (No, not this time)». Нажмите «Далее».
    Выберите «Установить из списка или указать местонахождение (Advanced) (Install from a list or specified location (Advanced))» и нажмите «Далее».
    Убедитесь, что выбрано «Искать наиболее подходящий драйвер в указанном месте (Search for the best driver in these locations)»; снимите флажок «Искать на съемных носителях (Search removable media)»; выберите «Добавить область поиска (Include this location in the search)» и укажите папку drivers/FTDI USB Drivers в дистрибутиве Arduino. (Последнюю версию драйвера можно найти на FTDI веб-сайте). Нажмите «Далее».
    Мастер начнет поиск и затем сообщит вам, что обнаружен «USB Serial Converter». Нажмите «Готово (Finish)».
    Снова появится мастер установки нового оборудования. Выполните все те же шаги с теми же опциями и указанием того же пути для поиска. На этот раз будет обнаружен «USB Serial Port».
    Проверить, что драйвера действительно установлены можно, открыв Диспетчер устройств (Windows Device Mananger) (он находится во вкладке Оборудование(Hardware) панели Свойства системы(System)). Найдите «USB Serial Port» в разделе «Порты (Ports)» – это и есть плата Arduino.
    Запустите среду разработки Arduino
    Дважды щелкните на приложении для Arduino.
    Откройте готовый пример
    Откройте мгновенный пример скетча «LED» по адресу: File > Examples > 1.Basics > Blink.

    Выберите вашу плату
    Вам нужно выбрать пункт в меню Tools > Board menu, соответствующий вашей плате Arduino.

    Выбор Arduino Uno
    Для Duemilanove Arduinoплат с ATmega328 (проверьте на плате надпись на микросхеме) выберите Arduino Duemilanove или Nano с ATmega328. Вначале платы Arduino выпускались с ATmega168; для них выберите Arduino Diecimila, Duemilanove, или Nano с ATmega168. Подробно о пунктах меню платы можно прочитать на странице «Среда разработки».
    Выберите ваш последовательный порт
    Выберите устройство последовательной передачи платы Arduino из меню Tools | Serial Port. Вероятно, это будет COM3 или выше (COM1 и COM2 обычно резервируются для аппаратных COM-портов). Чтобы найти нужный порт, вы можете отсоединить плату Arduino и повторно открыть меню; пункт, который исчез, и будет портом платы Arduino. Вновь подсоедините плату и выберите последовательный порт.
    Загрузите скетч в Arduino
    Теперь просто нажмите кнопку «Upload» в программе – среде разработки. Подождите несколько секунд – вы увидите мигание светодиодов RX и TX на плате. В случае успешной загрузки в строке состояния появится сообщение «Done uploading (Загрузка выполнена)».
    (Замечание. Если у вас Arduino Mini, NG или другая плата, вам необходимо физически кнопкой подать команду reset непосредственно перед нажатием кнопки «Upload»).

    Несколько секунд спустя после окончания загрузки вы увидите как светодиод вывода 13 (L) на плате начнет мигать оранжевым цветом. Поздравляю, если это так! Вы получили готовый к работе Arduino!

  5. UCOGOPYR Ответить

    С использованием функций 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.

  6. DeathKing Ответить

    Схема и исходные данные
    Файлы EAGLE: arduino-duemilanove-reference-design.zip
    Принципиальная схема: arduino-duemilanove-schematic.pdf
    Питание
    Arduino Uno может получать питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.
    Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с центральным положительным полюсом. Провода от батареи подключаются к выводам Gnd и Vin разъема питания.
    Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.
    Выводы питания:
    VIN. Вход используется для подачи питания от внешнего источника (в отсутствие 5 В от разъема USB или другого регулируемого источника питания). Подача напряжения питания происходит через данный вывод.
    5V. Регулируемый источник напряжения, используемый для питания микроконтроллера и компонентов на плате. Питание может подаваться от вывода VIN через регулятор напряжения, или от разъема USB, или другого регулируемого источника напряжения 5 В.
    3V3. Напряжение на выводе 3.3 В генерируемое встроенным регулятором на плате. Максимальное потребление тока 50 мА.
    GND. Выводы заземления.
    Память
    Микроконтроллер ATmega328 располагает 32 кБ флэш памяти, из которых 0.5 кБ используется для хранения загрузчика, а также 2 кБ ОЗУ (SRAM) и 1 Кб EEPROM.(которая читается и записывается с помощью библиотеки EEPROM).
    Входы и Выходы
    Каждый из 14 цифровых выводов Uno может настроен как вход или выход, используя функции pinMode(), digitalWrite(), и digitalRead(), . Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
    Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega8U2 USB-to-TTL.
    Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
    ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
    SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, для чего используется библиотека SPI.
    LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
    На платформе Uno установлены 6 аналоговых входов (обозначенных как A0 .. A5), каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством вывода AREF и функции analogReference(). Некоторые выводы имеют дополнительные функции:
    I2C: 4 (SDA) и 5 (SCL). Посредством выводов осуществляется связь I2C (TWI), для создания которой используется библиотека Wire.
    Дополнительная пара выводов платформы:
    AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
    Reset. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
    Обратите внимание на соединение между выводами Arduino и портами ATmega328.
    Связь
    На платформе Arduino Uno установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема ATmega8U2 направляет данный интерфейс через USB, программы на стороне компьютера “общаются” с платой через виртуальный COM порт. Прошивка ATmega8U2 использует стандартные драйвера USB COM, никаких стороних драйверов не требуется, но на Windows для подключения потребуется файл ArduinoUNO.inf. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).
    Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Uno.
    ATmega328 поддерживает интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C.
    Программирование
    Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Uno» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.
    Микроконтроллер ATmega328 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.
    Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы ICSP (внутрисхемное программирование). Подробная информация находится в данной инструкции.
    Автоматическая (программная) перезагрузка
    Uno разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой Arduino на компьютере, а не нажатием кнопки на платформе. Одна из линий DTR микросхемы ATmega8U2, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеру ATmega328 через 100 нФ конденсатор. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.
    Функция имеет еще одно применение. Перезагрузка Uno происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.
    На Uno имеется возможность отключить линию автоматической перезагрузки разрывом соответствующей линии. Контакты микросхем с обоих концов линии могут быть соединены с целью восстановления. Линия маркирована «RESET-EN». Отключить автоматическую перезагрузку также возможно подключив резистор 110 Ом между источником 5 В и данной линией.
    Токовая защита разъема USB
    В Arduino Uno встроен самовостанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатыват при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут востановлены.
    Физические характеристики
    Длина и ширина печатной платы Uno составляют 6.9 и 5.3 см соответственно. Разъем USB и силовой разъем выходят за границы данных размеров. Четыре отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.

  7. Yerpals Apotheoses Ответить


    В статье рассказывается о контроллере Arduino UNO R3, выбранном для демонстрации программ уроков. Сейчас необязательно внимательно изучать эту информацию. Рекомендую бегло просмотреть, чтобы иметь понятие об аппаратной части системы. В дальнейшем эту статью можно использовать как справочную информацию.
    Предыдущий урок     Список уроков     Следующий урок
    В качестве контроллера для программ уроков я выбрал плату Arduino UNO R3. Но ничего не мешает использовать и другие платы. Просто UNO R3 самый распространенный вариант контроллеров Ардуино.
    Общая информация о контроллере.
    Arduino UNO R3 выполнен на микроконтроллере  ATmega328. У него:
    14 цифровых портов входа-выхода ( 6 из них поддерживают режим ШИМ модуляции);
    6 аналоговых входов;
    частота тактирования 16 МГц;
    USB порт;
    разъем питания;
    разъем внутрисхемного программирования;
    кнопка сброса.
    У платы есть все необходимые компоненты для обеспечения работы микроконтроллера. Достаточно подключить USB кабель к компьютеру и подать питание. Микроконтроллер установлен на колодке, что позволяет легко заменить его в случае выхода из строя.
    Технические характеристики.
    Тип микроконтроллера
    ATmega328P
    Напряжение питания микроконтроллера
    5 В
    Рекомендуемое напряжение питания платы
    7 – 12 В
    Предельно допустимое напряжение питания платы
    6 – 20 В
    Цифровые входы-выходы
    14 (из них 6 поддерживают ШИМ)
    Выходы ШИМ модуляции
    6
    Аналоговые входы
    6
    Допустимый ток цифровых выходов
    20 мА
    Допустимый ток выхода 3,3 В
    50 мА
    Объем флэш памяти (FLASH)
    32 кБ (из которых 0,5 кБ используется загрузчиком)
    Объем оперативной памяти (SRAM)
    2 кБ
    Объем энергонезависимой памяти (EEPROM)
    1 кБ
    Частота тактирования
    16 мГц
    Длина платы
    68,6 мм
    Ширина платы
    53,4 мм
    Вес
    25 г
    Программирование.
    Контроллер программируется из интегрированной среды программного обеспечения Ардуино (IDE). Программирование происходит под управлением резидентного загрузчика по протоколу STK500. Аппаратный программатор при этом не требуется.
    Микроконтроллер можно запрограммировать через разъем для внутрисхемного программатора ICSP, не используя, загрузчик. Исходный код программы-загрузчика  находится в свободном доступе.
    Отличие от других контроллеров Ардуино.
    Arduino UNO R3, в отличие от предыдущих версий, не использует для подключения к компьютеру мост USB-UART FTDI. Эту функцию в нем выполняет микроконтроллер ATmega16U2.
    Система питания.
    Плата UNO может получать питание от USB порта или от внешнего источника. Источник питания выбирается автоматически. В качестве внешнего источника питания может использоваться сетевой адаптер или батарея. Адаптер подключается через разъем диаметром 2,1 мм (центральный контакт – положительный). Батарея подключается к контактам GND и Vin разъема POWER.
    Напряжение внешнего источника питания может быть в диапазоне 6 – 20 В. Но рекомендуется не допускать снижение напряжения ниже 7 В из-за нестабильной работы устройства. Также нежелательно повышать напряжение питания более 12 В, т.к. может перегреется стабилизатор и выйти из строя. Т.е. рекомендуемый диапазон напряжения питания 7 – 12 В.
    Для подключения питания могут быть использованы следующие выводы.
    Vin
    Питание платы от внешнего источника питания. Не связано с питанием 5 В от USB или выходами других стабилизаторов. Через этот контакт можно получать питание для своего устройства, если плата питается от адаптера.
    5 V
    Выход стабилизатора напряжения платы. На нем напряжение 5 В при любом способе питания. Питать плату через этот вывод не рекомендуется, т.к. не используется стабилизатор, что может привести к выходу микроконтроллера из строя.
    3 V 3
    Напряжение 3,3 В от стабилизатора напряжения на плате. Предельно допустимый ток потребления от этого вывода 50 мА.
    GND
    Общий провод.
    IOREF
    На выводе информация о рабочем напряжении платы. Плата расширения может считать значение сигнала и переключиться на режим питания 5 В или 3,3 В.
    Память.
    У микроконтроллера три типа памяти:
    32 кБ флэш  (FLASH);
    2 кБ оперативной памяти (SRAM);
    1 кБ энергонезависимой памяти (EEPROM).

  8. Сладкий картофель Ответить

    14 цифровых выводов (из них 6 могут быть использованы в качестве ШИМ-выходов), могут применяться в качестве как входа, так и выхода;
    8 аналоговых входов (4 из них оснащены выводами);
    16 МГц – кварцевый генератор.

    Пины устройства Arduino Mini имеют следующее предназначение:
    Два вывода, посредством которых осуществляется питание платы «плюс»: RAW, VCC.
    Вывод контакта «минус» – пин GND.
    Выводы под номерами 3, 5, 6, 9, 10, 11 используются для ШИМ при применении функции analog Write.
    К выводам №0, №1 можно подключать другие устройства.
    Аналоговые входы №0 – №3 с выводами.
    Аналоговые входы №4 – №7 не имеют выводов и требуют пайки при необходимости.
    Вывод AREF, который предназначен для изменения верхнего напряжения.
    Вывод Reset – перезагрузка микроконтроллера.
    Расположение выводов в различных версиях arduino mini могут различаться.

    3. Плата Arduino Mega 2560

    Устройство Arduino Mega 2560 собрано на микроконтроллере ATmega 2560 (datasheet), является обновлённой версией Arduino Mega.

    Для осуществления преобразования USB–UART-интерфейсов используется новый микроконтроллер ATmega 16U2 ( либо ATmega 8U2 для версий плат R1 или R2).
    Состав платы следующий:
    количество цифровых входов/выходов составляет 54 (15 из них можно использовать в роли выходов-ШИМ);
    число аналоговых входов – 16;
    реализация последовательных интерфейсов производится посредством 4 аппаратных приёмопередатчиков UART;
    16 МГц – кварцевый резонатор;
    USB-разъём;
    питающий разъём;
    внутрисхемное программирование осуществляется через ICSP-разъём;
    кнопка для сброса.

    В устройстве Mega 2560 R2-версии добавлен специальный резистор, подтягивающий HWB-линию 8U2 к земле, что позволяет значительно упростить переход Arduino в DFU-режим, а также обновление прошивки. Версия R3 незначительно отличается от предыдущих. Изменения в устройстве следующие:
    добавлены четыре вывода – SCL, SDA, IOREF (для осуществления совместимости по напряжению различных расширительных плат) и ещё один резервный вывод, пока не используемый;
    повышена помехоустойчивость по цепи сброса;
    увеличен объём памяти;
    ATmega8U2 заменён на микроконтроллер ATmega16U2.
    Выводы Arduino Mega 2560R3 предназначаются для следующего:
    Имеющиеся цифровые пины могут служить входом-выходом. Напряжение на них – 5 вольт. Каждый пин обладает подтягивающим резистором.
    Аналоговые входы не оснащены подтягивающими резисторами. Работа основана на применении функции analog Read.
    Количество выводов ШИМ составляет 15. Это цифровые выводы №2 – №13, №44 – №46. Использование ШИМ производится через функцию analog Write.
    Последовательный интерфейс: выводы Serial: №0 (rx), №1 (tx); выводы Serial1: №19 (rx), №18 (tx); выводы Serial2: №17 (rx), №16 (tx); выводы Serial3: №15 (rx), №14 (tx).
    Интерфейс SPI оборудован выводами №53 (SS), №51 (MOSI), №50 (MISO), №52 (SCK).
    Вывод №13 – встроенный светодиод.
    Пины для осуществления связи с подключаемыми устройствами: №20 (SDA), №21 (SCL).
    Для внешних прерываний (низкий уровень сигнала, другие изменения сигнала) используются выводы №2 , №3, №18, №19, №20, №21.
    Вывод AREF задействуется командой analog Reference и предназначается для регулирования опорного напряжения аналоговых входных пинов.
    Вывод Reset. Предназначен для формирования незначительного уровня (LOW), что приводит к перезагрузке устройства (кнопка сброса).

    4. Плата Arduino Micro

    Arduino Micro представляет собой устройство, основа которого построена на микроконтроллере ATmega 32u4, имеющем встроенный USB-контроллер. Это решение упрощает подключение платы к компьютеру, так как в системе устройство будет определяться как обычная клавиатура, мышь либо COM-порт. Состав устройства следующий:

    количество входов/выходов – 20 (имеется возможность 7 из них использовать как ШИМ-выходы, а 12 – в роли входов аналогового типа); резонатор кварцевый, настроенный на 16 МГц;
    micro-USB-разъём;
    ICSP-разъём, предназначенный для проведения внутреннего программирования;
    кнопка для сброса.
    Все цифровые выводы изделия могут работать в качестве как входов, так и выходов благодаря наличию функций digital Read, pin Mode, digital Write. Напряжение на выводах составляет 5 вольт. Максимальная величина потребляемого или отдаваемого тока с одного вывода составляет 40 мА. Выводы сопрягаются с внутренними резисторами, которые по умолчанию находятся в отключенном состоянии. Они имеют номиналы в 20 кОм – 50 кОм. Отдельные выводы arduino micro, кроме основных, способны выполнять и ряд дополнительных функций:
    В последовательном интерфейсе выводы №0 (RX), №1 (TX) применяются для приёма (RX), а также передачи (TX) необходимых данных через встроенный аппаратный приёмопередатчик. Функция актуальна для arduino micro класса Serial. В других случаях связь осуществляется через соединение USB (CDC).
    Интерфейс TWI включает выводы микроконтроллера №2 (SDA) и №3 (SCL). Позволяют использовать данные библиотеки Wire.
    Выводы под номерами 0, 1, 2, 3 могут быть использованы в роли источников возникающих прерываний. К таковым относятся низкий уровень сигнала; прерывания по фронту, по спаду, при изменении уровня сигнала.
    Выводы под номерами 3, 5, 6, 9, 10, 11,13 при использовании функции analog Write способны выводить аналоговый ШИМ-сигнал в 8 бит.
    К SPI-интерфейсу относятся выводы на разъёме ICSP. Они не соединяются с цифровыми выводами на плате.
    Дополнительный вывод RX LED/SS, который соединён со светодиодом. Последний индицирует процесс по передаче данных с использованием USB. Этот вывод может быть использован при работе с интерфейсом SPI для вывода SS.
    Вывод №13 – светодиод, который включается при отправке данных HIGH и выключается при значениях LOW.
    Выводы A0 – A5 (отмечены на плате) и A6 – A11 (соответствуют цифровым выводам за номерами 4, 6, 8, 9, 10,12) являются аналоговыми.
    Вывод AREF позволяет изменять верхнее значение аналогового напряжения на вышеуказанных выводах. При этом используется функция analog Reference.
    С помощью вывода Reset формируется низкий уровень (LOW) и происходит перезагрузка микроконтроллера (кнопка сброса).

  9. VideoAnswer Ответить

Добавить ответ

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