Страница 3 из 4

ESP32 программирование из FLProg.

Добавлено: 27.11.2019{, 04:34}
DrMario
Проблема в ФЛпроге, такой же результат на UNO

ESP32 программирование из FLProg.

Добавлено: 27.11.2019{, 06:07}
dsfbuy
DrMario, С ID всё оказалось проще.

ESP32 программирование из FLProg.

Добавлено: 27.11.2019{, 07:02}
DrMario
dsfbuy писал(а):
26.11.2019{, 13:00}
DrMario, Так компилирует ChipID = printf ("%04X",(uint16_t)(chipid>>32)) + printf ("%08X", (uint32_t) chipid);
Что вышло не проверял.
Вообще и так компилит без доп переменной:
ChipID = printf ("%04X",(uint16_t)(ESP.getEfuseMac()>>32)) + printf ("%08X", (uint32_t) ESP.getEfuseMac());
Надо проверять на мк, как будет работать.
Про функцию printf почитать - http://we.easyelectronics.ru/Soft/forma ... lerov.html
Спасибо за пинок в правильном направлении :smile9: Удалось самостоятельно исправить код блока, теперь идентификатор выводится в точности как в стандартном примере для ESP32.
385A0EC40A24 - строка из блока
ESP32 Chip ID = 385A0EC40A24 - строка из примера, и компилятор не ругается
Помогла подсказка от гуру
http://forum.amperka.ru/threads/%D0%A4% ... -uno.6066/

Отправлено спустя 10 минут 3 секунды:
dsfbuy писал(а):
27.11.2019{, 06:07}
DrMario, С ID всё оказалось проще.
Действительно все просто и хороший результат 385aec40a24. Сохранил себе блок как альтернативный, спасибо!
Пока писал свой пост не заметил Ваше сообщение .

Отправлено спустя 3 часа 55 минут 49 секунд:
Подобный костыль получился с блоком обновления прошивки по воздуху, поправил.

ESP32 программирование из FLProg.

Добавлено: 27.11.2019{, 19:11}
EgorKa
DrMario, если в PLPROG выбрать GPIO и присвоить ему PWM, то это не работает для ESP32. т.е. не копилируется, т.к. в IDE получаем код " analogWrite(0, 100); " .
PWM в ESP32 замудреный не как ардуино.

ESP32 программирование из FLProg.

Добавлено: 30.11.2019{, 21:13}
Evin
ecoins писал(а):
05.11.2019{, 12:28}
На ESP32 Serial1 использовать проблематично
Serial1 прекрасно работает с библиотекой HardwareSerial.h
Пробовал с пин12,13 и 26,27.
В IDE подключаем библиотеку и объявляем порт.
Далее в сетапе изменяем serial1 на порт который объявили. Прописываем необходимые настройки и пины, а в loop меняем serial1 на новый порт. Прошиваем esp32 и радуемся.

ESP32 программирование из FLProg.

Добавлено: 01.12.2019{, 12:18}
Ecomat
DrMario, уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.

ESP32 программирование из FLProg.

Добавлено: 01.12.2019{, 12:46}
DrMario
EgorKa писал(а):
27.11.2019{, 19:11}
DrMario, если в PLPROG выбрать GPIO и присвоить ему PWM, то это не работает для ESP32. т.е. не копилируется, т.к. в IDE получаем код " analogWrite(0, 100); " .
PWM в ESP32 замудреный не как ардуино.
Теперь будет работать, если заменить кастомный контроллер из первого поста и использовать новую версию FLProg. В прежней версии не было полноценной поддержки ESP32

Отправлено спустя 32 минуты 50 секунд:
Ecomat писал(а):
01.12.2019{, 12:18}
DrMario, уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.
Я даже не знаю чем Вам помочь. Попробуйте вот эти блоки, собирал от разных авторов.

ESP32 программирование из FLProg.

Добавлено: 01.12.2019{, 15:46}
Ecomat
Спасибо. Но и мои, и ваши не компилируются, либо работают, но без прерывания. Скоростной счетчик, штатный, работает с нормальным прерыванием. Все имеющиеся блоки не для ESP32. Все пробовал на 6.2.0

ESP32 программирование из FLProg.

Добавлено: 01.12.2019{, 16:05}
aidar_i
Вот эту библиотеку попробуйте

ESP32 программирование из FLProg.

Добавлено: 02.12.2019{, 12:39}
DrMario
Ecomat писал(а):
01.12.2019{, 12:18}
DrMario, уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.
Сделал блок, проверено на выводах 25, 26, 27

ESP32 программирование из FLProg.

Добавлено: 02.12.2019{, 19:40}
Ecomat
Большое спасибо! К сожалению, не могу до конца разобраться. Попробовал и на указанных Вами пинах, и на своих. Использую Энкодеры EC11, подтяжка 7,5 ком. До этого стояли конденсаторы по 100 nf, для устранения дребезга. Попробовал и с ними и без них. Работает, но очень медленно. В проекте, кроме энкодер,а оставил только OLED дисплей 0,96. Для вывода результата. Он конечно мешает, но если подключаю на любой из пинов, используемых для энкодера, скоростной счетчик, с прерыванием, то скорость "накрутки" очень высокая. А с этим блоком еле еле, и не всегда правильно определяет направление. У этого блока, на указанных пинах, происходит прерывание??

ESP32 программирование из FLProg.

Добавлено: 02.12.2019{, 19:46}
ingener
А нельзя ли отключить (программно или физически) ту часть контроллера ESP, которая занимается WiFi? Если оно не требуется. С целью снизить расход ресурсов и нагрев.

ESP32 программирование из FLProg.

Добавлено: 02.12.2019{, 20:28}
DrMario
Ecomat писал(а):
02.12.2019{, 19:40}
У этого блока, на указанных пинах, происходит прерывание??
Не лез в саму библиотеку, точно не могу сказать. Я использовал енкодер из набора, примерно такой https://ru.aliexpress.com/item/33039321 ... b201603_53
Там нет никаких конденсаторов. Кстати, сам енкодер может быть плохого качества. В одном из проектов сравнивал из набора и выпаянный из старого магнитофона. Так вот из магнитофона работал заметно лучше.
Пробуйте для начала на голом примере отладить. При нормальном енкодере не должно быть пропусков.

Отправлено спустя 2 часа 27 минут 38 секунд:
Попробуйте еще один вариант блока енкодера без кнопки. Библиотека ESP32Encoder использует аппаратную периферию счетчика импульсов ESP32
https://docs.espressif.com/projects/esp ... /pcnt.html

ESP32 программирование из FLProg.

Добавлено: 05.12.2019{, 14:22}
Ecomat
DrMario писал(а):
02.12.2019{, 22:55}
Попробуйте еще один вариант блока енкодера без кнопки.
Большое спасибо! Все работает. Вы использовали отправку и прием в UART для осуществления прерывания? Я пробовал то же самое делать с применением скоростного счетчика. То же летает, но полноценной работы не получил, т.к. направление счета не удавалось фиксировать. В результате подключил Ваш вариант, как в в прилагаемом файле. Дополнительно поделил на 2, так как в моем варианте энкодера он выдает два импульса на клик.
2019.12.05-1-макет ESP32 6.2.0 энкодер.flp
(743.86 КБ) 87 скачиваний

ESP32 программирование из FLProg.

Добавлено: 05.12.2019{, 16:06}
Vasiliy0000
Ecomat писал(а):
02.12.2019{, 19:40}
Большое спасибо! К сожалению, не могу до конца разобраться. Попробовал и на указанных Вами пинах, и на своих. Использую Энкодеры EC11, подтяжка 7,5 ком. До этого стояли конденсаторы по 100 nf, для устранения дребезга. Попробовал и с ними и без них. Работает, но очень медленно. В проекте, кроме энкодер,а оставил только OLED дисплей 0,96. Для вывода результата. Он конечно мешает, но если подключаю на любой из пинов, используемых для энкодера, скоростной счетчик, с прерыванием, то скорость "накрутки" очень высокая. А с этим блоком еле еле, и не всегда правильно определяет направление. У этого блока, на указанных пинах, происходит прерывание??
Если энкодер, к примеру 400 импульсов, то программно получается 1600 импульсов на оборот.
Я писал блок для себя сам. По тому как все что с библиотеками шлак.
Суть такая при смене с 0 на 1 либо при смене с 1 на 0 ( параметр change) нужно смотреть что на втором входе. Так же и со вторым входом. Офигенно считает и в плюс и в минус.
Rising falling работают не корректно, потому как при смене направления счета не учитываются некоторые импульсы.
В общем милиметрики на продукции плавали туда сюда.
Если интересно могу скинуть код или даже блок, только он для ардуино.

ESP32 программирование из FLProg.

Добавлено: 05.12.2019{, 20:17}
DrMario
Ecomat писал(а):
05.12.2019{, 14:22}
Большое спасибо! Все работает. Вы использовали отправку и прием в UART для осуществления прерывания?
Выводом приемника UART проверял обнуление счета блока енкодера

ESP32 программирование из FLProg.

Добавлено: 05.12.2019{, 21:06}
Ecomat
DrMario писал(а):
05.12.2019{, 20:17}
Выводом приемника UART проверял обнуление счета блока енкодера
Т.е. блоки записи и чтения из UART можно убрать?

ESP32 программирование из FLProg.

Добавлено: 06.12.2019{, 09:30}
DrMario
Да конечно

ESP32 программирование из FLProg.

Добавлено: 06.12.2019{, 16:36}
Ecomat
DrMario писал(а):
06.12.2019{, 09:30}
Да конечно
Евгений, спасибо! У вас нет такого же, но с перламутровыми... :) Простите шутка. Нужно ограничение счета вверх и вниз, минимум и максимум. Я слепил, из стандартных блоков, считает от 0 и до верхнего предела переменных. Пока достаточно. Но сделать ограничение вверх, без обнуления не получилось. :(

ESP32 программирование из FLProg.

Добавлено: 06.12.2019{, 17:01}
Sancho
Ecomat писал(а):
06.12.2019{, 16:36}
Нужно ограничение счета вверх и вниз, минимум и максимум. Я слепил, из стандартных блоков, считает от 0 и до верхнего предела переменных. Пока достаточно. Но сделать ограничение вверх, без обнуления не получилось.
Просто блоками:
СпойлерПоказать
screenshot_19-12-06_17-00-52.png
screenshot_19-12-06_17-00-52.png (7.29 КБ) 1787 просмотров