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...

Но светодиод не мигает.

, 👍1

Обсуждение

Ссылка на учебник недопустима. Пожалуйста, укажите действительную ссылку, @chrisl

@christl Извините, изменил, @krystof18


2 ответа


Лучший ответ:

1

Я не знаю, почему принимается приведенный ниже ответ, поскольку он явно не решает вопроса, но и дает ложную информацию. В этом ответе @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


3

Очевидно, что в настоящее время вы программируете 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