Контроллер arduino mega с esp8266



Контроллер 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 конвертер CH340G и 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 конвертера CH340.
  • Программная среда Arduino IDE (старые сборки можно скачать из архива версий).
  • Тестовые прошивки Arduino Mega and ESP8266.
  • Канцелярская скрепка.

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

После установки драйверов устройство отобразиться в диспетчере устройств как USB-SERIAL CH340 (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.

Чтобы проверить работоспособность контроллера 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.

Чтобы проверить работоспособность контроллера 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.

  • Открыть тестовую программу TEST_ESP8266 через Файл —>Папка со скетчами —>TEST_ESP8266.
  • В строки 7 и 8 программы вместо многоточий нужно вставить имя домашней WiFi сети и её пароль.
  • Загрузить прошивку в контроллер через Скетч —>Загрузка.
  • После успешной загрузки отключить плату от компьютера.
  • С помощью скрепки переключить ползунки DIP-переключателя в положения, указанные в таблице ниже.
    1 2 3 4 5 6 7 8 RXD/TXD
    USB
    ESP8266 (работа)
    ON ON 0
  • Подключить плату к компьютеру с помощью 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 и выдать их в окно Монитора порта.

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

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

    Источник

    Прошивка Arduino Mega 2560 R3 с интегрированным WiFi

    Это уникальная версия классической платы Arduino Mega R3. Полная интеграция микроконтроллера Atmel ATmega2560 и микросхемы Wi-Fi ESP8266 с 32 МБ (мегабит) флэш-памяти и преобразователем CH340G USB-TTL на одной плате! Все компоненты могут быть настроены для совместной или независимой работы.

    Режим работы выбирается с помощью встроенных DIP-переключателей:

    Переключение статуса и выбора режима:

    Режим работы 1 2 3 4 5 6 7 8
    CH340 подключен к ESP8266 (загрузка скетча) Выкл Выкл Выкл Выкл Вкл Вкл Вкл Не исп.
    CH340 подключен к ESP8266 (работа) Выкл Выкл Выкл Выкл Вкл Вкл Выкл Не исп.
    CH340 подключен к ATMEGA2560 (загрузка скетча) Выкл Выкл Вкл Вкл Выкл Выкл Выкл Не исп.
    CH340 подключен к ATMEGA2560 COM3 подключен к ESP8266 Вкл Вкл Вкл Вкл Выкл Выкл Выкл Не исп.
    ATMEGA2560 + ESP8266 Вкл Вкл Выкл Выкл Выкл Выкл Выкл Не исп.
    Независимая работа ATMEGA2560 и ESP8266 Выкл Выкл Выкл Выкл Выкл Выкл Выкл Не исп.

    Также есть переключатель для смены соединительного порта между ATmega2560 и ESP8266.

    После выбора режима работы платы можно приступить к настройке IDE

    Важно, чтобы при программировании модуля ESP8266 была нажата кнопка «Режим».

    Для начала откройте среду программирования Arduino IDE и перейдите в настройки

    Затем в окне, которое появляется в строке, URL-адреса диспетчера дополнительных досок (отмечены красным) вставьте ссылку

    для установки в Arduino IDE дополнительных сценариев, которые будут работать с модулями ESP8266. и нажмите ОК

    Затем перейдите в Tools -> Board -> Boards Manager

    В появившемся окне прокрутите список вниз до сценария esp8266 от сообщества ESP8266 и нажмите Install.

    В правом нижнем углу сможете выбрать версию программного обеспечения (2.1.0 самая новая версия на момент написания инструкции).

    После установки закройте окно и перейдите в Tools -> Board и увидите список доступных устройств на чипе программирования ESP8266

    Далее необходимо выбрать карту, как показано на рисунке (модуль Generic ESP8266)

    Источник

  • Adblock
    detector