Ардуино usb serial port подключение

Обновлено: 06.07.2024

Свойства arduino pro mini аналогичны, как и у платы Ардуино Уно и Нано. Их отличие заключается в невозможности прошить Pro Mini по USB-UART. Вместо этого для создания связи с компьютером используется проводник FTDI с преобразователем интерфейса или дополнительная плата Sparkfun. Также есть отличия по скорости, с которой работает чип. У arduino про мини скорость ниже, чем у Ардуино уно, но это практически не сказывается на проектах.

Работать с Ардуино про мини нужно аккуратно. Если пользователь сожжет чип, подав на него чрезмерное напряжение, его будет невозможно вытащить и заменить.

Разъемы не припаяны к платформе. Произвести подключение можно как через разъемы, так и навесным монтажом. Ножки можно припаять.

Существует 2 модели микроконтроллера arduino pro mini – на 3,3 В и 5 В. В первой используется тактовая частота 8 МГц, вторая работает на 16 МГц. Какая именно это модель, должно быть указано на корпусе.

Скетч в микроконтроллер традиционно записывается через среду разработки Arduino IDE. Для загрузки кода потребуются специальные переходники. Изначально продается с уже установленной прошивкой.

Технические характеристики микроконтроллера arduino pro mini:

  • Рабочее напряжение 3,3 В и 5 В (в зависимости от модели);
  • 14 пинов, 6 из которых используются как выводы ШИМ;
  • Постоянный ток для входа и выхода 40 мА;
  • Суммарный ток выводов – не более 200 мА;
  • 16 Кб флэш памяти, 2 Кб используются для загрузчика;
  • 1 Кб оперативной памяти;
  • 512 байт eeprom;
  • Тактовая частота – 8 МГц или 16 МГц в зависимости от модели;
  • I2c интерфейс;
  • Размеры платы 18х33 мм.

Питание можно подавать тремя способами:

  • Через переходник FTDI;
  • При подаче стабилизированного напряжения на контакт Vcc;
  • При подаче напряжения на контакт RAW.

Какие проекты можно реализовать на базе Ардуино Про Мини:

  • Управляемые конструкции для квадрокоптера;
  • Таймер;
  • Устройство для анализа влажности почвы;
  • Автоматический полив растений;
  • Устройство для измерения осадков и скорости ветра;
  • Автоматизация аквариума.

И многие другие проекты для дома и дачи.

Схема и распиновка Pro Mini

Принципиальная схема платы Ардуино изображена ниже.

Схема и распиновка Pro Mini

Пинов у микроконтроллера 14, каждый из которых может настраиваться как вход или выход. Выводы помечены цифровым номером, аналоговые имеют маркировку А. Рабочее напряжение – 3,3 В или 5 В.

6 аналоговых контактов имеют разрешение 10 бит. Некоторые выводы имеют дополнительный функционал:

Также плата оснащена дополнительным выводом Reset. При низком уровне перезагружает микроконтроллер.

Прошивка arduino pro mini

Прошивка arduino pro mini

Миниатюрные размеры платы не позволяют прошить ее без внешней помощи. Есть несколько способов заливки скетча в микроконтроллер:

  • Через адаптер USB в TTL;
  • Через Ардуино Уно;
  • Через SPI интерфейс с помощью любой платы ардуино с разъемом для подключения к компьютеру.

Самым простым методом является первый.

Прошивка через адаптер USB в TTL

В продаже можно найти специальный адаптер – UART переходник. Видов таких переходников много, стоимость каждого изделия невысокая. Советуется приобретать переходники с контактами RST или DTR, они упрощают процесс прошивки.

Для прошивки нужно подключить адаптер в Ардуино: нужно соединить земли с одного и другого устройства, Vcc – на +5В или +3,3 В (в зависимости от модели), RX – TX, TX – RX. Затем конструкцию нужно подключить к компьютеру, установить драйвер и начать прошивку. Компьютер определит, к какому порту подключена плата. Драйвер можно скачать с официального сайта. Скачанный архив нужно распаковать и установить.

Затем нужно запустить среду разработки Adruino IDE, выбрать нужную плату и номер порта и загрузить микропрограмму. Это делается следующим образом:

Важно! Нажатие на Reset должно быть кратковременным.

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

Прошивка через Ардуино Уно

Для прошивки потребуется классическая плата Ардуино Уно в DIP корпусе. На ней должен быть специальный разъем, из которого нужно вытащить аккуратно микроконтроллер. Важно делать все действия внимательно, чтобы не погнуть ножки процессора.

Проводами нужно подключить arduino pro mini к разъему. Как подключить контакты – RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST.

После подключения можно начать стандартную загрузку скетча через Arduino IDE.

Прошивка через SPI интерфейс

Этот способ является самым неудобным и трудоемким. Прошивание платы производится в 2 этапа:

  • Прошивка микроконтроллера Ардуино Уно как ISP программатора;
  • Настройка среды разработки и загрузка кода в Arduino Pro Mini.

Алгоритм проведения первого этапа:

Затем обе платы нужно соединить проводниками по приведенной схеме: 5V – VCC, GND – GND, MOSI (11) – MOSI (11), MISO (12) – MISO (12), SCK (13) – SCK (13).

Теперь нужно настроить Arduino IDE для Arduino Pro Mini. Это делается следующим образом:

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

После проведенной загрузки перепрошить микроконтроллер через переходник больше не получится. Придется заливать новый bootloader через «записать загрузчик».

Если при каком-либо виде загрузки прошивки возникают проблемы, нужно проверить подключение платы.

Программирование на Ардуино про мини

Используется стандартная среда разработки Arduino IDE

Используется стандартная среда разработки Arduino IDE. После того как устройство подключено к компьютеру, нужно правильно выбрать плату в списке. Главное не перепутать Ардуино на 3,3 В и на 5 В. Какая именно используется, должно быть написано на корпусе.

В пункте Serial Port выбирается нужный порт, к которому подключена плата. Затем можно загружать на плату программу, путем нажатия на кнопку Upload.

Загрузка может длиться долго и в итоге выдать ошибку. Чтобы ее избежать, во время заливки скетча нужно нажать кнопку reset, когда появится надпись Binary sketch size: xxx bytes. Во время загрузки на плате будут загораться светодиодные индикаторы. После заливки скетча нужно отсоединить микроконтроллер и подать на него напряжение.

Сравнение характеристик разных плат Ардуино

Основная характеристика, по которой Ардуино про мини отличается от остальных плат – это размеры. Габариты Arduino Pro Mini составляют всего 1,8 см х 3,3 см. Немного большую длину имеет плата Ардуино Нано – 1,9 см х 4,3 см. Плата Ардуино Уно больше примерно в 2 раза, ее габариты составляют 6,9 см х 5,3 см. Arduino Mega имеет самые крупные габариты – 10,2 см на 5,4 см.

Количество пинов также различно. Ардуино про мини, как Ардуино Нано и Ардуино Уно, имеет 14 цифровых пинов. Ардуино Мега оснащена 54 цифровыми входами/выходами, из которых 15 поддерживают ШИМ.

Важное отличие Arduino Pro Mini от остальных плат – отсутствие прошивки по USB-UART. Остальные микроконтроллеры можно прошить таким способом, кроме Ардуино Нано. Она прошивается с помощью преобразователя rt232.

Чипы FTDI, CH340, ATMEGA16U2 с драйверами позволяют плате Arduino и USB адаптерам подключаться к компьютеру и взаимодействовать с внешним окружением через Serial UART. С их помощью Ардуино может скачивать прошивку, загружать и отправлять данные, не заботясь о низкоуровневой поддержке последовательного соединения. В платах разных производителей могут использоваться различные чипы и драйвера.

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

Чипы CH340g, FTDI FT232, ATMEGA 16U2 / 8U2

Чип FTDI

Обычно с чипами USB преобразователей и поиском драйверов сталкиваются в тот момент, когда возникает проблема подключения платы к компьютеру. Скорее всего, вы тоже нашли эту статью, пытаясь заставить Arduino IDE взаимодействовать с китайской ардуинкой. Давайте разберемся, какую роль во взаимодействии с компьютером играет чип преобразователя и зачем устанавливать какие-то драйверы, чтобы все заработало.

Зачем нужен USB / UART TTL преобразователь

USB преобразователи в Ардуино

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

Arduino USB CH340
Arduino USB CH340
Arduino USB CH340
Arduino USB CH340

Исторически наиболее популярным вариантом чипов USB/UART конвертера была линейка микросхем от шотландского производителя FTDI. Главным ее недостатком была стоимость и весьма странная политика в области контроля контрафакта, зачастую приводящая к тому, что легальные купленные устройства блокировались драйверами компании. Сегодня существенную конкуренцию FTDI составляют микросхемы семейства CH340, массово производимые многочисленными китайскими производителями. Они гораздо дешевле и достаточно надежны и это постепенно привело к тому, что в большинстве недорогих контроллеров Arduino и адаптеров установлены именно чипы CH340 (CH340g).

Процедура установки драйвера для CH340g на самом деле очень проста и почти всегда проходит без ошибок на самых популярных операционных системах Windows7, Windows10. Именно поэтому никаких проблем с использованием недорогих ардуино плат, несущих на себе чип CH340, почти никогда не возникает.

USB драйвер для ардуино

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

Установка драйвера для CH340

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

В серию микросхем CH340 входят CH340T (мост USB – UART), CH340R (мост USB – IrDA) и CH340G (мост USB – UART). Последняя микросхема является наиболее распространенной и удобной с точки зрения корпуса с меньшим числом выводов.

Установка драйвера CH340

Процесс установки драйвера разбивается на несколько шагов:

  • Загрузка драйвера.
  • Распаковка скачанного архива.
  • Найдите папку CH341ER.
  • Запуск исполнительного файла SETUP.EXE.
  • Нажать на кнопку Установить.
  • На этом установка драйвера на компьютер завершена.

CH340 Установка драйвера
CH340 Установка драйвера
CH340 Установка драйвера
CH340 Установка драйвера

Характеристики CH340

Микросхема обладает следующими характеристиками и возможностями:

  • Не нужно большое количество внешних компонентов, требуются только кварцевый резонатор и 4 конденсатора.
  • Создание виртуального последовательного порта.
  • Возможность применения всех приложений для COM-портов.
  • Работает с сигналами уровней 5 и 3,3В.
  • Выполнена в удобном корпусе SO-16 с малым количеством выводов и небольшим числом внешних компонентов.
  • Поддержка полной скорости спецификации USB0.
  • Наличие встроенного буфера типа FIFO.
  • Поддержка всех стандартных режимов передачи данных.
  • Поддержка симплексного, полудуплексного, дуплексного асинхронных режимов обмена.
  • Поддержка интерфейсов RS23, RS422, RS485.
  • Рабочие температуры лежат в диапазоне от -40С до 85 С.

Распиновка микросхемы CH340G представлена на рисунке.

Распиновка

На плате обозначены следующие контакты:

2 – TXD сигнал UART.

3 – RXD сигнал UART.

4 – напряжение питания.

7 – XI вход для кварцевого резонатора и конденсатора.

8 – XO выход для кварцевого резонатора и конденсатора.

12 – DCD сигнал UART.

13 – DTR сигнал UART.

14 – RTS сигнал UART.

15 – Включение инверсии входа RXD.

Микросхема эмулирует работу последовательного порта. Все приложения работают с конвертером интерфейса CH340G без изменения кода.

Чип FTDI для Arduino

Следующим поколением аппаратных мостов были микросхемы FT232B и FT245B. В них добавился новый режим работы BitBang, также появилась возможность реализации восьми независимых линий ввода-вывода. Помимо этого была изменена схемотехника кристалла.

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

Arduino USB UART чипы и драйвера CH340, CH340G, FTDI

Характеристики микросхемы FT232R:

  • Одночиповый переходник USB-UART.
  • Поддержка режимов передачи 7и 8 бит данных, 1 и 2 стоповых бита.
  • Бесплатные драйверы VCP и D2XX.
  • Скорость передачи 300 бод – 3 мегабод для RS422.
  • Наличие встроенного идентификационного номера.
  • Настраиваемые выходы CBUS.
  • Вывод состояния приема и передачи на внешние светодиоды.
  • Наличие буферов FIFO для высокоскоростного приема/передачи данных.
  • Усовершенствованный режим bit bang.
  • Встроенная память EEPROM на 1024 байт.
  • Наличие встроенного стабилизатора напряжения на 3.3 В и для внешних сигналов от 1,8 до 5В.
  • Высокая нагрузочная способность.
  • Малое потребление энергии.
  • Совместима с USB 2.0 Full Speed.
  • Температурный диапазон от -40С до 85С.

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

Чип ATMEGA16U2/8U2 для ардуино

Чипы ATMEGA16U2/8U2 используются в качестве моста между USB-портом и последовательным портом. Версия платы ATmega8u2 использовалась для предыдущих плат Ардуино Uno и Mega.

Технические характеристики чипа ATMEGA16U2:

Контроллер ATmega8u2 в своей прошивке уже имеет установленные USB COM драйвера, поэтому установка дополнительных не требуется.

Характеристики ATmega8u2:

  • Диапазон напряжений от 2,7В до 5,5В.
  • 32 вывода.
  • Скорость ЦПУ 16 МГц.
  • Объем флеш-памяти 8Кб.
  • Поддержка встроенных интерфейсов I2C, SPI, UART, USART.
  • Размер ядра 8 бит.
  • Несколько режимов работы – холостой ход, энергосберегающий режим, режим ожидания, расширенный режим ожидания и выключение питания.
  • Возможность внешнего и внутреннего прерывания.
  • 22 программируемых линии ввода-вывода.
  • 512 б энергонезависимой памяти.
  • 512 б ОЗУ.
  • Рабочие температуры от -40С до 85С.

Заключение и выводы

Микросхемы-контроллеры последовательного порта служат в качестве преобразователя интерфейса USB. Наиболее популярными являются микросхемы CH340 (преобразователь USB в UART), аппаратные мосты от фирмы FTDI, к которым относятся микросхемы FT8U232, FT8U245, FT232R и FT245R (USB-UART и USB – FIFO) и ATmega8U2 и ATmega16U2.

Краткое описание

Функция begin() является методом класса Serial. Для работы с этим классом не нужно подключать внешних библиотек, т.к. он встроен в среду разработки ардуино. Использовать Serial.begin() целесообразно один раз, в самом начале работы скетча, в функции void setup(). В качестве аргументов нужно указать скорость обмена данными через последовательный порт. Самым распространенным значением является 9600 – именно такая скорость обмена данными в мониторе порта Arduino IDE стоит по умолчанию. После выполнения функции ардуино будет способна как отправлять данные на внешние устройства, так и получать их.

Пример использования функции:

Другие популярные методы класса Serial:

  • print()
  • println()
  • read()
  • available()
  • parseInt()

На платах с несколькими «железными» последовательными портами, например, Arduino Mega, для каждого из них создается свой объект Serial, поэтому вместе с Serial могут встречаться вызовы объектов Serial1, Serial2, Serial3.

Синтаксис функции

Команда Serial.begin () состоит из двух частей. Первая часть, Serial, является названием класса библиотеки для работы с монитором порта. Вторая часть, begin() обозначает название метода, которому мы должны передать один аргумент – скорость обмена данными. Функция не возвращает значений.

Синтаксис функции, два варианта:

  • скорость – скорость взаимодействия (бит/сек или бод).
  • config – настройки режима работы последовательного порта. По умолчанию используется наиболее распространенный вариант, SERIAL_8N1.

Скорость для последовательного порта в Serial.begin()

Кроме стандартного значения можно устанавливать и другие: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200. Чем выше цифра, тем выше скорость обмена, но нужно следить, чтобы эту скорость поддерживало и внешнее устройство. В некоторых ситуациях слишком высокая скорость обмена может привести к ошибкам, нужно учитывать и это. Так, например, значение 115200 устанавливаются обычно специальными высокоскоростными устройствами, например, полетными контроллерами. Значения ниже 9600 используются крайне редко.

Второй параметр для последовательного порта

Параметр config в функции begin обычно не указывается, т.к. крайне редко надо менять значения по умолчанию. Но на всякий случай приведем здесь возможные варианты параметров, которые можно найти в HardwareSerial.h:

В этих константах обозначаются разные варианты структуры пакета данных. Например, SERIAL_8N2 означает, что по последовательному порту ардуино передаст пакет длиной 8 бит без бита контроля четности (указано N) и с одним стоповым битом, который будет добавлен после байта данных.

Вопросы и ответы

Serial begin 9600 – что это значит?

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

Эта строчка говорит контроллеру ардуино, что нужно обратиться к последовательному порту по UART интерфейсу, открыть его для записи и подписаться на любые события с его стороны (для получения данных). Она обязательно должна использоваться перед выводом информации в монитор порта или считыванием данных.

На каких платах работает функция?

Эта функция работает на любых платах Arduino: Uno, Mega, Nano, Leonardo и т.д. Особенностью плат с несколькими «железными» последовательными портами является возможность вызывать объект Serial для каждого из этих портов.

Что будет, если не использовать функцию в скетче?

Все последующие команды для работы с последовательным портом не будут работать. Вы не сможете ни отправлять данные с помощью функций print() или println(), ни получать данные с помощью read() или readBytes().

Можно ли сократить функцию Serial.begin()?

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

Arduino UNO R3

В уроке рассказывается, как установить программное обеспечение для работы с системой Ардуино под Windows 7, как подключить плату к компьютеру и загрузить первую программу.

Для установки программного обеспечения и подключения контроллера Arduino UNO R3 к компьютеру необходимы:

  • плата контроллера;
  • USB кабель (обычно дается в комплекте);
  • персональный компьютер с ОС Windows, подключенный к интернету.

Плата может получать питание от USB порта компьютера, поэтому внешний блок питания не требуется.

Установка программы Ардуино

Установка интегрированной среды разработки Arduino IDE.

Прежде всего, необходимо загрузить последнюю версию программы. Загрузить ZIP архив можно с официального сайта поддержки систем Ардуино по этой ссылке. Необходимо выбрать строку с нужной операционной системой – Windows ZIP file.

Загрузить Arduino IDE

Создать папку, например Arduino, и распаковать в нее zip файл.

Разархивировать zip файл

Подключение платы Ардуино.

С помощью USB кабеля подключите плату к компьютеру. Должен загореться светодиод (с маркировкой ON), показывающий, что на плату поступает питание.

Установка драйвера.

Мне известны платы Arduino UNO R3 использующие в качестве моста USB-UART

  • микросхему ATmega16U2 (оригинальный вариант)
  • микросхему CH340G (китайский клон).

Процессы установки драйверов для этих вариантов отличаются.

Установка драйвера для ARDUINO UNO с преобразователем интерфейсов ATmega16U2.

Драйвер надо устанавливать вручную. Для этого переходим Пуск –> Панель управления –> Система –> Диспетчер устройств.

В разделе Порты (COM и LPT) должно быть устройство Arduino UNO с предупреждающим желтым значком.

Щелкаем правой кнопкой мыши по значку.

Выбираем Обновить драйвер.

Дальше Выполнить поиск драйверов на этом компьютере.

Вручную указать место размещения драйвера. Файл ArduinoUNO.inf находится в каталоге Drivers папки, куда распакован архив.

В разделе Порты (COM и LPT) появляется новый, виртуальный COM. Его номер надо запомнить.

Установка драйвера для ARDUINO UNO с преобразователем интерфейсов CH340G (китайский клон).

После подключения платы к компьютеру, Windows сама начнет процесс установки драйвера.

Драйвер надо устанавливать вручную. Для этого переходим Пуск –> Панель управления –> Система –> Диспетчер устройств.

Появилось новое устройство USB2.0-Serial с желтым предупреждающим значком.

Запускаем установочный файл ch341ser.exe.

Установка китайского клона Arduino UNO R3

Выбираем INSTALL.

В диспетчере устройств появляется новое устройство USB-SERIAL CH340.

Диспетчер устройств

Необходимо запомнить номер COM порта.

Запуск интегрированной среды разработки Arduino IDE.

Запускаем файл arduino.exe.

Выбираем тип платы Ардуино: Инструменты -> Плата -> Arduino UNO.

Установка Arduino IDE

Необходимо указать номер COM порта: Инструменты -> Порт.

Установка Arduino IDE

Для проверки работы системы можно запустить первый скетч – мигающий светодиод. Для этого: Файл -> Примеры -> 01.Basics -> Blink.

Запуск примера Ардуино

Нажимаем кнопку Загрузка.

Загрузка платы Ардуино

Ждем пока программа загрузится и светодиод на плате, обозначенный букой L, начинает мигать примерно раз в секунду. Значит все сделали правильно.

В следующем уроке получим минимальные знания о языке программирования для Ардуино - языке C++.

Читайте также: