Arduino UNO со встроенным ESP2866 wifi не работает правильно
Я купил эту "подделку" Arduino UNO со встроенным модулем ESP 2866 wifi. Но я не могу заставить его работать. Я следовал этому учебнику, потому что это тот же продукт, что и у меня, но я все равно не могу заставить его работать - даже мигание со светодиодом не работает. Есть ли у кого-нибудь опыт работы с этой точной (или подобной) платой с интегрированным ESP2866? Буду очень рад любой помощи. ссылка на продукт. Если вам нужно знать что-нибудь еще, я постараюсь ответить на него.
Моя проблема:
Плата обычно загружается в IDE, и я могу отправить на нее код. Но после того, как я это сделаю, я получу это:
Executable segment sizes:
IROM : 228624 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 26756 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1248 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 688 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 24880 ) - zeroed variables (global, static) in RAM/HEAP
Sketch uses 257316 bytes (24%) of program storage space. Maximum is 1044464 bytes.
Global variables use 26816 bytes (32%) of dynamic memory, leaving 55104 bytes for local variables. Maximum is 81920 bytes.
esptool.py v2.8
Serial port COM6
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 2c:f4:32:44:1f:0b
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Erasing flash (this may take a while)...
Chip erase completed successfully in 8.7s
Compressed 261472 bytes to 193136...
Wrote 261472 bytes (193136 compressed) at 0x00000000 in 17.0 seconds (effective 122.9 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Но светодиод не мигает.
@krystof18, 👍1
Обсуждение2 ответа
Лучший ответ:
Я не знаю, почему принимается приведенный ниже ответ, поскольку он явно не решает вопроса, но и дает ложную информацию. В этом ответе @chrisl предположил, что мигающий зеленый светодиод-это то, что было запрограммировано с помощью sketch, но если вы откроете sketch, используемый в этом видео, и прочтете комментарии в исходном коде, то это заблуждение станет очевидным: на самом деле красный RX LED-это то, что было запрограммировано.
Эта плата имеет два независимых чипа: ATmega328P и ESP8266, а встроенный светодиод ESP8266 сочетается со светодиодом RX. Поэтому, когда вы мигаете светодиодом ESP8266, вы мигаете светодиодом RX. И именно это обмануло большинство людей, отвечающих здесь, так как они смотрели на зеленый мигающий светодиод, который управляется ATmega328P. Сказав это, я также должен признать, что у меня нет решения для оригинального вопроса, и я не знаю, почему это не работает для @krystof18, но в видео это явно работает.
ОТРЕДАКТИРОВАНО:
TL/DR:
Не используйте LED_BUILDIN
, но прикрепите внешний светодиод и резистор к выводам ESP GPIO. Измените скетч, чтобы использовать правильный пин и загрузить его, пока включены переключатели 5,6 и 7. Затем отсоедините плату и выключите выключатель 7. Затем вы должны снова включить питание платы, и она должна работать.
Длинное объяснение:
У меня есть плата, визуально похожая на ту, что есть в видеоуроке, который вы опубликовали, но для меня пример мигания не работает, вероятно, потому, что светодиод подключен к какому-то другому контакту, а не к #defined
for LED_BUILDIN
. Но мне удалось заставить его работать, используя этот учебник! Смотрите с 5:58. (Пожалуйста, обратите внимание, что это видео написано на языке, которого я не понимаю и понятия не имею, что это за язык, но само видео настолько очевидно, что вам в принципе не нужно понимать, что говорит этот парень).
В основном в этом уроке это просто пример мигания, но с использованием внешнего светодиода, а не встроенного. Если вы посмотрите на свою плату, то вы можете найти 4x3 бар контактов, расположенных рядом с 0, 1 и 2 цифровыми контактами Arduino. Этот бар помечен как "ESP pins", и это то, что написано: ESP8266 pins. Этикетки контактов находятся на обратной стороне платы.
Итак, этот парень в видео просто подключает контакты GPIO16 и GND к светодиоду с резистором, а затем модифицирует оригинальный пример blink, чтобы использовать 16 вместо LED_BUILDIN
. Затем он загружает его на свою плату с включенными переключателями 5,6 и 7. Затем он отключает плату и выключает переключатель 7, так что включены только переключатели 5 и 6. Затем он снова подключает плату, и она работает!
Я попробовал его, и он работает для меня, ура!
Кроме того, если кто - нибудь может сказать мне, на каком языке этот парень говорит в видео-учебнике, который я опубликовал-мне просто любопытно! :)
Похоже, у вас больше знаний, чем у меня в этой теме, так что знаете ли вы, как мне объединить эти две фишки? И в лучшем случае даже передавать небольшой объем данных?, @krystof18
Я купил эту плату UNO со встроенным ESP286 недавно и все еще пытаюсь понять, как правильно с ней работать. Мне удалось успешно загрузить скетч для ATmega328 с надлежащей настройкой переключателя, как указано в таблице, приведенной в ответе выше, но когда я переключаюсь на USB->обновление скетча ESP8266, то кажется, что он загружен нормально, но тогда просто не работает :( Я продолжу свои усилия и дам вам знать, если я добьюсь успеха., @Andrew
Эй, @krystof18, мне удалось заставить его работать и отредактировать свой оригинальный ответ! Надеюсь, это сработает и для вас тоже! Пожалуйста, дайте мне знать., @Andrew
Я знаю, что прошло много времени, но у меня было много дел, и сегодня у меня наконец-то нашлось для этого время, и я хотел бы вас поблагодарить, сейчас это тоже работает на меня. Вы нашли способ перенести, например, массив (или как он называется в среде IDE Arduino) на чип atmega? Большое спасибо за второй раз. Кстати, язык индонезийский, согласно переводчику Google., @krystof18
Очевидно, что в настоящее время вы программируете ESP8266, а не Atmega328p. На плате, похоже, есть DIP-переключатели. С их помощью можно контролировать, какая микросхема к какой подключена. Описание продукта имеет следующую таблицу
Connection DIP
1 2 3 4 5 6 7
ATmega328<->ESP8266 ON ON OFF OFF OFF OFF OFF
USB <->ATmega328 OFF OFF ON ON OFF OFF OFF
USB<->ESP8266 (Update firmware or sketch) OFF OFF OFF OFF ON ON ON
USB<->ESP8266 (communication) OFF OFF OFF OFF ON ON OFF
All independent OFF OFF OFF OFF
Если вы хотите запрограммировать Atmega328p на нем, вам нужно установить DIP-переключатели на комбинацию "USB < - > Atmega328". В настоящее время у вас, скорее всего, есть комбинация "USB<->ESP8266 (Обновление прошивки или скетча)", что означает, что ESP подключен к USB-чипу (а значит, и к ПК) для программирования. Для мигания светодиода ардуино buildin вам необходимо запрограммировать Atmega328p.
О скетче blink: В обучающем видео он программирует ESP. Но в примере с миганием он меняет время задержки на 5000, что означает время включения и выключения 5 секунд. Светодиод, на который он указывает, мигает намного быстрее, хотя он не обращается к этому. Я думаю, что у него на самом деле есть стандартный скетч мигания на Atmega, и он только делает вид (или просто не замечает), что это произошло из-за его программирования. Поскольку вы не видите мигания с ESP, но с Atmega, я бы предположил, что светодиод, помеченный буквой L, подключен только к Atmega (как на обычном Uno), а у ESP нет никакого светодиода для мигания. Так что на самом деле все работает так, как ожидалось, учебник был просто плохим в тот момент.
В учебнике он использует интерфейс USB <->ESP8266 и пример, который упоминается для ESP8266, я не думаю, что я ошибся в этом, но вы можете сказать лучше, если посмотрите учебник. Моя настройка переключателя 1,2,3,4-выключено 5,6,7-включено 8-выключено, @krystof18
То, что показано в этом учебнике, на самом деле не складывается. Он изменил задержку в скетче мигания ESP8266 на 5000. Это означало бы, что индикатор остается включенным на 5 секунд, затем гаснет на 5 секунд и повторяется. Светодиод в видео мигает намного быстрее. Я думаю, что у него стандартное мигание на Atmega328p, и теперь он говорит нам, что это его код изменений. Пожалуйста, попробуйте стандартный скетч мигания на Atmega328p. Тогда мы сможем проверить этот гипопихсис, @chrisl
Его рекламируют как UNO, но UNO в IDE не работает, какое устройство я должен выбрать для этого?, @krystof18
Что вы имеете в виду под "не работает"? Разве вы не можете загрузить в него? Вы изменили DIP-переключатели на "USB <->Atmega328"? Возможно, он поставляется без загрузчика. Затем вам нужно будет записать его на Atmega через интернет-провайдера (используя другой Arduino или программист интернет-провайдера). Или, может быть, у него есть старый загрузчик. Затем вам нужно выбрать соответствующую опцию в меню, @chrisl
Мой плохой, извините, что он работает, я просто неправильно его переключил, уже поздно :D И да, обычное мигание работает отлично, @krystof18
Кроме того, я заметил, что даже если я переключу переключатели, чтобы настроить их в учебнике и запустить ESP8266 blink, он мигает в промежутке, который я установил на обычное мигание, поэтому, я думаю, тоже ничего не мигало с его стороны., @krystof18
Индикатор ESP8266 мигает только в том случае, если к этому выводу ESP на плате действительно подключен светодиод. Скорее всего, у ESP просто нет подключенного светодиода, @chrisl
@krystof18 Я добавил небольшой абзац об этом в своем ответе, так как комментарии носят временный характер. Если вы считаете мой ответ правильным, вы можете отметить его как правильный., @chrisl
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Как подключить ESP8266 с помощью адаптера ESP-01 к Arduino Uno?
- Как установить связь между веб-камерой и Arduino UNO и получать прямую трансляцию на мобильном телефоне с помощью ESP8266?
- ESP8266 - Один сервер, отправляющий данные нескольким клиентам
- Могу ли я использовать выход 3,3 В Arduino напрямую к esp8266?
- Чтение данных из Google Таблиц с помощью Nodemcu
- Ошибка TIMEOUT при подключении ESP8266 к Arduino Uno
- Сервер Esp8266 недоступен. Порт не открывается
Ссылка на учебник недопустима. Пожалуйста, укажите действительную ссылку, @chrisl
@christl Извините, изменил, @krystof18