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

Кастомный контроллер ESP32 Devkit V1 для версий 6.1

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

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

#41

Сообщение DrMario » 27.11.2019{, 04:34}

Проблема в ФЛпроге, такой же результат на UNO

dsfbuy
Сержант
Сообщения: 171
Зарегистрирован: 03.11.2018{, 12:40}
Репутация: 21
Откуда: Братск
Имя: Виктор

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

#42

Сообщение dsfbuy » 27.11.2019{, 06:07}

DrMario, С ID всё оказалось проще.
Вложения
ESP32_Chip_ID_(CODE).ubi
(9.45 КБ) 84 скачивания

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#43

Сообщение DrMario » 27.11.2019{, 07:02}

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_apWebUpdate_(CODE).ubi
Правильный блок на замену старого
(43.42 КБ) 92 скачивания
ESP32_Chip_ID_(CODE).ubi
Правильный блок на замену старого
(10.34 КБ) 104 скачивания

EgorKa
Сержант
Сообщения: 217
Зарегистрирован: 09.03.2019{, 17:49}
Репутация: 21
Имя: Egor

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

#44

Сообщение EgorKa » 27.11.2019{, 19:11}

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

Evin
Рядовой
Сообщения: 22
Зарегистрирован: 17.05.2019{, 14:14}
Репутация: 1
Имя: Константин

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

#45

Сообщение Evin » 30.11.2019{, 21:13}

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

Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02.07.2019{, 08:47}
Репутация: 0
Имя: Александр

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

#46

Сообщение Ecomat » 01.12.2019{, 12:18}

DrMario, уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#47

Сообщение DrMario » 01.12.2019{, 12:46}

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, уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.
Я даже не знаю чем Вам помочь. Попробуйте вот эти блоки, собирал от разных авторов.
Вложения
Encoder.ubl
(1.66 МБ) 111 скачиваний

Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02.07.2019{, 08:47}
Репутация: 0
Имя: Александр

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

#48

Сообщение Ecomat » 01.12.2019{, 15:46}

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

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 675
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#49

Сообщение aidar_i » 01.12.2019{, 16:05}

Вот эту библиотеку попробуйте

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#50

Сообщение DrMario » 02.12.2019{, 12:39}

Ecomat писал(а):
01.12.2019{, 12:18}
DrMario, уважаемый автор, пожалуйста, подскажите решение по Энкодеру. Не могу подобрать корректно работающий блок.
Сделал блок, проверено на выводах 25, 26, 27
Вложения
ESP32_Encoder_(CODE).ubi
(1.07 МБ) 95 скачиваний

Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02.07.2019{, 08:47}
Репутация: 0
Имя: Александр

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

#51

Сообщение Ecomat » 02.12.2019{, 19:40}

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

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

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

#52

Сообщение ingener » 02.12.2019{, 19:46}

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

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#53

Сообщение DrMario » 02.12.2019{, 20:28}

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 Encoder Pulse.flp
По сравнению с первым вариантом просто "летает".
(90.35 КБ) 128 скачиваний
WROOM Encoder.flp
(1.12 МБ) 125 скачиваний

Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02.07.2019{, 08:47}
Репутация: 0
Имя: Александр

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

#54

Сообщение Ecomat » 05.12.2019{, 14:22}

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

Vasiliy0000
Рядовой
Сообщения: 44
Зарегистрирован: 22.09.2018{, 11:19}
Репутация: 1
Имя: Василий

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

#55

Сообщение Vasiliy0000 » 05.12.2019{, 16:06}

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

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#56

Сообщение DrMario » 05.12.2019{, 20:17}

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

Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02.07.2019{, 08:47}
Репутация: 0
Имя: Александр

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

#57

Сообщение Ecomat » 05.12.2019{, 21:06}

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

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

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

#58

Сообщение DrMario » 06.12.2019{, 09:30}

Да конечно

Ecomat
Рядовой
Сообщения: 35
Зарегистрирован: 02.07.2019{, 08:47}
Репутация: 0
Имя: Александр

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

#59

Сообщение Ecomat » 06.12.2019{, 16:36}

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#60

Сообщение Sancho » 06.12.2019{, 17:01}

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 КБ) 1697 просмотров
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ответить

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