Монитор порта ардуино: Уроки Arduino. Монитор порта

Содержание

как с ним работать?. Блог Амперкот.ру


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

Посмотрим, как работать с Serial, но не со стороны Arduino, а со стороны компьютера. Готовы? Поехали!

Вариант первый. Arduino IDE

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

Если мы хотим работать только с текстом - рабочий вариант, но если при подключении открывается консоль(например в случае с Micropython), об удобстве можно забыть.

Вариант второй. Специализированное ПО

Поскольку интерфейс Serial-порта используется не только при разработке микроконтроллеров, но и в других областях IT были созданы специальные программы, для удобного взаимодействия или управления.

Одним из самых популярных решений для Windows - является программа PuTTY. Не смотря на то, что она заявлена как SSH клиент, её очень часто используют для подключения по COM-порту.

Для этого необходимо на основной вкладке среди способов подключения выбрать Serial, ввести имя порта, скорость и нажать на Open.

К сожалению данная программа доступна только для Windows. Пользователям MacOS - можно использовать

CoolTerm(кстати, он доступен и для Windows и Linux)

или программу с простым названием Serial, правда за её использование после пробного периода придётся отдать 30$.

Вариант третий. Программирование

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

Для того, что бы написать программу для управления устройством через Serial-порт на Python, необходимо использовать библиотеку PySerial. Её можно установить через менеджер пакетов: pip install pyserial.

Для создания подключения и отправки сообщения необходим следующий код:

my_serial = serial.Serial('/dev/ttyS1', 115200)
my_serial.write(b'command_1')
my_serial.close()

Он откроет подключение на порту /dev/ttyS1, со скоростью 115200, затем отправит на устройство байтовую строчку b'command_1', а после этого закроет подключение. 

Подробнее об использовании библиотеки можно прочитать в этой статье.


Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.


Arduino. Работа с COM-портом | CUSTOMELECTRONICS.RU

Для связи микроконтроллера с компьютером чаще всего применяют COM-порт. В этой статье мы покажем, как передать команды управления из компьютера и передать данные с контроллера.

Подготовка к работе

Большинство микроконтроллеров обладают множеством портов ввода-вывода. Для связи с ПК наиболее пригоден из них протокол UART. Это протокол последовательной асинхронной передачи данных. Для его преобразования в интерфейс USB на плате есть конвертор USB-RS232 – FT232RL.
Для выполнения примеров их этой статьи вам будет достаточно только Arduino-совместимая плата. Мы используем EduBoard. Убедитесь, что на вашей плате установлен светодиод, подключенный к 13му выводу и есть кнопка для перезагрузки.

Таблица ASCII

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

int symbol = 33;

void setup() {
  Serial.begin(9600);
  Serial.println("ASCII Table ~ Character Map");
}

void loop() {
  Serial.write(symbol);
  Serial.print(", dec: ");
  Serial.print(symbol);
  Serial.print(", hex: ");
  Serial.print(symbol, HEX);
  Serial.print(", oct: ");
  Serial.print(symbol, OCT);
  Serial.print(", bin: ");
  Serial.println(symbol, BIN);
  if(symbol == 126) {
    while(true) {
      continue;
    }
  }
  symbol++;  
}

Переменная symbol хранит код символа. Таблица начинается со значения 33 и заканчивается на 126, поэтому изначально переменной symbol присваивается значение 33.
Для запуска работа порта UART служит функция Serial.begin(). Единственный ее параметр – это скорость. О скорости необходимо договариваться на передающей и приемной стороне заранее, так как протокол передачи асинхронный. В рассматриваемом примере скорость 9600бит/с.
Для записи значения в порт используются три функции:

  1. Serial.write() – записывает в порт данные в двоичном виде.
  2. Serial.print() может иметь много значений, но все они служат для вывода информации в удобной для человека форме. Например, если информация, указанная как параметр для передачи, выделена кавычками – терминальная программа выведет ее без изменения. Если вы хотите вывести какое-либо значение в определенной системе исчисления, то необходимо добавить служебное слово: BIN-двоичная, OCT – восьмеричная, DEC – десятичная, HEX – шестнадцатеричная. Например,
    Serial.print(25,HEX)
    .
  3. Serial.println() делает то же, что и Serial.print(), но еще переводит строку после вывода информации.

Для проверки работы программы необходимо, чтобы на компьютере была терминальная программа, принимающая данные из COM-порта. В Arduino IDE уже встроена такая. Для ее вызова выберите в меню Сервис->Монитор порта. Окно этой утилиты очень просто:

Монитор порта

Теперь нажмите кнопку перезагрузки. МК перезагрузится и выведет таблицу ASCII:

Таблица ASCII

Обратите внимание на вот эту часть кода:


if(symbol == 126) {
    while(true) {
      continue;
    }
  }

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

Отправка команд с ПК

Прежде чем этим заниматься, необходимо получить представление относительного того, как работает COM-порт.
В первую очередь весь обмен происходит через буфер памяти. То есть когда вы отправляете что-то с ПК устройству, данные помещаются в некоторый специальный раздел памяти. Как только устройство готово – оно вычитывает данные из буфера. Проверить состояние буфера позволяет функция Serial.avaliable(). Эта функция возвращает количество байт в буфере. Чтобы вычитать эти байты необходимо воспользоваться функцией Serial.read(). Рассмотрим работу этих функций на примере:


int val = 0;

void setup() {
        Serial.begin(9600); 
}

void loop() {
  if (Serial.available() > 0) {
    val = Serial.read();
    Serial.print("I received: ");
    Serial.write(val);
    Serial.println();
  }
}

После того, как код будет загружен в память микроконтроллера, откройте монитор COM-порта. Введите один символ и нажмите Enter. В поле полученных данных вы увидите: “I received: X”, где вместо X будет введенный вами символ.
Программа бесконечно крутится в основном цикле. В тот момент, когда в порт записывается байт функция Serial.available() принимает значение 1, то есть выполняется условие Serial.available() > 0. Далее функция Serial.read() вычитывает этот байт, тем самым очищая буфер. После чего при помощи уже известных вам функций происходит вывод.
Использование встроенного в Arduino IDE монитора COM-порта имеет некоторые ограничения. При отправке данных из платы в COM-порт вывод можно организовать в произвольном формате. А при отправке из ПК к плате передача символов происходит в соответствии с таблицей ASCII. Это означает, что когда вы вводите, например символ “1”, через COM-порт отправляется в двоичном виде “00110001” (то есть “49” в десятичном виде).
Немного изменим код и проверим это утверждение:


int val = 0;

void setup() {
  Serial.begin(9600); 
}

void loop() {
  if (Serial.available() > 0) {
    val = Serial.read();
    Serial.print("I received: ");
    Serial.println(val,BIN);
  }
}

После загрузки, в мониторе порта при отправке “1” вы увидите в ответ: “I received: 110001”. Можете изменить формат вывода и просмотреть, что принимает плата при других символах.

Управление устройством через COM-порт

Очевидно, что по командам с ПК можно управлять любыми функциями микроконтроллера. Загрузите программу, управляющую работой светодиода:


int val = 0;

void setup() {
        Serial.begin(9600); 
}

void loop() {
  if (Serial.available() > 0) {
    val = Serial.read();
    if (val=='H') digitalWrite(13,HIGH);
    if (val=='L') digitalWrite(13,LOW);
  }
}

При отправке в COM-порт символа “H” происходит зажигание светодиода на 13ом выводе, а при отправке “L” светодиод будет гаснуть.

Если по результатам приема данных из COM-порта вы хотите, чтобы программа в основном цикле выполняла разные действия, можно выполнять проверку условий в основном цикле. Например:


int val = '0';

void setup() {
        Serial.begin(9600); 
}

void loop() {
  if (Serial.available() > 0) {
    val = Serial.read();}
    if (val=='1') {
      digitalWrite(13,HIGH); delay (100);
      digitalWrite(13,LOW); delay (100);
    }
    if (val=='0') {
      digitalWrite(13,HIGH); delay (500);
      digitalWrite(13,LOW); delay (500);
    }
}

Если в мониторе порта отправить значение “1” светодиод будет мигать с частотой 5Гц. Если отправить “0” – частота изменится на 1Гц.

Индивидуальные задания

  1. Придумайте три светодиодных эффекта, переключение между которыми можно осуществлять при отправке различных символов с ПК.
  2. Напишите программу, мигающую светодиодом с частой, заданной пользователем с ПК.

Остальные статьи цикла можно найти здесь.

Мы будем очень рады, если вы поддержите наш ресурс и посетите магазин наших товаров shop.customelectronics.ru.

Советы по устранению ошибки последовательного порта в Arduino и ESP8266 (ESP-12E) - Мои статьи - Компьютер и интернет

Сначала проверьте последовательные порты. Загрузите Windows, но не подключайте плату Arduino или ESP8266. На рабочем столе щелкните правой кнопкой мыши (ПКМ) по ярлыку Этот компьютер (Компьютер). В меню выберите Свойства. В окне Система щелкните по ссылке Диспетчер устройств. В окне Диспетчер устройств откройте Порты (COM и LPT). Должен присутствовать последовательный порт COM1.

Теперь воткните в USB порт кабель от Arduino или ESP8266. В диспетчере устройств должен появиться дополнительный COM порт. Я подключил NodeMCU v3 и появился дополнительный порт COM3.

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

Если ничего не изменилось и присутствует только порт COM1, то значит у вас проблемы с последовательным портом.
В этом случае при запуске скетча в окне выдается сообщение "Порт недоступен", "Ошибка подключения последовательного порта", "Порт не найден" и т.п. После этого начинаются пляски с бубном —  отключаются и снова подключаются кабели, перезагружается компьютер. Иногда это помогает, иногда — нет.
Вероятная причина ошибки порта — помехи при передаче данных по USB кабелю. Вначале проверьте кабели и USB разъёмы. Замените ненадёжные кабели и не используйте разбитые USB разъёмы.

Другая причина — недостаточно тока для питания Arduino или ESP8266. USB порт в компьютере может быть запитан от источника с малым выходным током. Попробуйте самое простое - подключить Arduino к другому порту в надежде на то, он запитан от более мощного источника. Такое возможно, если USB портов несколько. Кардинальное решение — подключить Arduino или ESP8266 через USB хаб (USB-разветвитель) с внешним блоком питания с выходным током не менее 2 - 3 А.
Ещё одно причина нехватки питания для портов USB — подключение к роутеру по Wi-Fi. Wi-Fi адаптер потребляет значительный ток и нагружает шину питания портов  USB. В связи с этим отключите  Wi-Fi адаптер и подключите компьютер к роутеру кабелем. Иногда это сразу может решить проблему.
Предпочтительно использовать компьютер с подключением клавиатуры и мыши к портам PS/2. Клавиатура и мышь с подключением по USB будут дополнительно нагружать шину +5В и питания для Arduino или Node MCU может не хватить. По возможности используйте десктоп с достаточно мощным блоком питания, который обеспечивает с запасом ток по шине +5В. Некоторые дешёвые материнские платы при подключении двух-трёх USB устройств уже начинают давать сбои.

Используйте короткий USB кабель, насколько это возможно. Это уменьшит помехи при передаче данных.
Не используйте USB удлинители, подключайте Arduino или ESP8266 непосредственно к USB портам компьютера на задней стенке системного блока. Не используйте USB разъёмы на передней панели системного блока или USB порты картридера. Они подключаются к материнской плате кабелями. Это увеличивает помехи при передаче данных.

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

Фильтры бывают съемными, они надеваются на кабель и защелкиваются.

Можно изготовить фильтр самостоятельно. Возьмите ферритовое кольцо диаметром около 20 мм, притупите острые кромки наждачной бумагой, сделайте один виток кабеля вокруг сердечника и зафиксируйте кольцо на кабеле с помощью скотча или термоусадочной трубки.

Если использовать кольца небольшого диаметра, то никакой фиксации не понадобится. Например, я использовал два кольца, снятые с неисправной материнской платы. Только придется разрезать кабель и затем спаять его снова или припаять новый USB разъем.

Бывают ситуации, когда Arduino работает нормально, а при подключении ESP8266 появляются ошибки и скетч не работает. Такое может быть из-за того, что Wi-Fi передатчик модуля потребляет довольно значительный ток и для нормальной работы просто не хватает тока. Подключите ESP8266 через USB хаб с внешним блоком питания с выходным током 2-2.5-3 А. Также используйте для подключения короткие кабели с ферритовыми фильтрами на концах.

Пробуйте подключаться к разным USB разъёмам компьютера, если их несколько, или разным разъёмам USB хаба.
Если ваш компьютер имеет порты USB2.0 и USB3.0, то пробуйте подключаться к тем и другим. Скорее всего лучшие результаты получите при подключении к USB2.0. Драйвер USB3.0 может работать некорректно.
Windows иногда просто не может определить порт. Проверьте контакты блока питания USB хаба в розетке сети. Если блок питания болтается, то о надёжной работе USB портов не может быть и речи.

Подключайте плату Arduino или ESP8266 в USB разъём после полной загрузки Windows.
При переключениях в другие порты номер порта может измениться. Проверяйте номер порта. В верхнем меню Arduino IDE выберите Сервис (Tools) -> Последовательный порт (Serial Port). Рядом с портом COM1 должен быть дополнительный порт. Поставьте галку, чтобы активировать его. 

Работу COM порта и загрузку скетча визуально можно проверить по миганию светодиодов RX и TX на плате Arduino или по частому миганию светодиода рядом с Wi-Fi антенной на плате ESP8266 (NodeMCU v3).

Несмотря на все ухищрения, Windows 10 не открывает COM порт для Node MCU v3 (ESP-12E). Иногда подключает порт и тут же сбрасывает его и так без конца.
Подключил Node MCU v3 (ESP8266) через USB хаб с внешним блоком питания к компьютеру с Windows XP SP3. Установил драйвер ch441ser.exe и Arduino IDE 1.6.5. COM порт определяется и работает. В Windows XP COM порты определяются более надёжно. Проверил это на двух компьютерах с Windows XP с Intel и AMD процессорами.
Однако некоторые скетчи уже не используют приложения Win32 и при компиляции выдаётся ошибка. В этом случае потребуется как минимум 64-разрядная Windows 7.
COM порты виртуальные и, как в любой программе, возможен сбой при определении порта.

Семипортовые USB хабы (разветвители), как пишут в интернете, имеют две микросхемы по 4 порта. Последний порт первой микросхемы используется для подключения второй микросхемы.  В итоге получается 3+4 порта. Можно попробовать подключать Arduino или Node MCU в разные порты хаба.

В Windows откройте Диспетчер устройств, раскройте Порты (COM и LPT). Не закрывайте это окно. Начинайте пробовать разные кабели, разные порты и разные варианты подключения оборудования и, как только порт надёжно определится в Диспетчере устройств, запомните эту конфигурацию оборудования.

И последнее и, может быть, самое главное. Большинство бестрансформаторных блоков питания (зарядных устройств), выполненных в корпусе-вилке, не обеспечивают заявленных характеристик. Например, у зарядного устройства 5V 2.1А, показанного ниже, при токе 0,9 А напряжение на выходе падает до 3,8 В. Сомневаюсь в том, что такой блок питания вообще может отдать в нагрузку ток 2А.

При подозрениях на проблему с питанием используйте трансформаторный блок питания. По габаритам он будет намного больше, зато надежно обеспечит расчетные ток и напряжение.
Рекомендации по блоку питания (из книги "Неисправности вашего ZX SPECTRUM" С.-Петербург, 1991):
"Советуем Вам выбрать самую простую, но и самую надежную схему: трансформатор - диодный мост - конденсатор фильтра - микросхема КР142ЕН5А в стандартном включении - блокировочный конденсатор.
Не стремитесь к чрезмерной миниатюризации! Трансформатор должен иметь мощность не менее 15 Вт, провод вторичной обмотки диаметр не менее 0,7 мм и напряжение на вторичной обмотке под нагрузкой 7-8 Ом должно быть 9-10 В.
Диодный мост подойдет любой из серий КЦ402, КЦ405. Конденсатор фильтра должен быть не менее 4000 мкФ, а рабочее напряжение - не ниже 16 В. На выходе ЕН5А поставьте блокировочный конденсатор 100-200 мкФ на 10-16 В. После сборки БП проконтролируйте напряжение на входе ЕН5А при подключенной нагрузке 5 Ом - должно быть 10,5-11 В.
Если это не так - отмотайте или домотайте несколько витков вторичной обмотки трансформатора. Затем проконтролируйте под нагрузкой 5 Ом напряжение на выходном разъеме БП - должно быть 4,9 - 5,1 В. При низком напряжении придется взять более толстый провод для подсоединения разъема.
При окончательной проверке БП посмотрите на осциллографе переменную составляющую напряжения на пределе 10 мВ (под нагрузкой 5 Ом) - заметных отклонений от прямой линии не должно быть.
В случае неудачи емкость фильтрующего конденсатора нужно увеличить.
Наконец, позамыкайте выход БП накоротко и убедитесь, что ЕН5А не выходит из строя."

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

Номиналы резисторов R1 и R2 вы можете рассчитать сами. Например, после мостика на конденсаторе фильтра под нагрузкой у вас получилось напряжение 15 В. Напряжение на стабилитроне составит 3-3,3 В. Значит на резисторе R1 должно упасть 15 - 3 = 12 В. Ток стабилитрона 10 мА, т. е. 0,01 А. По закону Ома R = V/I. R = 12/0.01= 1200 Ом = 1,2 кОм. Резистор R2 можно взять сопротивлением раза в три больше, чем R1, чтобы не так сильно шунтировал стабилитрон. R2 будет 3 - 3,6 кОм. Мощность рассеивания тоже рассчитывается по закону Ома. Резистор 0,25 Вт будет с большим запасом по мощности рассеивания. Для регулировки напряжения удобно использовать подстроечный многооборотный резистор СП5-3 или аналогичный.
Аккуратнее с регулировкой напряжения, а то выведите из строя само устройство. Вначале для проверки блока питания подключите нагрузку — резистор 5 Ом 5 Вт. Ток нагрузки будет 1 А. Резистором R2 установите напряжение на выходе + 5,0 ÷ 5,25 В.

Если вы хотите получить выходной ток 2 А, то вместо моста КЦ используйте четыре диода КД202. Также можно соединить "этажеркой" в параллель два мостика КЦ405, спаяв одноименные выводы между собой. Тогда вторичную обмотку выберите с проводом потолще. ЕН5А прикрепите к радиатору достаточных габаритов. О расчете трансформатора блока питания можно прочитать на странице Простейший расчет силового трансформатора. Сейчас проще подобрать трансформатор из готовых, например в ЧИП и ДИП. При этом учтите то, что входное напряжение КР142ЕН5А должно быть в диапазоне 7,5В < Vвх < 15В. 

Резюме
Чтобы устранить ошибки последовательного порта —
► используйте для питания Arduino или ESP8266 USB порты с достаточным выходным током или USB хаб с внешним блоком питания.
► используйте для подключения короткие USB кабели с ферритовыми фильтрами около разъемов.

Последнее редактирование 20 ноября 2020 г.

Использованные ресурсы
https://wm-help. net/lib/b/book/1248084587/4
https://masterpaiki.ru/top-10-samyih-chastyih-neispravnostey-zhk-monitorov.html
https://www.dns-shop.ru/product/3a24983fdab4526f/usb-razvetvitel-ginzzu-gr-487ua/opinion/
https://kiloom.ru/spravochnik-radiodetalej/microsxema/k142en5a-k142en5b-k142en5v-k142en5g-kr142en5a-kr142en5b-kr142en5v-kr142en5g.html

Arduino COM порт не работает



Недавно я купил Arduino Uno. Получив необходимые кабели, я решил загрузить пример на чип.

Вместо того, чтобы увидеть это мигание, я получил ошибку типа processing.app.SerialException: Serial port 'COM1' not found. Did you select the right one from the Tools > Serial Port menu?

Да, я пытался это сделать. Но даже монитор Serial Port не кажется открытым. С другой стороны, я получаю некоторые исключения, которые не стоит упоминать.

После того, как я узнал, что мои последовательные порты COM не работают (через Portmon.exe), и выяснив, что у меня может даже не быть их (в Диспетчере устройств нет порта COM), я также попытался загрузить драйвер для порта COM, но это также не удалось.

Некоторые говорят, что это из-за моей материнской платы Acer Aspire 5742. Некоторые говорят, что причина-Windows 7.

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

serial-port arduino
Поделиться Источник BedirYilmaz     05 ноября 2012 в 00:10

7 ответов


  • Arduino COM порт не найден

    В течение прошлой недели я программировал Arduino Uno с компьютером под управлением Windows 7., когда я впервые начал, я нашел устройство на COM6 и смог загрузить код без проблем. Недавно он внезапно перестал получать код под ошибкой: Serial port 'COM6' не найден. Вы выбрали правильный...

  • Как автоматически обнаружить порт Arduino COM?

    Я использую Arduino с библиотекой Firmata для связи с приложением C#, и я хочу исключить компонент конфигурации порта COM, так как он может меняться от машины к машине. .. Возможно ли это сделать: Перечислить список портов COM в системе? (В моем гугле я видел довольно уродливый код Win32 API,...



22

Установка драйверов для Arduino в Windows 8 / 7.

( Я пробовал его для Uno r3, но я думаю, что он будет работать для всех плат Arduino )

Подключи свою доску Arduino

Перейдите в Панель управления - - - > Система и безопасность - - - > Система - - - > на левой панели устройства кормушка

Разверните Другие Устройства .

Под другими устройствами вы заметите значок с небольшим желтым графическим изображением ошибки . (Отключите все другие устройства, подключенные к любому Serial Port)

Щелкните правой кнопкой мыши на этом устройстве - - - > обновить программное обеспечение драйвера

Выберите " обзор" мой компьютер для программное обеспечение драйвера

Нажмите кнопку Обзор - - - > найдите папку Arduino Environmen t, которую вы загрузили с сайта Arduino. Если не скачано то http://arduino.cc/en/Main/Software

После просмотра отметьте включить подпапку .

Нажмите кнопку Далее - - - > ваш драйвер будет установлен.

Свернуть другие устройства - - - > развернуть порт (его в диспетчере устройств только под другими устройствами )

Вы увидите Arduino написано - - - > ищите его COM порт (закройте Диспетчер устройств)

Ехать в среду ---> Arduino инструменты ---> Serial Port ---> выбрать порт COM как упоминалось в PORT в диспетчере устройств. (Если вы используете любую другую доску Arduino вместо UNO, то выберите то же самое в досках )

Загрузите свои программы-убийцы и посмотрите, как они работают . . .

Надеюсь, это поможет . . .

Добро пожаловать

Поделиться Divye Bhutani     23 апреля 2013 в 15:31



3

Вы установили драйверы? Смотрите инструкции по установке Arduino в разделе #4. я не знаю эту машину, но сомневаюсь, что у нее нет портов COM.

Поделиться spring     05 ноября 2012 в 13:55



2

Я установил свои драйверы и подключил Arduino через неиспользуемый концентратор usb. Перемещение его в порт USB моего компьютера заставило его работать.

Поделиться ceteras     28 апреля 2014 в 21:43


  • Как подключиться к Arduino через COM по vendorID, productID или серийному номеру

    Я могу подключиться к Arduino через простой Windows при условии COM интерфейс ( CreateFileW(portName..) ), но вы должны знать, на котором COM порт Arduino подключен. Как я должен найти порт Arduino COM на основе его серийного номера или VendorID и ProductID ? С чего начать ? Я новичок в разработке...

  • подключите arduino к телефону ANDROID через USB через com порт

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



1

Во-первых: извините за мой плохой английский (не стесняйтесь поправлять меня). Аннотация: шаги решения проблемы "Serial port 'COM1' не найдено" в fedora 17.

Сегодня установите пакеты для Arduino в Fedora 17. (yum install arduino) и у меня та же проблема: я решил загрузить пример на чип. и получил ту же ошибку "Serial port 'COM1' не найден".

В этом случае, когда я запускаю Arduino programm, появляется какой-то баннер, который предупреждает меня, что мой пользователь не находится в группе 'dialout' и 'lock'.¿Вы хотите добавить своего пользователя в эту группу? Я нажимаю на кнопку Добавить, но по какой-то причине программа терпит неудачу и ничего не говорит.

Шаг 1: распознайте устройство arduino отключите ваши файлы arduino и list /dev:

#ls -l /dev

подключите свой arduino и перейдите к списку /dev файлов

#ls -l /dev

например, найдите новый файл (устройство), которого не было до pluggin:

ttyACM0 или ttyUSB1

Прочитайте эти свойства:

ls -l /dev/ttyACM0

crw-rw---- 1 root dialout 166, 0 Dec 24 19:25 /dev/ttyACM0

первые c означают, что arduino-это символьное устройство.

владелец пользователя: root

владелец группы: исходящее

номер мэра: 166

второстепенное число: 0

Шаг 2: Установите пользователя в качестве владельца группы.

Если вы это сделаете:

groups <yourUser>

И вы не входите в группу 'dialout' и/или 'lock'. Добавьте себя в эту группу run as root:

usermod -aG lock <yourUser>
usermod -aG dialout <yourUser>

перезагрузить компьютер. и установите /dev/ в качестве вашего serial port перед загрузкой.

Я надеюсь быть полезным. Франциско. Пока.

Поделиться moralejaSinCuentoNiProverbio     24 декабря 2014 в 23:10



0

отключать не нужно, просто удалите ваш порт, перезагрузите и установите драйвер again.you, который будет видеть порт arduino COM в разделе LPT & PORT.

Поделиться mmislam     27 января 2015 в 02:42



0

Это исправление / решение работало для меня: Диспетчер устройств -- > порты --> щелкните правой кнопкой мыши на Arduino Uno --> обновление программного обеспечения драйвера --> автоматический поиск обновленного программного обеспечения драйвера

Поделиться TimG     21 февраля 2015 в 14:22



-1

Я перезагрузил компьютер, а затем снова открыл IDE, и он работал, хотя ничего из вышеперечисленного не было.

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

Поделиться Tilen Thaler     11 июля 2019 в 08:56


Похожие вопросы:


Определите порт COM, на который блокируется устройство

У меня есть микроконтроллер (Arduino) и я хочу автоматически определить, на какой порт блокируется микроконтроллер. Идея состоит в том, чтобы не корректировать порт COM вручную для каждого...


COM порт исчезает при отключении USB

Я создаю прототип своего рода док-станции на базе Arduino для планшета, используя порт USB в качестве разъема. Это означает, что мне нужно поддерживать возможность подключения / отключения разъема...


Что такое порт COM последовательного программного обеспечения в arudino?

У меня есть модуль Bluetooth, подключенный к моему контакту RX(0) на Arduino, через который я получаю данные. Затем я печатаю эти данные с помощью Serial.write() . Эти два контакта соответствуют...


Arduino COM порт не найден

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


Как автоматически обнаружить порт Arduino COM?

Я использую Arduino с библиотекой Firmata для связи с приложением C#, и я хочу исключить компонент конфигурации порта COM, так как он может меняться от машины к машине... Возможно ли это сделать:...


Как подключиться к Arduino через COM по vendorID, productID или серийному номеру

Я могу подключиться к Arduino через простой Windows при условии COM интерфейс ( CreateFileW(portName..) ), но вы должны знать, на котором COM порт Arduino подключен. Как я должен найти порт Arduino...


подключите arduino к телефону ANDROID через USB через com порт

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


Извлечение данных из Arduino UNO через USB COM порт

Я работаю над проектом с Arduino UNO. Моя задача-получить данные из Arduino и сохранить их в базе данных с помощью PHP (во-первых, я пытаюсь получить данные в коде php, сохранение в базу данных...


Автоматическое обнаружение порта Arduino COM в Matlab

Я не хочу использовать что-то вроде serial ('COM2') для чтения данных из Arduino по Matlab. Есть ли способ в Matlab автоматически идентифицировать COM порт платы Arduino?


Arduino MKRFOX1200 COM порт не работает

Я работаю над проектом на плате MKRFOX1200. Я использовал его сегодня, когда внезапно порт COM3 перестал работать по неизвестной причине ... Я использую windows 10, когда он начинается, единственные...

Работа в Arduino IDE | HobbyTech

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

Verify/Compile. Проверить код на ошибки.

Stop. Останавливает монитор последовательного порта или снимает фокус с других кнопок.

New. Создаёт новый скетч.

Open. Показывает список всех скетчей. При щелчке на выбранном скетче он будет открыт.
Примечание: из-за ошибки в Java это меню невозможно прокрутить; если вам надо открыть файл в списке, которого не видно, используйте пункт меню File | Sketchbook.

Save. Сохраняет ваш скетч.

Upload to I/O Board. Компилирует ваш код и выгружает его в плату Arduino. Подробнее - см. раздел "Выгрузка" ниже.

Serial Monitor. Открывает монитор последовательного порта.

Другие команды вы можете найти в пяти пунктах меню: File, Edit, Sketch, Tools, Help. Эти меню являются контекстно-зависимыми, что означает что они зависят от того, что вы делаете в настоящий момент.

Edit (Редактирование)

  • Copy for Discourse (Копировать для обсуждения)
    Копирует код вашего скетча в буфер обмена в форме, подходящей для размещения текста на форуме, с цветовой подсветкой синтаксиса.
  • Copy as HTML (Копировать как HTML)
    Копирует код скетча в буфер как HTML-код, что удобно для размещения его текста на веб-странице.

Sketch (Скетч)

  • Verify/Compile (Проверить/скомпилировать)
    Проверяет скетч на ошибки.
  • Import Library (Импортировать библиотеку)
    Добавляет библиотеку в ваш скетч, используя директиву #include в нём. Подробнее читаем об этом в разделе "Библиотеки".
  • Show Sketch Folder (Показать папку скетчей(
    Открывает папку скетчей в проводнике.
  • Add File... (Добавить файл)
    Добавляет файл к скетчу (он будет скопировал из текущего места). Новый файл появится в новой закладке окна скетчей. Файл может быть удалён из числа скетчей, используя меню закладок.

Tools (Инструменты)

  • Auto Format (Автоформат)
    Форматирует код: упорядочивает отступы так, чтобы открывающие и закрывающие фигурные скобки была выровнены, а также выравнивает выражения.
  • Board (Плата)
    Выбор используемой в настоящий момент платы.
  • Serial Port (Последовательный порт)
    Выбор используемого в настоящий момент последовательного порта из списке всех портов (реальных и виртуальных) для вашего компьютера. Список автоматически обновляется каждый раз, когда вы открываете верхний уровень меню.
  • Burn Bootloader (Записать загрузчик)
    Это меню позволяет записать загрузчик в микроконтроллер на плате Arduino. В обычных условиях это не требуется, но полезно в том случае, если вы приобрели новый чип ATmega (который обычно поставляется без загрузчика).Удостоверьтесь, что вы выбрали верный тип платы из меню "Boards" перед записью загрузчика. При использовании AVR ISP вам понадобится выбрать соответствующий программатору порт из меню Serial Port.

Sketchbook(Альбом скетчей)

Среда Arduinoпредставляет собой концепцию альбома скетчей: стандартное место для хранения ваших прорамм-скетчей. Скетчи в альбоме могут быть открыты через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске ПО Arduino оно автоматически создаст папку для ваших скетчей. Вы можете просматривать или изменять место расположения альбома в диалоге "Preferences".

Tabs, Multiple Files, Compilation (Закладки, файлы, компилирование)

Позволяет управлять более скетчами из больше чем одного файла (каждый из которых расположен на своей закладке). Это могут быть файлы кода Arduino (без расширения), файлы на языке C files (расширение ". c"), на языке C++ files (расширение ".cpp"), или файлы заголовков (с расширением ".h").

Uploading (Выгрузка)

Перед выгрузкой вашего скетча вам требуется выбрать соответствующий пункт меню в разделе Tools > Board and Tools > Serial Port menus. Эти платы описаны ниже. Для компьютеров Mac последовательный порт будет описан примерно как /dev/tty.usbserial-1B1 (для платы USB), или /dev/tty.USA19QW1b1P1.1 (для платы с последовательным портом, подключённым к адаптеру USB-to-Serial). В Windows, это, возможно, COM1 или COM2 (для плат с последовательным портом) или COM4, COM5, COM7 или выше (для USB-плат) - чтобы определиться точно, загляните в Диспетчер устройств - USB serial device. Для Linux порты должны выглядеть как /dev/ttyUSB0, /dev/ttyUSB1 и т.п.

После того как вы выбрали правильный последовательный порт и плату, нажмите кнопку "upload" в панели инструментов или выберите пункт " Upload to I/O Board" в меню "File" (для программы Arduino версии 0.22) или "Скетч -> Загрузка" (для версий 1. 00 и старше).

Современные платы Arduino производят автоматический перезапуск (сброс) и начинают загрузку. С более старыми платами, у которых нет функции автоматического перезапуска, вам потребуется нажать "reset" на плате перед началом выгрузки. На большинстве плат во время загрузки вы увидите мигающие светодиоды RX и TX. После окончания загрузки среда Arduino покажет сообщение об успешном завершении, или об ошибке.

При выгрузке скетча вы используете загрузчик, который уже есть в Arduino - это маленькая программа, которая загружена в микроконтроллер. Она позволяет загружать в этот-же микроконтроллер код без применения программатора. Загрузчик активен несколько секунд после перезапуска платы, затем он запускает на выполнение скетч, который последний раз был загружен в микроконтроллер. Загрузчик мигает светодиодом на плате (вывод 13) после запуска (например, после сброса).

Librarires (Библиотеки)

Библиотеки предоставляют вам дополнительные возможности при использовании скетчей, например, работу с различными устройствами или с данными. Для использовании библиотеки в скетче, выберите пункт меню "Sketch > Import Library". После этого в начало скетча будет вставлено одно или несколько выражений #include; библиотеки будет скомпилирована с вашим скетчем. Поскольку библиотеки выгружаются на плату вместе с вашим скетчем, они увеличивают используемое пространство памяти микроконтроллера. Если библиотеки в вашем скетче больше не используется, просто удалите из него выражение #include.

Существует множество готовых библиотек. Некоторые из них уже включены в среду Arduino, другие могу быть загружены из различных источников. Чтобы установить библиотеки сторонних производителей, создайте папку "libraries" в папке вашего альбома скетчей, затем распакуйте в ней библиотеку. Например, чтобы установить библиотеку DateTime, её следует распаковать в папку /libraries/DateTime в вашей папки скетчей.

Third-Party Hardware (Другие платы)

В папке "hardware" вашей папки скетчей может быть добавлена поддержка других плат. Установленные платформы могут включить определения плат (которые появятся в меню "Board"), библиотеки ядра, загрузчики и определения программаторов. Для установки создайте папку "hardware", а затем распакуйте платформу стороннего производителя в собственную подпапку. Для удаления просто удалите эту папку.

Более подробно о создании пакетов для плат других производителей смотрите страницу Google Code.

Serial Monitor (Монитор передачи данных)

Показывает данные, отправленные плате Arduino (с USB или с последовательным портом). Чтобы отправить данные плате, введите текст и нажмите кнопку "send" или "Enter" на клавиатуре. Выберите скорость передачи символов из выпадающего меню, которая будет передана функции Serial.begin в вашем скетче. Заметим, что для Mac или Linux плата Arduino выполнит сброс (перезапустит скетч с начала) при запуске монитора.

Preferences (Настройки)

Некоторые настройки могут быть установлены в этом диалоге (находится в меню "Arduino" в Mac или в меню "File" для Windows и Linux). Остальные настройки могут быть указаны в файле настроек, место расположения которого указано в этом диалоге.

Boards (Платы)

Выбор платы выполняет две функции: параметры (такие, как скорость процессора и скорость передачи данных), используемых при компилировании скетча; а также файл и биты установки, используемые при команде Burn Bootloader (Записать загрузчик). Некоторые платы отличаются только в последнем, так-что даже если у вас выгрузка проходит успешно, всё-таки проверьте установку этого пункта меню перед записью загрузчика в плату.

  • Arduino Duemilanove or Nano с ATmega328
    ATmega328 работает на частоте 16МГц с автоматическим перезапуском (сбросом). Также используется для 16 МГц- (5В)- версий плат Arduino Pro или Pro Mini с ATmega328.
  • Arduino Diecimila, Duemilanove, or Nano w/ ATmega168
    ATmega168 работает на 16МГц с автоматическим сбросом. Компилирование и выгрузка схожи с Arduino NG или более старыми платами с ATmega168, но загрузчик имеет меньший период задержки (и мигает светодиодом на 13-й ножке только один раз после сброса). Также используется для 16 МГц- (5В)- версий Arduino Pro и Pro Mini с ATmega168.
  • Arduino Mega
  • ATmega1280 работает на 16МГц с автоматическим сбросом.
  • Arduino Mini
    Сходна с Arduino NG или боле старыми с ATmega168 (например, ATmega168, работающая на 16 МГц без автосброса).
  • Arduino BT
    ATmega168 на 16 МГц. Загрузчик содержит код для запуска встроенного на плате модуля bluetooth.
  • LilyPad Arduino w/ ATmega328
    ATmega328 на 8 MHz (3.3В) с автосбросом. Сходна с Arduino Pro или Pro Mini (3.3В, 8 МГц) с ATmega328.
  • LilyPad Arduino w/ ATmega168
    ATmega168 на 8 МГц. Компилирование и загрузка сходны с Arduino Pro или Pro Mini (8 МГц) с ATmega168. Однако, записанный загрузчик имеет большее время ожидания (и мигает светодиодом на 13-м выводе трижды), так как оригинальная версия LilyPad не поддерживала автосброс. Они также не имеют внешнего кварца, так-что команда записи загрузчика конфигурирует биты установки микроконтроллера ATmega168на работу от внутреннего тактового генератора на 8 МГц.
    Если у вас старая версия LilyPad (с 6-контактным разъёмом для программирования), вам следует выбрать Arduino Pro или Pro Mini (8 МГц) с ATmega168 перед записью загрузчика.
  • Arduino Pro or Pro Mini (3.3or, 8 MHz) w/ ATmega328
    ATmega328, работающая на 8 МГц (3.3В) с автосбросом. Сходна с LilyPad Arduino с ATmega328.
  • Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega168
    ATmega168 на 8 МГц (3.3В) с автосбросом
  • Arduino NG or older w/ ATmega168
    ATmega168 на 16 МГц без автосброса. Компилирование и выгрузка сходны с Arduino Diecimila или Duemilanove с ATmega168, но загрузчик имеет меньший период ожидания (и мигает светодиодом на выводе 13 три раза после сброса).
  • Arduino NG or older w/ ATmega8
    ATmega8 на частоте 16 МГц без автосброса.

Serial Port Monitor - Сниффер COM порта. RS232/485 Analyzer

Запуск/остановка мониторинга последовательного порта, открытого другим приложением (доступно в версииях Professional и Company)
Serial Port Monitor полностью совместим с Windows 10 (x32 и x64)
Serial Port Monitor и все его драйверы имеют цифровую подпись
Одновременный контроль неограниченного количества последовательных портов
Возможность добавления нескольких портов для мониторинга в рамках одной сессии
Поддерживает все виды COM-портов: стандартные встроенные порты, порты плат расширения, виртуальные программные последовательные порты, COM-порты Bluetooth, USB to SERIAL адаптеры и др.
Мониторинг передачи данных и ее логирование
Расширенный диалог отправки: легко отправлять различные типы данных, применять псевдонимы для быстрого набора текста и автоматизации, отправлять файлы и замыкать функции и команды, изменять параметры последовательного порта в процессе работы (доступно в версииях Professional и Company)
Сбор данных в режиме реального времени
Различные визуализаторы мониторинга: табличное представление, вид строки, дамп и терминал
Логирование входящих и исходящих потоков данных
Файл с данными можно разбить на несколько файлов или задать ему определенный размер
Возможность экспорта необработанных данных в файл из терминального вида
Разноцветная визуализация команд в табличном видовом представлении
Любое программное/аппаратное обеспечение, работающее с последовательным портом, может контролироваться
Возможность перехватывать и записывать все последовательные управляющие коды ввода/вывода (IOCTLs), отслеживая все их данные и параметры
Настраиваемое логирование сессии мониторинга (несколько форматов временных меток, различные системы счисления, настраиваемая длина строки и т. д.)
Удобное и гибкое управление сессией мониторинга: сохранение и загрузка всех данных мониторинга, функции экспорта и перенаправления в файл
Экспорт сессии мониторинга (HTML, ASCII текст, Unicode текст, Exсel CSV) и автоматическое перенаправление в файл (Serial Port Monitor автоматически добавит в файл все данные мониторинга в режиме реального времени)
Поддерживает копирование всех записанных данных в буфер обмена
Поддерживает автоматическое добавление данных до и после передачи пакета
Поддерживается полнодуплексный режим
Визуализируется статус управляющих линий
Уникальные инструменты фильтрации потока с пресетами
Поддерживаются все скорости передачи данных
Гибкая конфигурация: стоп-биты, управление потоком, контроль четности, биты данных, выделение и пр.
Удобный гибкий интерфейс: программное обеспечение разработано специально для обеспечения легкого доступа к последовательным портам, никаких навыков программирования не требуется
Раздел комментариев для табличного отображения
Быстрая настройка фильтров на панели инструментов
Если мониторинг неактивен, может быть создан новый файл перенаправления данных
Статистика в строке состояния от первого до последнего подсвечивает IRP в виде «Таблица». В IRP появились подсказки по их расшифровке
Фильтрация данных по портам
Данные, которые приложение пыталось записать в порт, отображаются дополнительно к фактически записанным данным
Автоматическую прокрутку для представления терминала можно отключить
Опция командной строки позволяет продолжить запись в файл, вместо того, чтобы перезаписывать существующие данные

Контроллер Arduino Mega с ESP8266

В этой заметке я расскажу, о контроллере Arduino Mega, совмещенным с контроллером ESP8266. Для тестирования функционала платы была использована контрафактная копия этой платы, заказанная в Китае, поэтому фотографии и протестированный функционал относятся к копии, нежели к оригиналу. Оригинал платы можно найти на сайте компании RobotDyn.

История покупки данной платы следующая. Для управления макетом железной дороги по протоколу DCC++ мне понадобилась плата семейства Arduino. Сначала я выбрал микроконтроллер Arduino UNO и управлял поездами через виртуальный COM-порт компьютера (USB порт), подключенного к микроконтроллеру. Но в начале 2017 года я нашел статью "Roco z21 на базе Arduino" в которой указывалось, что макетом можно управлять по WiFi, если применить плату Arduino Mega, совмещенную с контроллером ESP8266.

Итак, плата выполнена в размерах оригинального контроллера Arduino Mega. Контроллер ATmega2560 смещен в правую сторону, а в левой стороне расположен контроллер ESP8266. Над WiFi контроллером находится USB разъем, который заменен с обычного Type-B на Micro-B, а взаимодействие этого разъема с компонентами платы осуществляется через USB-TTL конвертер Ch440G и DIP переключатель из 8 контактов. Фотография платы представлена ниже.


Переключатель режимов USB порта может находится в режимах, описанных в таблице ниже

  1 2 3 4 5 6 7 8 RXD/TXD
USB изолирован --- --- --- --- --- --- --- --- 0
USB
<->
ATmega2560
--- --- ON ON --- --- --- --- 0
USB
<->
ESP8266 (прошивка)
--- --- --- --- ON ON ON --- 0
USB <->
ESP8266 (работа)
--- --- --- --- ON ON --- --- 0
ATmega2560
<->
ESP8266
ON ON --- --- --- --- --- --- 0
USB
<->
ATmega2560
<->
ESP8266
ON ON ON ON --- --- --- --- 3

 

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

  • Сама плата Mega-WiFi.
  • Компьютер с операционной системой Windows.
  • Кабель USB-microUSB.
  • Драйвер USB-TTL конвертера Ch440.
  • Программная среда Arduino IDE (старые сборки можно скачать из архива версий).
  • Тестовые прошивки Arduino Mega and ESP8266.
  • Канцелярская скрепка.

 

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

После установки драйверов устройство отобразиться в диспетчере устройств как USB-SERIAL Ch440 (COMx). Надо найти это устройство и выписать номер виртуального COM-порта, к которому подключена плата, например COM4.

После того, как плата стала видна, её можно отключить от компьютера, но надо запомнить, к какому USB порту было произведено подключение и включать плату только в этот порт - если включить в другой, то номер COM-порта может измениться.

 

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

  1. Создать папку для своих проектов, например C:\ArduinoProjects.
  2. Распаковать в папку проектов архив Arduino Mega and ESP8266.zip.
  3. Запустить программу Arduino IDE.
  4. Открыть Настройки через Файл --> Настройки.
  5. В поле Размещение папки скетчей указать C:\ArduinoProjects.
  6. В поле Дополнительные ссылки для менеджера плат вписать
    http://arduino.esp8266.com/stable/package_esp8266com_index.json.
  7. Сохранить настройки, нажав OK.
  8. Открыть Менеджер плат через Инструменты --> Плата --> Менеджер плат.
  9. Найти в списке esp8266 by ESP8266 Comunity и установить пакет нужной версии, например 2. 3.0.
  10. Закрыть программу Arduino IDE.

 

Чтобы проверить работоспособность контроллера ATmega2560 необходимо проделать следующие операции:

  1. С помощью скрепки переключить ползунки DIP-переключателя в положения, указанные в таблице ниже.
      1 2 3 4 5 6 7 8 RXD/TXD
    USB
    <->
    ATmega2560
    --- --- ON ON --- --- --- --- 0
  2. Подключить плату к компьютеру с помощью USB-кабеля.
  3. Запустить программу Arduino IDE.
  4. Выбрать плату Arduino/Genuino Mega or Mega 2560 через
    Инструменты --> Плата --> Arduino/Genuino Mega or Mega 2560.
  5. Выбрать COM-порт, который выписывали из Диспетчера устройств при установке драйвера платы, через
    Инструменты --> Порт --> COM4.
  6. Открыть тестовую программу TEST_MEGA через Файл --> Папка со скетчами --> TEST_MEGA.
  7. Загрузить прошивку в контроллер через Скетч --> Загрузка.
  8. После успешной загрузки прошивки в контроллер открыть Монитор порта через Инструменты --> Монитор порта.
  9. В Мониторе порта нужно выбрать скорость передачи в 115200 бод, после чего в окне монитора должно отобразиться меню тестовой программы.
  10. В поле ввода команд Монитора порта нужно ввести английскую букву "a" и нажать Отправить, в ответ на команду контроллер перейдет в режим мигания встроенным светодиодом в течении 20 секунд.
  11. В Монитор порта нужно отправить команду "b" - контроллер выдаст размер свободной памяти SRAM = 7873 и полный размер памяти EEPROM = 4096.
  12. В Монитор порта нужно отправить команду "c" - контроллер протестирует состояние выходов и выдаст таблицу с результатами. В таблице все выводы кроме 0, 1 и 13 должны быть в состоянии OK. На выводах 0, 1, 13 выявлены неисправности, так как 0 и 1 выводы заняты последовательным портом (UART), а на 13 выводе находится встроенный светодиод.
  13. Все проверки проведены - контроллер нужно отключить от USB порта компьютера.

 

Чтобы проверить работоспособность контроллера ESP8266 необходимо проделать следующие операции:

  1. С помощью скрепки переключить ползунки DIP-переключателя в положения, указанные в таблице ниже.
      1 2 3 4 5 6 7 8 RXD/TXD
    USB
    <->
    ESP8266 (прошивка)
    --- --- --- --- ON ON ON --- 0
  2. Подключить плату к компьютеру с помощью USB-кабеля.
  3. В программе Arduino IDE выбрать плату WeMos D1 R2 & mini через Инструменты --> Плата --> WeMos D1 R2 & mini.

    Примечание. Рекомендованный в документации тип платы Olimex MOD-WIFI-ESP8266(-DEV) не подходит.

  4. Проверить настройки контроллера в соответствии с рисунком.
  5. Открыть тестовую программу TEST_ESP8266 через Файл --> Папка со скетчами --> TEST_ESP8266.
  6. В строки 7 и 8 программы вместо многоточий нужно вставить имя домашней WiFi сети и её пароль.
  7. Загрузить прошивку в контроллер через Скетч --> Загрузка.
  8. После успешной загрузки отключить плату от компьютера.
  9. С помощью скрепки переключить ползунки DIP-переключателя в положения, указанные в таблице ниже.
      1 2 3 4 5 6 7 8 RXD/TXD
    USB <->
    ESP8266 (работа)
    --- --- --- --- ON ON --- --- 0
  10. Подключить плату к компьютеру с помощью USB-кабеля.
  11. С помощью Монитора порта посмотреть что выдает контроллер. Значения Chip Real Size (реальный размер памяти) и Chip Flash Size (размер памяти, выставленный при прошивке) должны быть одинаковыми.
    Необходимо выписать IP адрес, который получил контроллер от WiFi коммутатора - этот адрес понадобится в следующем тесте.
  12. Проверка проведена - контроллер нужно отключить от USB порта компьютера.

 

Чтобы проверить взаимодействие контроллеров ATmega2560 и ESP8266 необходимо проделать следующие операции:

  1. С помощью скрепки переключить ползунки DIP-переключателя в положения, указанные в таблице ниже.
      1 2 3 4 5 6 7 8 RXD/TXD
    USB
    <->
    ATmega2560
    <->
    ESP8266
    ON ON ON ON --- --- --- --- 3
  2. Подключить плату к компьютеру с помощью USB-кабеля.
  3. В программе Arduino IDE выбрать плату Arduino/Genuino Mega or Mega 2560 через
    Инструменты --> Плата --> Arduino/Genuino Mega or Mega 2560.
  4. Открыть тестовую программу TEST_MEGA-ESP через Файл --> Папка со скетчами --> TEST_MEGA-ESP.
  5. Загрузить прошивку в контроллер через Скетч --> Загрузка.
  6. После успешной загрузки прошивки в контроллер открыть Монитор порта через Инструменты --> Монитор порта.
  7. Контроллер Arduino Mega должен считать данные с порта обмена данных с контроллером ESP8266 и выдать их в окно Монитора порта.
  8. Открыть в браузере страницу по IP адресу, выданному в Мониторе порта.
  9. В отрытой странице поочередно нажимать на кнопки ON и OFF и следить за состоянием светодиода, встроенного на плату. Светодиод должен включаться командой ON и выключаться командой OFF.
  10. Проверка проведена - контроллер нужно отключить от USB порта компьютера.

 

Плату можно найти в интернет магазине RobotDyn, eBay или AliExpress по ключевым словам "ATmega2560 ESP8266 Ch440G". Цена на плату колеблется от 10$ до 25$ в зависимости от качества исполнения и жадности продавца. Я покупал плату на AliExpress за 11$.

Еще один обзор платы можно прочитать по этой ссылке.

Ардуино. Работа с COM-портом | CUSTOMELECTRONICS.RU

Для связи микроконтроллера с компьютером чаще всего применяют COM-порт. В этой статье мы покажем, как передать команды управления из компьютера и передать данные с контроллера.

Подготовка к работе

Большинство микроконтроллеров обладают множеством портов-выводов. Для связи с ПК наиболее пригоден из них протокол UART. Это протоколой последовательной асинхронной передачи данных. Для его преобразования в интерфейс USB на плате есть конвертор USB-RS232 - FT232RL.
Для выполнения этих примеров этой статьи вам будет достаточно только Arduino-совместимая плата. Мы используем EduBoard. Убедитесь, что на вашей плате установлен светодиод, подключенный к 13му выводу и есть кнопка для перезагрузки.

Таблица ASCII

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

 int symbol = 33;

void setup () {
  Серийный.begin (9600);
  Serial.println («Таблица ASCII ~ Карта символов»);
}

void loop () {
  Serial.write (символ);
  Serial.print (", dec:");
  Serial.print (символ);
  Serial.print (", шестнадцатеричный:");
  Serial.print (символ, HEX);
  Serial.print (", окт:");
  Serial.print (символ, OCT);
  Serial.print (", bin:");
  Serial.println (символ, БИН);
  if (symbol == 126) {
    while (true) {
      Продолжать;
    }
  }
  символ ++;
} 

Переменная символ хранит код символа.Таблица со значениями 33 и ограничивает на 126, поэтому стандартный символ присваивается значение 33.
Для запуска портала UART начинается функция Serial.begin () . Единственный ее параметр - это скорость. О скорости необходимо договариваться на передающей и приемной стороне заранее, так как протокол передачи асинхронный. В рассматриваемом примере скорость 9600бит / с.
Для записи значения в порт используются три функции:

  1. Серийный.write () - записывает в порт данные в двоичном виде.
  2. Serial.print () может иметь много значений, но все они выводят информацию в удобной для человека форме. Например, если информация, указанная как параметр для передачи, выделена кавычками - терминальная программа выведет ее без изменений. Если вы хотите получить какое-либо значение в стандартной системе исчисления, необходимо добавить служебное слово: BIN-двоичная, OCT - восьмеричная, DEC - десятичная, HEX - шестнадцатеричная.Например, Serial.print (25, HEX) .
  3. Serial.println () делает то же самое, что и Serial. print () , но еще переводит строку после вывода информации.

Для проверки работы программы необходимо, чтобы на компьютере была терминальная программа, принимающая данные из COM-порта. В Arduino IDE уже встроена такая. Для ее вызова выберите в меню Сервис-> Монитор порта. Окно этой утилиты очень просто:

Монитор порта

Теперь нажмите кнопку перезагрузки.МК перезагрузится и выведет таблицу ASCII:

Таблица ASCII

Обратите внимание на вот эту часть кода:

if (symbol == 126) {
    while (true) {
      Продолжать;
    }
  }
 

Она останавливает выполнение программы. Если вы ее исключите - таблица будет выводиться бесконечно.
Для закрепления полученных сообщений написать бесконечный цикл, который будет раз в секунду в последовательный порт ваше имя.В выводе добавьте номера шагов и не забудьте ввести перевод после имени.

Отправка команд с ПК

Прежде чем этим заниматься, получить представление о том, как работает COM-порт.
В первую очередь весь обмен происходит через буфер памяти. То есть когда вы отправляете что-то с устройством, данные помещаются в некоторый специальный раздел памяти. Как только устройство готово - оно вычитывает данные из буфера. Проверить состояние буфера позволяет функция Serial.доступный () . Эта функция возвращает количество байт в буфере. Чтобы вычитать эти байты необходимо воспользоваться функцией Serial.read () . Рассмотрим работу этих функций на примере:

int val = 0;

void setup () {
        Serial.begin (9600);
}

void loop () {
  if (Serial.available ()> 0) {
    val = Serial.read ();
    Serial.print ("Я получил:");
    Serial.write (val);
    Serial.println ();
  }
}
 

После того, как код будет загружен в память микроконтроллера, откройте монитор COM-порт.Введите один символ и нажмите Enter. В поле полученных данных вы видите: «Я получил: X» , где вместо X будет введенный вами символ.
Программа бесконечно крутится в основном цикле. В тот момент, когда в порт записывается байт функция Serial.available () принимает значение 1, то есть условие Serial.available ()> 0 . Далее функция Serial.read () вычитывает этот байт, тем самым очищая буфер. После чего при помощи уже известных вам функций происходит вывод.
Использование встроенного в Arduino IDE монитора COM-порт имеет некоторые ограничения. При отправке данных из платы в COM-порт вывод можно организовать в произвольном формате. А при отправке из ПК к плате передача символов происходит в соответствии с таблицей ASCII. Это означает, что когда вы вводите, например символ «1», через COM-порт отправляется в двоичном виде «00110001» (то есть есть «49» в десятичном виде).
Немного изменим код и проверим это утверждение:

int val = 0;

void setup () {
  Серийный.begin (9600);
}

void loop () {
  if (Serial.available ()> 0) {
    val = Serial.read ();
    Serial.print ("Я получил:");
    Serial.println (val, BIN);
  }
}
 

После загрузки, в монитор порта при отправке «1» вы увидите ответ: «Получил: 110001». Можете изменить формат вывода и просмотреть, что принимает плату при других символах.

Управление этим через COM-порт

Очевидно, что по командам с ПК можно управлять любыми функциями микроконтроллера.Загрузите программу, управляющую работу светодиода:

int val = 0;

void setup () {
        Serial.begin (9600);
}

void loop () {
  if (Serial.available ()> 0) {
    val = Serial.read ();
    если (val == 'H') digitalWrite (13, HIGH);
    если (val == 'L') digitalWrite (13, LOW);
  }
}
 

При отправке в COM-порт символа «H» происходит зажигание светодиода на 13ом выводе, а при отправке «L» светодиод будет гаснуть.
Если по результатам приема данных из COM-порта вы хотите, чтобы программа в основном цикле выполняла разные действия, можно выполнить проверку условий в основном цикле. Например:

int val = '0';

void setup () {
        Serial.begin (9600);
}

void loop () {
  if (Serial.available ()> 0) {
    val = Serial. read ();}
    if (val == '1') {
      digitalWrite (13, ВЫСОКИЙ); задержка (100);
      digitalWrite (13, НИЗКИЙ); задержка (100);
    }
    if (val == '0') {
      digitalWrite (13, ВЫСОКИЙ); задержка (500);
      digitalWrite (13, НИЗКИЙ); задержка (500);
    }
}
 

Если в монитор порта отправить значение «1», светодиод будет мигать с настройкой 5Гц.Если отправить «0» - частота изменится на 1Гц.

Индивидуальные задания

  1. Придумайте три светодиодных эффекта, переключение между возможностью осуществлять при отправке различных символов с ПК.
  2. Напишите программу, мигающую светодиодом с частой, заданной пользователем с ПК.

Остальные статьи цикла можно найти здесь.

Мы будем очень рады, если вы поддержите наш ресурс и магазин наших товаров shop.customelectronics.RU.

как с ним работать ?. Блог Амперкот.ру


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

Посмотрим, как работать с Serial, но не со стороны Arduino, а со стороны компьютера. Готовы? Поехали!

Вариант первый.Ардуино IDE

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

Если мы хотим работать только с текстом - рабочий вариант, но если при подключении открывается консоль (например, в случае с Micropython), об удобстве можно забыть.

Вариант второй. Специализированное ПО

Интерфейс Serial-порт используется не только при разработке микроконтроллеров, но и в других областях. Были созданы специальные программы, для удобного взаимодействия или управления.

Одним из самых популярных решений для Windows - это программа PuTTY . Не смотря на то, что она заявлена ​​как SSH-клиент, её очень часто используют для подключения по COM-порту.

Для этого необходимо на основной вкладке среди способов подключения выбрать Последовательный порт , имя порта, скорость и скорость нажатия на Открыть .

К сожалению программа доступна только для Windows. Пользователям MacOS - можно использовать CoolTerm (кстати, он доступен и для Windows и Linux)

или программу с простым названием Serial , правда за ее использование после пробного периода придётся отдать 30 $.

Вариант третий. Программирование

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

Для того, что бы написать программу для управления через Serial-порт на Python, необходимо использовать библиотеку PySerial . Её можно установить через менеджер пакетов: pip install pyserial .

Для создания подключения и отправки сообщения необходим следующий код:

  my_serial = serial.Serial ('/ dev / ttyS1', 115200)
my_serial.write (b'command_1 ')
my_serial.close ()
  

Он откроет подключение на порту / dev / ttyS1 , со скоростью 115200 , затем отправит на устройство байтовую строчку b'command_1 ', а после этого закроет подключение.

Подробнее об использовании библиотеки можно прочитать в этой статье.


Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая индексции поисковыми системами, обязательна.


CuteCom монитор порта

В работе с микроконтроллерами, программированием и отладкой, приёмом и передачей данных может пройти монитор последовательного порта.Под Linux для этих целей подойдёт программа CuteCom.

Установка:

  sudo apt установить cutecom  

Для доступа к устройству программа следует запускать от имени суперпользователя или добавить пользователя в группу dialout:

  sudo usermod -a -G dialout yourUserName  

Запускаем программу, нажимаем кнопку Настройки, делаем настройки и подключаемся к порту:

Заметим, программа позволяет установить скорость передачи из списка и вручную. У меня устройство / dev / ttyUSB0 плата ESS8266-01 подключённая к USB порту через микросхему QinHeng Electronics HL-340 USB-Serial адаптер.

Файл конфигурации CuteCom Вы найдёте по адресу ~ / .config / CuteCom / CuteCom.conf

  [CuteCom]
CharacterDelay = 0
LineTerminator = 2
LogFileLocation = / home / dior / cutecom.log
Протокол = 0
SendingStartDir = / home / dior
WindowGeometry = @ Rect (331299 911 561)
session = По умолчанию

[сеансы]
1 \ BaudRate = 74880
1 \ DataBits = 8
1 \ Устройство = / dev / ttyUSB0
1 \ FlowControl = 0
1 \ History = AT
1 \ OpenMode = 3
1 \ Четность = 0
1 \ StopBits = 1
1 \ name = По умолчанию
1 \ showCtrlCharacters = ложь
1 \ showTimestamp = ложь
size = 1  

Я отключил вывод времени и спецсимволов:

  ets 8 января 2013 г., первая причина: 2, режим загрузки: (3,7)

нагрузка 0x40100000, лен 2408, комната 16
хвост 8
chksum 0xe5
нагрузка 0x3ffe8000, лен 776, комната 0
хвост 8
chksum 0x84
нагрузка 0x3ffe8310, лен 632, комната 0
хвост 8
chksum 0xd8
csum 0xd8

2-я версия загрузки: 1. 6
  Скорость SPI: 40 МГц
  Режим SPI: QIO
  Размер и карта SPI Flash: 8 Мбит (512 КБ + 512 КБ)
перейти к запуску user1 @ 1000

ВЧ-сектор: 249
рф [112]: 00
рф [113]: 00
rf [114]: 01

Версия SDK: 2.0.0 (5a875ba) скомпилирована @ 9 августа 2016 г. 15:12:27
версия phy: 1055, версия pp: 10.2

<0x02> hJ <0xd4>)  

<<< ESP8266-01 подключение USB-UART Ω ESP8266-01 к интерпретатору >>>

Контроллер Arduino Mega с ESP8266

В этой заметке я расскажу, о контроллере Arduino Mega, совмещенном с контроллером ESP8266.Для тестирования функционала этой платы, изготовленной в Китае, настоящей копии платы, изготовленной в Китае, используется нежели к оригиналу. Оригинал платы можно найти на сайте компании RobotDyn.

История покупки данной платы следующая. Для управления макетом железной дороги по протоколу DCC ++ мне понадобилась плата семьи Arduino. Сначала я выбрал микроконтроллер Arduino UNO и управлял поездами через виртуальный COM-порт компьютера (USB-порт), подключенного к микроконтроллеру. Но в начале 2017 года я нашел статью "Roco z21 на базе Arduino" в которой указывалось, что макетом можно управлять по Wi-Fi, если применяется плата Arduino Mega, совмещенная с контроллером ESP8266.

Итак, плата выполнена в размерах оригинального контроллера Arduino Mega. Контроллер ATmega2560 смещен в правую сторону, а в левой стороне расположен контроллер ESP8266. Над WiFi контроллером USB-разъем, который заменен с обычного Type-B на Micro-B, взаимодействие этого разъема с компонентами платы осуществляется через USB-TTL-конвертер Ch440G и DIP-переключатель из 8 контактов.Фотография платы представлена ​​ниже.


Переключатель режима USB-порт может находится в режимах, описанных в таблице ниже

1 2 3 4 5 6 7 8 RXD / TXD
USB изолирован --- --- --- --- --- --- --- --- 0
USB
<->
ATmega2560
--- --- ПО ПО --- --- --- --- 0
USB
<->
ESP8266 (прошивка)
--- --- --- --- ПО ПО ПО --- 0
USB <->
ESP8266 (работа)
--- --- --- --- ПО ПО --- --- 0
ATmega2560
<->
ESP8266
ПО ПО --- --- --- --- --- --- 0
USB
<->
ATmega2560
<->
ESP8266
ПО ПО ПО ПО --- --- --- --- 3

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

  • Сама плата Mega-WiFi.
  • Компьютер с операционной системой Windows.
  • Кабель USB-microUSB.
  • Драйвер USB-TTL конвертера Ch440.
  • Программная среда Arduino IDE (старые сборки можно скачать из архива версий).
  • Тестовые прошивки Arduino Mega и ESP8266.
  • Канцелярская скрепка.

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

После установки устройства указать в диспетчере устройств как USB-SERIAL Ch440 (COMx) . Надо найти это устройство и выписать номер виртуального COM-порта, к которому подключена плата, например COM4.

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

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

  1. Создать папку для своих проектов, например C: \ ArduinoProjects .
  2. Распаковать в папку проектов архив Arduino Mega и ESP8266.zip .
  3. Запустить программу Arduino IDE .
  4. Открыть Настройки через Файл -> Настройки .
  5. В поле Размещение папки скетчей указать C: \ ArduinoProjects .
  6. В поле Дополнительные ссылки для менеджера плат вписать
    http://arduino.esp8266.com/stable/package_esp8266com_index.json .
  7. Сохранить настройки, установку ОК .
  8. Открыть Менеджер плат через Инструменты -> Плата -> Менеджер плат .
  9. Найти в списке esp8266 by ESP8266 Comunity и установить пакет нужной версии, например 2.3.0.
  10. Закрыть программу Arduino IDE .

Чтобы проверить работоспособность контроллера ATmega2560 необходимо проделать следующие операции:

  1. С помощью скрепки переключить ползунки DIP-переключателя в положениях в таблице ниже.
    1 2 3 4 5 6 7 8 RXD / TXD
    USB
    <->
    ATmega2560
    --- --- ПО ПО --- --- --- --- 0
  2. Подключить плату к компьютеру с помощью USB-кабеля.
  3. Запустить программу Arduino IDE .
  4. Выбрать плату Arduino / Genuino Mega или Mega 2560 через
    Инструменты -> Плата -> Arduino / Genuino Mega или Mega 2560 .
  5. Выбрать COM-порт, который выписывали из Диспетчера устройств при установке драйвера платы, через
    Инструменты -> Порт -> COM4 .
  6. Открыть тестовую программу TEST_MEGA через Файл -> Папка со скетчами -> TEST_MEGA .
  7. Загрузить прошивку в контроллер Скетч -> Загрузка .
  8. После успешной загрузки прошивки в контроллер открыть Монитор порта через Инструменты -> Монитор порта .
  9. В Мониторе порта нужно выбрать скорость передачи в 115200 бод , после чего в окне монитора должно отображаться меню тестовой программы.
  10. В поле ввода команд Монитора порта нужно английскую букву "a" и нажать Отправить , в ответ на команду контроллер перейдет в режим мигания встроенным светодиодом в течении 20 секунд.
  11. В Монитор порта нужно отправить команду "b" - контроллер выдаст размер свободной памяти SRAM = 7873 и полный размер EEPROM памяти = 4096.
  12. В Монитор порта нужно отправить команду "c" - контроллер протестирует состояние выходов и выдаст таблицу с результатами. В таблице все выводы кроме 0, 1 и 13 должны быть в состоянии OK. На выводах 0, 1, 13 выявлены неисправности, так как 0 и 1 выводы заняты последовательным портом (UART), а на 13 выводе встроен встроенный светодиод.
  13. Все запускается - контроллер нужно отключить от USB-порта компьютера.

Чтобы проверить работоспособность контроллера ESP8266 необходимо проделать следующие операции:

  1. С помощью скрепки переключить ползунки DIP-переключателя в положениях в таблице ниже.
    1 2 3 4 5 6 7 8 RXD / TXD
    USB
    <->
    ESP8266 (прошивка)
    --- --- --- --- ПО ПО ПО --- 0
  2. Подключить плату к компьютеру с помощью USB-кабеля.
  3. В программе Arduino IDE выбрать плату WeMos D1 R2 & mini через Инструменты -> Плата -> WeMos D1 R2 & mini .

    Примечание. Рекомендованный в документации тип платы Olimex MOD-WIFI-ESP8266 (-DEV) не подходит.

  4. Проверить настройки контроллера в соответствии с рисунком.
  5. Открыть тестовую программу TEST_ESP8266 через Файл -> Папка со скетчами -> TEST_ESP8266 .
  6. В строки 7 и 8 программы вместо многоточий нужно вставить имя домашней сети WiFi и её пароль.
  7. Загрузить прошивку в контроллер Скетч -> Загрузка .
  8. После успешного отключения платы от компьютера.
  9. С помощью скрепки переключить ползунки DIP-переключателя в положения, используйте в таблице ниже.
    1 2 3 4 5 6 7 8 RXD / TXD
    USB <->
    ESP8266 (работа)
    --- --- --- --- ПО ПО --- --- 0
  10. Подключить плату к компьютеру с помощью USB-кабеля.
  11. С помощью Монитора порта посмотреть что выдает контроллер. Значения Chip Real Size (реальный размер памяти) и Chip Flash Size (размер памяти, выставленный при прошивке) должны быть одинаковыми.
    Необходимо выписать IP-адрес, который получил контроллер от Wi-Fi коммутатора.
  12. Проверка проведена - контроллер нужно отключить от USB-порта компьютера.

Чтобы проверить контроллеров взаимодействия ATmega2560 и ESP8266 необходимо проделать следующие операции:

  1. С помощью скрепки переключить ползунки DIP-переключателя в положениях в таблице ниже.
    1 2 3 4 5 6 7 8 RXD / TXD
    USB
    <->
    ATmega2560
    <->
    ESP8266
    ПО ПО ПО ПО --- --- --- --- 3
  2. Подключить плату к компьютеру с помощью USB-кабеля.
  3. В программе Arduino IDE выбрать плату Arduino / Genuino Mega или Mega 2560 через
    Инструменты -> Плата -> Arduino / Genuino Mega или Mega 2560 .
  4. Открыть тестовую программу TEST_MEGA-ESP через Файл -> Папка со скетчами -> TEST_MEGA-ESP .
  5. Загрузить прошивку в контроллер Скетч -> Загрузка .
  6. После успешной загрузки прошивки в контроллер открыть Монитор порта через Инструменты -> Монитор порта .
  7. Контроллер Arduino Mega должен считать данные с порта обмена данных с контроллером ESP8266 и выдать их в окно Монитора порта .
  8. Открыть в браузере страницу по IP-адресу, выданному в Мониторе порта .
  9. В отрытой по очереди нажимать на кнопки ON и OFF следить за состоянием светодиода, встроенного на плату.Светодиод должен включаться команду ON и выключаться команду OFF .
  10. Проверка проведена - контроллер нужно отключить от USB-порта компьютера.

Плату можно найти в интернет магазине RobotDyn, eBay или AliExpress по ключевым словам "ATmega2560 ESP8266 Ch440G". Цена на плату колеблется от 10 $ до 25 $ в зависимости от качества исполнения и жадности продавца. Я покупал плату на AliExpress за 11 $.

Еще один обзор платы можно прочитать по этой ссылке.

Программное обеспечение | Arduino-технология

Интегрированная среда разработки Arduino - или Arduino Software (IDE) - содержит текстовый редактор для написания кода, область сообщений, текстовую консоль, панель инструментов с кнопками для общих функций и ряд меню. С помощью IDE можно подключиться к платам программ Arduino и Genuino для загрузки.

Пишем скетчи

Программы

, написанные с использованием программного обеспечения Arduino (IDE), называются скетчами.Скетчи пишутся в текстовом редакторе и сохраняются в файле с расширением . ino. В редакторе есть функции для правки текста - вырезать, вставить, заменить, найти. Область сообщений дает обратную связь при сохранении и экспорте текста, а также отображает ошибки. Консоль отображает текст с помощью программного обеспечения Arduino (IDE), включая полные сообщения об ошибках и другую информацию. В нижнем углу окна отображается плата последовательный порт. Кнопки панели позволяют проверять и загружать программы, создавать, открывать и заставлять скетчи и открывать последовательный монитор.

Обращаем внимание, что версии программного обеспечения Arduino (IDE) до 1.0 сохраняли эскизы в файле с расширением .pde. Можно открыть эти файлы с помощью версии 1.0, при этом вам будет предложено сохранить скетч с расширением .ino при сохранении.

Дополнительные находятся в пяти меню: «Файл (Файл)» , «Правка (Редактировать)» , «Скетч (Эскиз)» , «Инструменты (Инструменты)» , «Помощь (Помощь) ». Это означает, что доступны только те элементы, которые относятся к выполняемой работе.

ФАЙЛ

  • Новый (Новый)
    Создает новый экземпляр редактора. При этом сразу создается минимально необходимая структура скетча.
  • Открыть (Открыть)
    Позволяет загрузить файл скетча, просматривая компьютерные диски и папки.
  • Недавно открытые (Недавно открытые)
    Показывает небольшой список недавно открытых скетчей.
  • Журнал скетчей (Sketchbook)
    Показывает текущие скетчи в ввиде структуры папок; что открывает соответствующее скетч в новом экземпляре редактора.
  • Примеры (Примеры)
    В этом меню отображается стандартная программа Arduino (IDE) или библиотекой. Все примеры структурированы в дереве, что позволяет легко найти подходящий пример по темам или библиотекам.
  • Закрыть (Close)
    Закрывает экземпляр программы, в котором выбран данный пункт меню.
  • Сохранить (Сохранить)
    Сохраняет эскиз с текущим именем. Если файл не был назван ранее, имя будет указано в окне «Сохранить как.. ».
  • Сохранить как (Сохранить как…)
    Позволяет сохранить текущий эскиз с другим именем.
  • Настройка страницы (Page Setup)
    Отображает настройки страницы для печати.
  • Печать (Print)
    Отправляет текущий эскиз на принтер в соответствии с настройками, заданными в разделе «Настройка страницы».
  • Настройки (Preferences)
    Открывает настройки, в котором можно установить некоторые параметры окна программы.Также позволяет установить параметры сетевого интерфейса.
  • Выход (Выход)
    Закрывает все окна IDE. Те эскизы, которые были открыты при нажатии «Выход», будут автоматически открыты при запуске следующего IDE.

ПРАВКА

  • Отменить / вернуть (Отменить / Вернуть)
    Возвращает на один или несколько шагов назад или вперед, которые вы делали во время редактирования. Кнопка вернуть становиться активной.
  • Вырезать (Cut)
    Удаляет выделенный текст из редактора и помещает его в буфер обмена.
  • Копировать (Copy)
    Копирует выделенный текст в редакторе и помещает его в буфер обмена.
  • Копирует для форума ( Копия для форума)
    Копирует код вашего эскиза в буфер обмена в форме, подходящей для публикации на форуме. Синтаксис будет соответственно подсвечен.
  • Копирует как HTML (Копирует как HTML)
    Копирует код вашего эскиза в буфер обмена в формате HTML, подходящем для встраивания в веб-страницы.
  • Вставить (Вставить)
    Вставить содержимое буфера обмена в позицию в редакторе.
  • Выделить все ( Выбрать все)
    Позволяет вместить все содержимое редактора.
  • Добавить / удалить комментарий ( Комментарий / Раскомментировать)
    Помещает или удаляет маркер комментария «//» в начале строки, где находиться курсор.
  • Увеличить / Уменьшить отступ (Увеличить / Уменьшить отступ)
    Добавить или убирает пробел в начале каждой выбранной строки, перемещая текст на одну позицию табуляции вправо или влево.
  • Поиск ( Find)
    Открывает окно «Найти и заменить», где вы можете указать текст для поиска внутри текущего эскиза в соответствии с выполнением.
  • Найти далее ( Найти следующее)
    Поиск элемента из окна «Найти и заменить» после места установки курса.
  • Найти предыдущее (Найти предыдущее)
    Поиск элемента из окна «Найти и заменить» до места установки курсаора.

СКЕТЧ

  • Проверить / Компилировать (Проверить / Компилировать)
    Проверяет ваш эскиз на ошибки компиляции.В области консоли при этом выводится размер используемой памяти для программы и чис.
  • Загрузка (Загрузить)
    Произведет компиляцию скетча и загрузку двоичного кода в указанную плату через соответствующий порт.
  • Загрузить через программатор (загрузить с помощью программатора)
    Произведена компиляция скетча и запись на плату через программатор. Для этого необходимо выбрать тип программатора.
  • Экспорт бинарного файла (Export Compiled Binary)
    Сохраняет файл.hex, который может храниться в архиве на компьютере. В дальнейшем он может установить Программу с использованием других инструментов.
  • Показать папку скетча (Показать папку скетча)
    Открывает текущую папку скетча, в которой хранится скетч и / или двоичный файл прошивки.
  • Подключить библиотеку (включить библиотеку)
    Добавляет библиотеку в ваш эскиз, вставляя инструкции #include в начале вашего кода. Для получения дополнительной информации см.Ниже библиотеки. Кроме того, из этого меню вы можете получить доступ к программным библиотекам и импортировать новые библиотеки из ZIP-архивов.
  • Добавить файл… ( Добавить файл…)
    Добавляет исходный файл в эскиз (он будет скопирован из местоположения). Новый файл появится на новой вкладке в окне эскиза. Файлы можно удалить из эскиза, используя меню вкладки, значок маленького треугольника в строке над полем программы

ИНСТРУМЕНТЫ

  • АвтоФорматирование (Автоформат)
    Производится автоматическое форматирование текста скетча.Текст программы становится удобочитаемым.
  • Архивировать скетч (Archive Sketch)
    Создается копия текущего эскиза в формате .zip. Архив размещается в том же каталоге, что и эскиз.
  • Исправить кодировку и перезагрузить (Fix Encoding & Reload)
    Исправить возможные расхождения между кодировкой символов редактора и кодировкой операционной системы.
  • Монитор порта (Serial Monitor)
    Открывает окно последовательного порта и инициирует обмен данным с любой подключенной к выбранной порту платой.Обычно это сбрасывает плату, если плата за сброс через последовательный порт.
  • Плата (Доска)
    Выберите систему, которую вы используете. Ниже приведены описания различных плат.
  • Порт (Порт)
    Это меню виртуальных последовательных устройств (реальные или виртуальные) на вашем компьютере. Список должен автоматически обновляться каждый раз при открытии меню инструментов.
  • Программатор (Программатор)
    Модуль выбирается программатор для программирования платы или чипа.При обычной работе программатор не нужен, но если необходимо записать Загрузчик в новый микроконтроллер, то программатор необходим.
  • Записать Загрузчик (Записать загрузчик)
    Элементы в этом меню позволяют записывать загрузчик в память микроконтроллера на плате Arduino. Это не требуется при обычном использовании плат Arduino или Genuino. Это нужно, если вы приобретаете новый микроконтроллер ATmega (который обычно поставляется без загрузчика). Убедитесь, что вы выбрали правильную плату в меню « Плата», прежде чем записывать загрузчик на новый МК.

ПОМОЩЬ
Здесь вы найдете легкий доступ к ряду документов, поставляемых с программным продуктом Arduino (IDE). Документы представьте собой локальную копию онлайн-ссылок.

  • Найти в справочнике (Найти в справочнике)
    Это единственная интерактивная функция меню «Помощь»: она непосредственно выбирает соответствующую страницу в стандартной копии справочника.

Альбом программ

Программное обеспечение Arduino (IDE) использует альбом программ (Sketchbook).Он представляет собой обычную папку в памяти вашего компьютера, в которой хранятся все ваши программы и эскизы программ. Эскизы в вашем альбоме можно открыть из меню «Файл»> «Папка со скетчами» или c помощью кнопки «Открыть» на панели инструментов. При первом запуске программного обеспечения Arduino каталог для вашего альбома создается автоматически. Вы можете посмотреть или изменить его местоположение с помощью диалогового окна «Настройки» .

Начало с версии 1.0, файлы сохраняются с расширением .ino. Предыдущие версии используют расширение . pde. Но вы все равно можете открыть файлы с расширением .pde в версии 1.0 и в более новых версиях, при этом программном обеспечении автоматически переименует расширение в .ino .

Вкладки, присоединение файлов, компиляция

Программное обеспечение позволяет управлять эскизами, которые содержат в себе несколько файлов. Каждый из файлов отображается на своей вкладке. Это могут быть обычные файлы кода Arduino (без видимых расширений), файлы C (расширение.c), файлы C ++ (.cpp) или файлы заголовков (.h).

Загрузка скетча

Перед загрузкой эскиза вам нужно выбрать правильные элементы в меню «Инструменты»> «Плата» и «Инструменты»> «Порт» . Применяемые системы поддержки ниже.

На MacOS последовательный порт будет, вероятно, что-то вроде /dev/tty.usbmodem241 (для Uno, Mega2560 или Leonardo) или /dev/tty.usbserial-1B1 (для Duemilanove или более ранних плат USB) или / dev / tty. USA19QW1b1P1.1 (для платы с помощью последовательным интерфейсом, подключенной с адаптера USB-to-Serial). В Windows обычно используют COM1 или COM2 (для платы с последовательным интерфейсом) или COM4 , COM5 , COM7 или выше (для платы с USB). Чтобы узнать, к какому порту подключено ваше устройство, нужно искать в Диспетчере Устройств Windows последовательное USB-устройство в разделе портов. В Linux это должно быть / dev / ttyACMx , / dev / ttyUSBx или подобное.После выбора правильного порта и платы нажмите «Загрузка» на панели инструментов или выберите пункт «Загрузка» в меню «Скетч» . Платы Arduino при загрузке скетча автоматически сбрасываются. При использовании старых плат (pre-Diecimila), которые не имеют автоматического сброса, вам нужно нажать кнопку сброса на плате непосредственно перед загрузкой. На большинстве случаев можно выполнить процесс загрузки программ в виде мигающих светодиодов RX и TX.После завершения загрузки программы Arduino Software (IDE) отображается сообщение, что загрузка прошла успешно или покажет сообщение об ошибке.

Когда вы загружаете эскиз, вы используете загрузчик (загрузчик) Arduino. Это небольшая программа, которая была загружена в память микроконтроллера на вашей плате. Он позволяет загружать код без использования какого-либо дополнительного оборудования. Загрузчик активен в течение нескольких секунд, пока плата сбрасывается. Затемает в работу скетч, последний записанный в память контроллера.При работе загрузчика начинает мигать светодиодный индикатор (вывод 13).

Библиотеки

Библиотеки дополнительную функциональность, которую можно использовать в своих программах. Например, работа со специфическим оборудованием или обработкой данных. Чтобы использовать библиотеку в эскизе, выберите ее в меню «Скетч»> «Подключить библиотеку» . Эта команда устанавливает один или несколько операторов #include в верхнюю часть эскиза и компилирует библиотеку с вашим эскизом.Библиотеки устанавливаются на плату вместе с эскизом. Если эскизу больше не нужна библиотека, нужно удалить инструкции #include из верхней части кода.

По ссылке есть список библиотек. Некоторые библиотеки включены в программное обеспечение Arduino. Другие могут быть загружены из разных источников или через Менеджер библиотек. Начиная с версии 1.0.5 IDE, вы импортируете библиотеку из zip-файла и использовать ее в вашем эскизе.Инструкции по установке сторонней библиотеки смотрите в этих инструкциях.

Чтобы написать свою собственную библиотеку, смотрите этот учебник.

Оборудование сторонних производителей

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

Подробнее о создании пакетов для сторонних аппаратных средств см. Спецификация оборудования сторонних производителей Arduino IDE 1.5.

Монитор порта

Он отображает последовательность данных, отправленных с платы Arduino или Genuino через USB или последовательный порт.Чтобы отправить данные на плату, введите текст и нажмите кнопку «Отправить» или нажмите «Ввод». В раскрывающемся меню выбирается скорость передачи, которая соответствует скорости, прописанной в Serial.begin в программе. Обратите внимание, что в Windows, Mac или Linux плата будет перезагружена (она запустит вашу программу заново) при подключении к монитору порта. Также необходимо обратить внимание, что монитор порта обрабатывает управляющие символы; если для вашего эскиза требуется полное управление последовательной связью с управляющими символами, вы можете использовать внешнюю программу-терминал и подключить ее к COM-порту, назначенному вашей плате Arduino.

Также вы можете обмениваться данными с платой с помощью Processing, Flash, MaxMSP и т. д. (Более подробно можно посмотреть на странице).

Настройки

Некоторые настройки могут быть выставлены в диалоговом окне настроек «Файл»> «Настройки» . Остальные можно найти в файле настроек, местоположение которого показано в диалоговом окне «Настройки».

Поддержка языков

Начало с версии 1.0.1, программное обеспечение Arduino (IDE) было переведено на многие языки мира.По умолчанию IDE использует язык, установленный вашей операционной системой. Если вы хотите вручную изменить язык, запустите программу Arduino (IDE) и выберите пункт «Файл»> «Настройки» . Найдите пункт «Язык редактора» и раскрывающееся меню со списком поддерживаемых языков. Выберите язык в меню и перезапустите нужное программное обеспечение. Если выбранный язык не поддерживается операционной системой, то программа после рестарта автоматически будет использовать английский язык.

Вы можете вернуть языковые настройки, используемую по умолчанию операционной системой. Для этого выбора в списке языков пункт «По умолчанию». Этот параметр вступает в силу при рестарте программного обеспечения Arduino (IDE). Таким же, после изменения настроек операционной системы, вы должны перезапустить программное обеспечение Arduino (IDE), чтобы обновить его нового языка по умолчанию.

Платы

При выборе платы в программе IDE Arduino мы обеспечем следующее: 1.Устанавливаем параметры, такие как скорость процессора и скорость передачи данных, используемые при компиляции и загрузке эскизов; 2. Устанавливаем предохранители-биты, используемую командой сжечь загрузчик. Многие предустановленные настройки плат различаются только предохранителями-битами, поэтому вы можете успешно загрузить программу в свою плату, выбрав другой тип платы в настройках, но при записи загрузчика нужно проверять выбранный тип платы. Таблицу сравнение между различными платами можно найти здесь.

Программное обеспечение Arduino (IDE) включает встроенную поддержку следующих плат, все на основе микроконтроллера AVR Core.Менеджер плат включает в себя стандартную установку и позволяет добавлять новые платные версии.

  • Arduino Yùn
    Основа: ATmega32u4. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 12 аналоговых входов, 20 цифровых входов / выходов, 7 ШИМ.
  • Arduino / Genuino Uno
    Основа: ATmega328P. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 6 аналоговых входов, 14 цифровых входов / выходов и 6 ШИМ.
  • Arduino Diecimila или Duemilanove w / ATmega168
    Основа: ATmega168. Работает на частоте 16 МГц с автоматическим сбросом.
  • Arduino Nano w / ATmega328P
    Основа: ATmega328P. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 8 аналоговых входов.
  • Arduino / Genuino Mega 2560
    Основа: ATmega2560. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 16 аналоговых входов, 54 цифровых входа / выхода и 15 ШИМ.
  • Arduino Mega
    Основа: ATmega1280. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 16 аналоговых входов, 54 цифровых входа / выхода и 15 ШИМ.
  • Arduino Mega ADK
    Основа: ATmega2560. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 16 аналоговых входов, 54 цифровых входа / выхода и 15 ШИМ.
  • Arduino Leonardo
    Основа: ATmega32u4. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 12 аналоговых входов, 20 цифровых входов / выходов и 7 ШИМ.
  • Arduino / Genuino Micro
    Основа: ATmega32u4. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 12 аналоговых входов, 20 цифровых входов / выходов и 7 ШИМ.
  • Arduino Esplora
    Основа: ATmega32u4. Работает на частоте 16 МГц с автоматическим сбросом.
  • Arduino Mini с ATmega328P
    ATmega328P. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 8 аналоговых входов, 14 цифровых входов / выходов и 6 ШИМ.
  • Arduino Ethernet
    Аналог Arduino UNO с экраном Ethernet: Основа: ATmega328P. Работает на частоте 16 МГц с автоматическим сбросом. Имеет 6 аналоговых входов, 14 цифровых входов / выходов и 6 ШИМ.
  • Arduino Fio
    Основа: ATmega328P. Работает на частоте 8 МГц с автоматическим сбросом. Аналог Arduino Pro или Pro Mini (3,3 В, 8 МГц) с ATmega328P. Имеет 6 аналоговых входов, 14 цифровых входов / выходов и 6 ШИМ.
  • Arduino BT w / ATmega328P
    Основа: ATmega328P.Работает на частоте 16 МГц. Встроенный загрузчик (4 КБ) содержит код для инициализации встроенного модуля bluetooth. Имеет 6 аналоговых входов, 14 цифровых входов / выходов и 6 ШИМ.
  • LilyPad Arduino USB
    Основа: ATmega32u4. Работает на частоте 8 МГц с автоматическим сбросом. Имеет 4 аналоговых входа, 9 цифровых входов / выходов и 4 ШИМ.
  • LilyPad Arduino
    Основа: ATmega168 или ATmega132. Работает на частоте 8 МГц с автоматическим сбросом.Имеет 6 аналоговых входов, 14 цифровых входов / выходов и 6 ШИМ.
  • Arduino Pro или Pro Mini (5 В, 16 МГц) с ATmega328P
    Основа: ATmega328P. Работает на частоте 16 МГц с автоматическим сбросом. Аналог Arduino Duemilanove или Nano с ATmega328P. Имеет 6 аналоговых входов, 14 цифровых входов / выходов и 6 ШИМ.
  • Arduino NG или позднеее с ATmega168
    Основа: ATmega168. Работает на частоте 16 МГц без автоматического сброса. Имеет 6 аналоговых входов, 14 цифровых входов / выходов и 6 ШИМ.
  • Arduino Robot Control
    Основа: ATmega328P. Работает на частоте 16 МГц с автоматическим сбросом.
  • Arduino Robot Motor
    Основа: ATmega328P.

Добавить комментарий

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