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

Контроллеры на основе ESP32
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

Сообщение DrMario »

Проблема в ФЛпроге, такой же результат на UNO
dsfbuy
Сержант
Сообщения: 172
Зарегистрирован: 03 ноя 2018, 12:40
Откуда: Братск
Имя: Виктор

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

Сообщение dsfbuy »

[ref]DrMario[/ref], С ID всё оказалось проще.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

Сообщение DrMario »

dsfbuy писал(а): 26 ноя 2019, 13:00 [ref]DrMario[/ref], Так компилирует 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 ноя 2019, 06:07 DrMario, С ID всё оказалось проще.
Действительно все просто и хороший результат 385aec40a24. Сохранил себе блок как альтернативный, спасибо!
Пока писал свой пост не заметил Ваше сообщение .

Отправлено спустя 3 часа 55 минут 49 секунд:
Подобный костыль получился с блоком обновления прошивки по воздуху, поправил.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09 мар 2019, 17:49
Имя: Egor

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

Сообщение EgorKa »

[ref]DrMario[/ref], если в PLPROG выбрать GPIO и присвоить ему PWM, то это не работает для ESP32. т.е. не копилируется, т.к. в IDE получаем код " analogWrite(0, 100); " .
PWM в ESP32 замудреный не как ардуино.
Evin
Рядовой
Сообщения: 25
Зарегистрирован: 17 май 2019, 14:14
Имя: Константин

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

Сообщение Evin »

ecoins писал(а): 05 ноя 2019, 12:28На ESP32 Serial1 использовать проблематично
Serial1 прекрасно работает с библиотекой HardwareSerial.h
Пробовал с пин12,13 и 26,27.
В IDE подключаем библиотеку и объявляем порт.
Далее в сетапе изменяем serial1 на порт который объявили. Прописываем необходимые настройки и пины, а в loop меняем serial1 на новый порт. Прошиваем esp32 и радуемся.
Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02 июл 2019, 08:47
Имя: Александр

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

Сообщение Ecomat »

[ref]DrMario[/ref], уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

Сообщение DrMario »

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

Отправлено спустя 32 минуты 50 секунд:
Ecomat писал(а): 01 дек 2019, 12:18 [ref]DrMario[/ref], уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.
Я даже не знаю чем Вам помочь. Попробуйте вот эти блоки, собирал от разных авторов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02 июл 2019, 08:47
Имя: Александр

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

Сообщение Ecomat »

Спасибо. Но и мои, и ваши не компилируются, либо работают, но без прерывания. Скоростной счетчик, штатный, работает с нормальным прерыванием. Все имеющиеся блоки не для ESP32. Все пробовал на 6.2.0
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Вот эту библиотеку попробуйте
[spoiler]https://github.com/igorantolic/ai-esp32 ... oderBasics[/spoiler]
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

Сообщение DrMario »

Ecomat писал(а): 01 дек 2019, 12:18 DrMario, уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.
Сделал блок, проверено на выводах 25, 26, 27
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02 июл 2019, 08:47
Имя: Александр

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

Сообщение Ecomat »

Большое спасибо! К сожалению, не могу до конца разобраться. Попробовал и на указанных Вами пинах, и на своих. Использую Энкодеры EC11, подтяжка 7,5 ком. До этого стояли конденсаторы по 100 nf, для устранения дребезга. Попробовал и с ними и без них. Работает, но очень медленно. В проекте, кроме энкодер,а оставил только OLED дисплей 0,96. Для вывода результата. Он конечно мешает, но если подключаю на любой из пинов, используемых для энкодера, скоростной счетчик, с прерыванием, то скорость "накрутки" очень высокая. А с этим блоком еле еле, и не всегда правильно определяет направление. У этого блока, на указанных пинах, происходит прерывание??
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

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

Сообщение ingener »

А нельзя ли отключить (программно или физически) ту часть контроллера ESP, которая занимается WiFi? Если оно не требуется. С целью снизить расход ресурсов и нагрев.
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

Сообщение DrMario »

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

Отправлено спустя 2 часа 27 минут 38 секунд:
Попробуйте еще один вариант блока енкодера без кнопки. Библиотека ESP32Encoder использует аппаратную периферию счетчика импульсов ESP32
https://docs.espressif.com/projects/esp ... /pcnt.html
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02 июл 2019, 08:47
Имя: Александр

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

Сообщение Ecomat »

DrMario писал(а): 02 дек 2019, 22:55 Попробуйте еще один вариант блока енкодера без кнопки.
Большое спасибо! Все работает. Вы использовали отправку и прием в UART для осуществления прерывания? Я пробовал то же самое делать с применением скоростного счетчика. То же летает, но полноценной работы не получил, т.к. направление счета не удавалось фиксировать. В результате подключил Ваш вариант, как в в прилагаемом файле. Дополнительно поделил на 2, так как в моем варианте энкодера он выдает два импульса на клик.
2019.12.05-1-макет ESP32 6.2.0 энкодер.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Vasiliy0000
Рядовой
Сообщения: 49
Зарегистрирован: 22 сен 2018, 11:19
Имя: Василий

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

Сообщение Vasiliy0000 »

Ecomat писал(а): 02 дек 2019, 19:40 Большое спасибо! К сожалению, не могу до конца разобраться. Попробовал и на указанных Вами пинах, и на своих. Использую Энкодеры EC11, подтяжка 7,5 ком. До этого стояли конденсаторы по 100 nf, для устранения дребезга. Попробовал и с ними и без них. Работает, но очень медленно. В проекте, кроме энкодер,а оставил только OLED дисплей 0,96. Для вывода результата. Он конечно мешает, но если подключаю на любой из пинов, используемых для энкодера, скоростной счетчик, с прерыванием, то скорость "накрутки" очень высокая. А с этим блоком еле еле, и не всегда правильно определяет направление. У этого блока, на указанных пинах, происходит прерывание??
Если энкодер, к примеру 400 импульсов, то программно получается 1600 импульсов на оборот.
Я писал блок для себя сам. По тому как все что с библиотеками шлак.
Суть такая при смене с 0 на 1 либо при смене с 1 на 0 ( параметр change) нужно смотреть что на втором входе. Так же и со вторым входом. Офигенно считает и в плюс и в минус.
Rising falling работают не корректно, потому как при смене направления счета не учитываются некоторые импульсы.
В общем милиметрики на продукции плавали туда сюда.
Если интересно могу скинуть код или даже блок, только он для ардуино.
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

Сообщение DrMario »

Ecomat писал(а): 05 дек 2019, 14:22 Большое спасибо! Все работает. Вы использовали отправку и прием в UART для осуществления прерывания?
Выводом приемника UART проверял обнуление счета блока енкодера
Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02 июл 2019, 08:47
Имя: Александр

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

Сообщение Ecomat »

DrMario писал(а): 05 дек 2019, 20:17 Выводом приемника UART проверял обнуление счета блока енкодера
Т.е. блоки записи и чтения из UART можно убрать?
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

Сообщение DrMario »

Да конечно
Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02 июл 2019, 08:47
Имя: Александр

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

Сообщение Ecomat »

DrMario писал(а): 06 дек 2019, 09:30 Да конечно
Евгений, спасибо! У вас нет такого же, но с перламутровыми... :) Простите шутка. Нужно ограничение счета вверх и вниз, минимум и максимум. Я слепил, из стандартных блоков, считает от 0 и до верхнего предела переменных. Пока достаточно. Но сделать ограничение вверх, без обнуления не получилось. :(
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

Ecomat писал(а): 06 дек 2019, 16:36 Нужно ограничение счета вверх и вниз, минимум и максимум. Я слепил, из стандартных блоков, считает от 0 и до верхнего предела переменных. Пока достаточно. Но сделать ограничение вверх, без обнуления не получилось.
Просто блоками:
[spoiler]
screenshot_19-12-06_17-00-52.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «ESP32»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя