Программа ribs ардуино уно подключение пульта. Arduino — описание выводов на примере Arduino UNO. Краткая информация о выводах

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

Забегая наперёд, скажу, что будет вторая статья, уже более практическая, по теме прошивки и программирования модуля ESP8266 в среде разработки Arduino IDE . Но, обо всём по порядку.

Этот видеоролик, полностью дублирует материал, представленный в статье.



На данный момент, существует много разновидностей этого модуля, вот некоторые из них:

А вот распиновка ESP01, ESP03, ESP12:


* Данную картинку можно посмотреть в хорошем качестве на офф. сайте pighixxx.com .

Лично мне, больше всего нравится версия ESP07. Как минимум за то, что тут есть металлический экран (он защищает микросхемы от внешних наводок, тем самым обеспечивает более стабильную работу), своя керамическая антенна, разъём для внешней антенны. Получается, подключив к нему внешнюю антенну, например типа биквадрат , то можно добиться неплохой дальности. К тому же, тут есть немало портов ввода вывода, так называемых GPIO(General Purpose Input Output - порты ввода-вывода общего назначения), по аналогии с ардуино - пинов.

Давайте вернёмся к нашим баранам Wi-Fi модулям и Arduino. В этой статье, я буду рассматривать подключение ESP8266(модели ESP01) к Arduino Nano V3.

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

Пару слов по ножкам ESP01:

Vcc и GND (на картинке выше это 8 и 1) - питание, на ножку Vcc можно подавать, судя по документации , от 3 до 3.6 В , а GND - земля (минус питания). Я видел, как один человек подключал этот модуль к двум AA аккумуляторам (напряжение питания в этом случае было примерно 2.7 В) и модуль был работоспособным. Но всё же разработчики указали диапазон напряжений, в котором модуль должен гарантированно работать, если вы используете другой - ваши проблемы.

Внимание! Этот модуль основан на 3.3 В логике, а Arduino в основном - 5 В логика. 5 В запросто могут вывести из строя ESP8266, потому на него нужно отдельно от ардуино подавать питание .

- На моей ардуинке есть ножка, где написано 3.3 В, почему бы не использовать её?

Наверное подумаете вы. Дело в том, что ESP8266 довольно таки прожорливый модуль, и в пиках может потреблять токи до 200 мА, и почти никакая ардуинка по умолчанию не способна выдать такой ток, разве что исключением является Arduino Due , у которой ток по линии 3.3 В может достигать 800 мА, чего с запасом хватит, в других же случаях советую использовать дополнительный стабилизатор на 3.3 В, например AMS1117 3.3 В . Таких валом как в Китае, так и у нас.

Ножка RST 6 - предназначена «железной» для перезагрузки модуля, кратковременно подав на неё низкий логический уровень, модуль перезагрузиться. Хоть и на видео я этим пренебрёг, но всё же вам советую «прижимать» данную ногу резистором на 10 кОм к плюсу питания , дабы добиться лучшей стабильности в работе модуля, а то у меня перезагружался от малейших наводок.

Ножка CP_PD 4(или по-другому EN ) - служит, опять же, для «железного» перевода модуля в энергосберегающий режим, в котором он потребляет очень маленький ток. Ну и снова - не будет лишним «прижать» эту ногу резистором на 10 кОм к плюсу питалова. На видео я тупо закоротил эту ногу на Vcc, потому как под рукой не оказалось такого резистора.

Ноги RXD0 7 TXD0 2 - аппаратный UART, который используется для перепрошивки, но ведь никто не запрещает использовать эти порты как GPIO(GPIO3 и GPIO1 соотвественно). GPIO3 на картинке почему-то не размечен, но в даташите он есть:

К стати, к ножке TXD0 2 подключен светодиод «Connect», и горит он при низком логическом уровне на GPIO1, ну или когда модуль отправляет что-то по UART.

GPIO0 5 - может быть не только портом ввода/вывода, но и переводить модуль в режим программирования. Делается это подключив этот порт к низкому логическому уровню(«прижав» к GND) и подав питание на модуль. На видео я делаю это обычной кнопкой. После перепрошивки - не забудьте вытащить перемычку/отжать кнопку(кнопку во время перепрошивки держать не обязательно, модуль при включении переходит в режим программирования, и остаётся в нём до перезагрузки).

GPIO2 3 - порт ввода/вывода.

И ещё один немаловажный момент, каждый GPIO Wi-Fi модуля может безопасно выдавать ток до 6 мА , чтобы его не спалить, обязательно ставьте резисторы последовательно портам ввода/вывода на… Вспоминаем закон Ома R = U/I = 3.3В / 0.006 А = 550 Ом, то есть, на 560 Ом . Или же пренебрегайте этим, и потом удивляйтесь почему оно не работает.

В ESP01 все GPIO поддерживают ШИМ, так что к нашим четырём GPIO, то есть GPIO0-3 можно подключить драйвер двигателя, аля L293 / L298 и рулить двумя двигателями, например катера, или же сделать RGB Wi-Fi приблуду. Да, да, данный модуль имеет на борту много чего, и для простеньких проектов скрипач Arduino не нужен, только для перепрошивки. А если использовать ESP07 то там вообще портов почти как у Uno, что даёт возможность уже уверенно обходиться без ардуино. Правда есть один неприятный момент, аналоговых портов у ESP01 вообще нет, а у ESP07 только один, ADC зовётся. Это конечно усугубляет работу с аналоговыми датчиками. В таком случае ардуино аналоговый мультиплексор в помощь.

Всё вроде как по распиновке пояснил, и вот схема подключения ESP8266 к Arduino Nano:

Видите на Arduino Nano перемычка на ножках RST и GND? Это нужно для того, чтобы ардуинка не мешала прошивке модуля, в случае подключения ESP8266 при помощи Arduino - обязательное условие.

Так же если подключаете к Arduino - RX модуля должен идти к RX ардуинки, TX - TX. Это потому, что микросхема преобразователь уже подключена к ножкам ардуино в перекрестном порядке.

Так же немаловажен резистивный делитель, состоящий из резисторов на 1 кОм и 2 кОм (можно сделать из двух резисторов на 1 кОм последовательно соединив их) по линии RX модуля. Потому как ардуино это 5 В логика а модуль 3.3. Получается примитивный преобразователь уровней. Он обязательно должен быть, потому что ноги RXD TXD модуля не толерантные к 5 В.

Ну и можно вообще обойтись без ардуино, подключив ESP8266 через обычный USB-UART преобразователь. В случае подключения к ардуино, мы, по сути, используем штатный конвертер интерфейсов usb и uart, минуя мозги. Так зачем тратиться лишний раз, если можно обойтись и без ардуино вообще? Только в этом случае, мы подключаем RXD модуля к TXD конвертора, TXD - RXD.

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

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

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

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

Для работы Arduino требуется написать или использовать уже готовую программу (далее именуемую «скетч») которая и будет управлять всей периферией.

Подключение Arduino

Включить Arduino достаточно просто. Для этого достаточно подать 5-вольт постоянного напряжение на контакт VCC и землю на контакт GND.

Также, на самой плате расположен стабилизатор питания, благодаря которому есть возможность подавать произвольное питание в диапазоне от 5 до 12 вольт на порт VIN.

Таким образом, мы можем запитывать плату через блок питания или несколько пальчиковых батареек.

Установка среды программирования Arduino IDE

Перед написание программы, мы должны скачать и установить официальную среду программирования именуемую как “Arduino IDE”. Переходим по следующему адресу https://www.arduino.cc/en/Main/Software и нажимаем на “Windows Installer” как показано на скриншоте:

Запускаем программу установки, нажимаем на кнопку “Install ” и дожидаемся окончания процесса установки.

Наша первая программа

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

Void setup () { pinMode(13 , OUTPUT); // переключаем 13-й порт на выход } void loop () { digitalWrite(13 , HIGH); // включаем светодиод delay(1000 ); // ждём одну секунду digitalWrite(13 , LOW); // выключаем светодиод delay(1000 ); // ждем секунду }

Также мы должны выбрать порт к которому подключили Arduino. Для этого заходим в меню “Инструменты → Порт” и выбираем порт из списка. Если же в списке портов Вы видите один лишь COM1, проверте подключение вашей платы к компьютеру. Также, если у вас не оригинальная плата (например купленая на популярном ресурсе Aliexpress.com) может потребоваться установка драйвера под эту плату.

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

Особенности драйвера для Arduino Uno

Arduino требуется драйвер для полноценной работы на компьютере. Установка программного обеспечения драйвера на Windows 7 – это самый простой способ установки программного обеспечения. Лучше всего производить загрузку из заархивированного файла. Это позволяет легко удалить программное обеспечение, удалив папку.

Когда операционная система Windows 10 автоматически устанавливает драйвер, Ардуино просто выглядит, как COM-порт в диспетчере устройств. Он не распознается, как микропроцессор, хотя и будет работать должным образом, и код из Arduino IDE может быть загружен в него. После установки драйвера Ардуино Нано, который поставляется с программным обеспечением Arduino, микроконтроллер будет показан, как Ардуино на COM-порту в диспетчере устройств.

Разновидности драйверов

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

Тип 1

Драйвер для расширенной версии Ардуино Уно - Arduino mega 2560 драйвер. У Arduino Uno и Mega 2560 может возникнуть проблема с подключением к Mac через USB-концентратор. Если в меню «Инструменты → Последовательный порт » ничего не отображается, попробуйте подключить плату непосредственно к компьютеру и перезапустить .

Отключайте цифровые контакты 0 и 1 во время загрузки, поскольку они совместно используются последовательной связью с компьютером (они могут подключаться и использоваться после загрузки кода). Arduino mega 2560 драйвер для Windows 7 доступен по следующей ссылке: https://www.arduino.cc/en/Main/Software . После перехода пользователь вводит в поисковое окошко официального сайта микроконтроллера название платы для скачивания драйверов.

Тип 2

Avrisp mkii driver – требуется для создания программатора. Когда вы устанавливаете , устанавливается 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.

Тип 3

Для конструирования шагового двигателя понадобится Arduino l298n driver. Это двойной драйвер двигателя H-Bridge , который позволяет одновременно управлять скоростью и направлением двух двигателей постоянного тока. Модуль может приводить в действие двигатели постоянного тока с напряжением от 5 до 35 В с пиковым током до 2А. Давайте подробнее рассмотрим распиновку модуля L298N и объясним, как это работает.

Модуль имеет две винтовые клеммные части для двигателей A и B и еще одну винтовую клеммную колодку для заземляющего контакта, VCC для двигателя и вывод 5 В, который может быть либо входом, либо выходом. Это зависит от напряжения, используемого на двигателях VCC. Модуль имеет встроенный 5V-регулятор, который либо включен, либо отключен с помощью перемычки.

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

В этом случае вывод 5V будет использоваться в качестве входного сигнала, так как мы должны подключить его к источнику питания 5 В, чтобы IC работал правильно. Здесь можно отметить, что эта ИС уменьшает падение напряжения примерно на 2 В. Так, например, если мы используем источник питания 12 В, напряжение на клеммах двигателей будет составлять около 10 В, а это означает, что мы не сможем получить максимальную скорость от нашего 12-вольтового двигателя постоянного тока.

Где и как скачать драйвер

Все Arduino driver доступны на официальном сайте: https://www.arduino.cc/ . Пользователю достаточно вбить в поиск нужный для его проекта драйвер.

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

Загрузите программное обеспечение Ардуино и распакуйте все файлы в папку c:\ program . В итоге у вас будет каталог, похожий на arduino-0021.

Затем подключите плату к компьютеру с помощью USB-кабеля и подождите, пока Windows обнаружит новое устройство.

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

Выберите опцию – установить из списка или определенного местоположения (Дополнительно) и нажмите «Далее».

Теперь выберите местоположение, в котором хранятся драйверы Ардуино. Это будет в подпапке, называемой драйверами в каталоге Arduino.

Выберите «Продолжить» в любом случае.

Теперь Windows должна найти программное обеспечение для Ардуино. Нажмите «Готово», чтобы завершить установку.

Компьютер взаимодействует с платой через специальный чип последовательного порта, встроенный в плату. Программное обеспечение Ардуино IDE должно знать номер последовательного порта, который только что выделил Windows. Откройте панель управления Windows и выберите системное приложение. Перейдите на вкладку «Оборудование » и затем нажмите кнопку «Диспетчер устройств».

Нажмите опцию Ports (COM и LPT) и обратите внимание, какой COM-порт был выделен для Ардуино Board.

Затем запустите приложение Ардуино IDE, которое будет находиться в каталоге c:\program\arduino-0021 или аналогичном.

Нажмите «Сервис → Последовательный порт » и выберите номер порта сверху.

Затем нажмите Tools → Сервис и выберите тип платы, который у вас есть.

Теперь попробуйте открыть демонстрационную программу Blink из каталога примеров в среде Arduino IDE, Verify / Compile и загрузить ее на свою платформу.

В этой инструкции, для примера, рассмотрим начало работы в операционной системе Windows. Для операционных систем Microsoft (Windows 2000/Vista) различия незначительны, они в основном относятся к названиям вкладок в Диспетчере устройств. В прочих операционных средах, таких как Linux, FreeBSD, Mac OS X и т.д, порядок настройки значительно отличается. При необходимости организовать работу с этим программным обеспечением, рекомендуем искать ответы на вопросы на основном сайте разработчика //www.arduino.cc .

В качестве подключаемой платформы возьмём Arduino Uno. Разница с другими платами у неё минимальна.

Кабель для связи с ПК

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

Arduino U no , Arduino M ega 2560 соединяются кабелем со штекерами USB тип А. Такой кабель часто применяется для подключения принтера или сканера.

Arduino Leonardo , Arduino Due для подключения имеют гнездо micro USB тип В.

Arduino Nano, Freeduino Nano подключаются через гнездо mini USB тип B.

Для подключения Freeduino MaxSerial потребуется кабель последовательного порта 9M-9F.

Возникла неполадка : Arduino IDE не запускается.

Способ устранения.

Скорее всего, на компьютере установлена неподходящая виртуальная среда JRE (Java Runtime Environment), необходимая для запуска графических приложений.

Возвратитесь к переустанавке Arduino IDE: на этот раз инсталлятор развернет работу по настройке JRE.

Подключение плат Arduino к компьютеру

После успешного запуска среды разработки Arduino IDE пришло время связать какую-то платформу Arduino с компьютером. Как вы уже знаете, подключение плат Arduino к ПК выполняется через USB-кабель.

Соединив консоль Arduino с ПК, на ней загорится один светодиод «ON», и начнёт мигать другой «L». Это означает, что через кабель подано питание и микроконтроллер начал выполнять предустановленную на заводе программу Blink (мигание).

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

Номер COM-порта можно узнать в «Диспетчере устройств», вкладка «Порты (COM и LPT)».

На системах Windows скорее всего нашей Arduino Uno с последовательным интерфейсом присвоится один из портов COM1 или COM2. Для Ардуино с USB-контроллером портом ввода будет COM4, COM5, COM6 или выше.

На системах Linux последовательным портом будет USB0 либо USB1.

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

Возникла неполадка: при подключении платы Arduino к компьютеру, в Диспетчере устройств она не появляется.

Способы устранения:

  1. Не всунут до конца или поврежден USB-кабель или порт.
  2. Нет драйвера для этой платы Arduino. Если у вас китайская Arduino или от другого неизвестного производителя, попробуйте переустановить USB-драйвер вручную.
  3. Блокировка со стороны антивирусника.
  4. Неисправна плата Arduino.

В открытой Arduino IDE, заходим: Инструменты > Порт > выбираем номер порта COM - сообщаем программе номер порта, к которому подключена микропроцессорная платформа Arduino.

Чтобы у прошивающей программы Arduino IDE не осталось никаких сомнений, с чем ей предстоит работать, указываем тип нашей подключенной платы. Для этого переходим по меню: Инструменты > Плата > выбираем тип своей платы Arduino.

Возникла неполадка: во вкладке Порт нет ни одного COM-порта.

Способ устранения.

Очевидно, нарушено соединение устройства Arduino с компьютером. Верните устойчивое соединение с ПК.

Или нет драйвера. Скачать можно в конце статьи.

Как проверить подключение устройства Arduino

Все числовые данные, поступающее через COM-порт, выводятся в Монитор порта во всё той же удобной графической среде Arduino IDE. Следовательно, нажав соответствующую иконку «Монитор порта» в верхнем правом углу консоли или найдя соответствующий пункт в меню Сервис, по изменяющимся числам в открывшимся окошке можно убедиться, что через USB-кабель передаются данные, а значит, и плата Arduino надежно подключена.

Обратите внимание, что в нижней части окошка Монитора порта выводится информация о скорости работы с COM-портом «19200 baud» (19200 бит/сек). Такая скорость задана по умолчанию в предустановленном скетче на плате Arduino. В этом скетче есть строка Serial.begin(19200), в которой можно задать любую требуемую скорость передачи, но это возможно только при работе через USB-кабель. Ежели передача данных идет через радиоканал Bluetooth, то скорость обмена с COM-портом должна быть задана заранее, точно такой же, какую мы выбираем при отладке Bluetooth-модуля.

Возникла неполадка: невероятно тормозит Arduino IDE при навигации по меню.

Способ устранения.

В Диспетчере устройств, во вкладке Bluetooth Serial отключите Bluetooth-соединение с мобильным телефоном. Все внешние подключения через Bluetooth значительно пожирают объем виртуальной памяти.

Соединение установлено, среда разработки настроена - теперь в ваших руках отлаженный инструмент для прошивки любых микроконтроллеров AVR серии: ATtiny, ATmega, AT90S, AT90CAN, AT90PWM.

В среде разработки Arduino IDE есть много готовых образцов для различных задач, но для проверки отзывчивости платы на перепрошивку достаточно внести небольшие изменения в предустановленную программу Blink (мигание светодиода «L» на плате).

Достаточно в открытом эскизе Blink внести свои изменения в строчке delay(1000), нажать «Вгрузить» и засечь изменения в работе платы Arduino.

Установив delay(500) - светодиод «L» будет мигать в два раза чаще, с задержкой в пол секунды.

Задав delay(100) - светодиод «L» будет загораться и гаснуть в 10 раз быстрее, чем по заводской настройке, то есть каждые 100 миллисекунд.

Возникла неполадка : при загрузке скетча всплыла ошибка вида «not in sync».

Способ устранения.

Значит, подключенная платформа Arduino не была распознана операционной системой. Вернитесь к пунктам установки правильного номера COM-порта и модели платы в меню Инструменты Arduino IDE.

Да и напоследок, если вы купили плату Arduino на каком-нибудь онлайн китайском рынке, то очень часто возникают проблемы при подключении платы – просто она не определяется. Чтобы решить эту проблему умельцами был создан драйвер.

Самодельный трекер для солнечных батарей на Arduino

При установке Arduio IDE должны автоматически поставиться драйверы, необходимые для работы с оригинальными платами Arduino. Но фишка в том, что на китайских платах стоит более дешёвый контроллер интерфейса USB, для работы с ним нужен специальный драйвер. Китайский контроллер ничем не хуже, он просто дешевле =)

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


Далее подключить Arduino к компьютеру, подождать, пока Windows её распознает и запомнит (первое подключение).
P.S. Вылезет окошечко, сообщающее, что устройство опознано и подключено к COM порту с определённым номером отличным от номера 1

По умолчанию в linux можно прошивать китайские ардуинки без дополнительного оборудования. Но вначале ничего не получается и Arduino IDE выдает ошибку.
Дело вот в чем. Linux (в моем случае linux mint) определяет ардуинку как устройство ttyUSB*. Обычно это ttyUSB0. Это можно узнать командой dmesg в терминале.
То есть, в системе появляется интерфейс /dev/ttyUSB0 . Но чтобы с ним работать, нужны права доступа. Читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout. Работы с правами суперпользователя лучше избегать, поэтому следует занести своего пользователя в группу dialout. Это можно сделать следующей командой(обратите внимание, команда whoami в обратных кавычках)
sudo usermod -a -G dialout `whoami`
После этого нужно перелогиниться. Дальше запускаем Arduino IDE и в меню «Инструменты-Порт» ставим галочку напротив /dev/ttyUSB0 .

За инфу спасибо Владу Шеменкову

Проблемы