IOT / Esp32 / FreeRTOS / Arduino / stm32
800 subscribers
747 photos
133 videos
29 files
199 links
Копилка материалов по работе с микроконтроллером esp32 / stm32
Download Telegram
Рассказу про ещё покупку с «распродажи».

Купил себе на озоне:

- зажималку (крипер). 990 руб за комплект с коробкой из 600 деталек

- обжимку (клещи). 1440 руб по распродаже комплект с коробкой наконечников 1900шт. Сейчас без скидки цена 1021₽

Оба инструмента косят под книпекс.

Пользуюсь сегодня ими в первый раз. Всё прошло успешно 👨‍🏭. Обжатые провода на поделках дают +3 к серьёзности.
🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Таки зажёг экран.
Ох и попил он моей кровушки.

В процессе разборок я даже был годов добавить в проект на esp-idf библиотеку ардуино ради библиотеки их официального примера. Но у меня ничего не завелось, т.к. слишком свежая у меня esp-idf v5.3 и они вместе не дружат.

В итоге нашел другой проект,

https://github.com/Xinyuan-LilyGO/LilyGo-Display-IDF

который завёлся сразу и я с него потом куски кода переложил в свою поделку.

У меня уже была простенькая библиотека, которая на такие экраны позволяла выводить примитивы и текст. Но сколько не бился - ничего не получалось.

А секрет оказался прост - питание экрана выведено на отдельную ногу микроконтроллера.

Зато теперь в проекте стоит крутая библиотека управления изображениям lvgl, все возможности которой мне ещё предстоит постичь.

А самое главное - эта библиотека управляется через managed_components. Этой системе управления зависимостями до взрослых систем из других языков еще далековато. Но уже хотя бы какой-то шаг.
🔥3👍2
https://github.com/Xinyuan-LilyGO/LilyGo-Display-IDF/blob/master/main/power_driver.cpp

Вот это место которое включает питание экрана у этой доски.
👍5
Делать поделки из микроэлектроники для меня не является профессиональной деятельностью. Это хобби.

Но тем не менее кажется мне есть что сказать про процесс разработки ПО для устройств. Общаться по разработке проще показывая весь код проекта на гитхабе.

Учебник писать не собираюсь.
Хочется чтобы у тебя чуть что была возможность понять те вещи которые я делаю, повторить, скачать код и запустить.

Проект создал https://github.com/politsin/esp32-idf-demo
Media is too big
VIEW IN TELEGRAM
Писать код используя библиотеку ESP-IDF (вместо arduino) и подключать в свой проект прекрасные взрослые библиотеки написанные профессиональными дядьками - легко.

Сначала нужно создать проект:

0.1) будем использовать редактор VsCode (не будем использовать платформио и Ардуино-простигосподиIDE). Как скачать редактор и установить наверно разберёшься без меня

0.2) заранее скачал библиотеку с компонентами от дяди-руслана https://github.com/UncleRus/esp-idf-lib чтобы подключить её на этапе создания проекта. Я скачивал командой git-clone но можешь и просто её скачать архивом.

1) Ставим модуль esp-idf.
После установки он будет долго скачивать всё необходимое для работы. У меня он в нестандартных директориях, но можно согласиться на установку "по умолчанию" и ни о чём не думать.

2) Создаём новый проект.
Возьмём hello_world. Иногда я беру другие шаблоны когда хочу посмотреть как реализовывается работа с чем-то конкретным, например периферией, юартом, сохранением конфигурации, вайфаем и тп. Но для новых проектов проще взять hello_world

3) Собираем, прошиваем, видим отладочную информацию.

🥳🥳🥳🥳
Поздравляю, теперь ты можешь писать код используя ESP-IDF.

4) Добавляем .gitignore и коммитим всё на гитхаб https://github.com/politsin/esp32-idf-demo/tree/0.1.0
👍7🔥3
Media is too big
VIEW IN TELEGRAM
Следующим шагом немного причешем проект, чтобы было приятнее в нём дальше работать.

1) Установим Gemini / GoogleCode чтобы не писать код самому.
У меня уже авторизована запись, а тебе возможно придётся зайти в гугл, создать там учётку, что-то к чему-то привязать. Точно не помню что нужно делать чтобы оно заработало, но думаю ты разберёшься.

2) Нужно переименовать файл hello_world_main.c в main.cpp. Потому что будем писать на C++.
После переименования нужно проверить что в фале main/CMakeLists.txt также в SRCS указан main.cpp. Раньше сам менял, а тут поменялось само. Хз кто это делает, возможно модуль CMakeTools который в прошлом видео был установлен.

3) Удалим лишние файлы pytest_hello_world.py и sdkconfig.c

4) Создадим структуру файловой системы partitions.csv и в настройках указываем количество памяти в настройках.
В этом пункте я до конца не уверен что я делаю. Знаю лишь что нужно выделить место в котором в будущем планирую сохранять конфигурацию, которая будет жить после перезагрузки устройства. Если вдруг в вашей плате esp32 16М а не 4М памяти - с этим вопросом стоит разобраться плотнее.

5) Удалим лишний код в main.cpp и c божьей помощью ИИ создадим нашу первую таску в FreeRTOS которая будет максимально похожа на то к чему привыкли адепты ардуины.

Поздравляю!
Теперь у тебя есть первая "таска" loop в которй можно также писать код как в ардуино!
Внутри ардуино это выглядит также, только зачем-то главную функцию скрыли от программистов:

app_main(){
setup() // выполнится 1 раз
while (1) {
loop() // будет выполняться
}
}


Результат: https://github.com/politsin/esp32-idf-demo/tree/0.2.0

Предыдущие видео:
1) Стартуем с ESP-IDF
🔥4👍1😱1
В предыдущих сериях я заказал разный пластик от российских производителей.

Пластик нужен для бытовых нужд. Просто печатаю себе разные детальки. До этого брал пластик eSun, просто исторически так сложилось.

В моих задачах наш пластик для меня не отличим от еSun-овского. Дальше его и буду брать, и цена нравится и доставка послезавтра тоже радует.

Брал разных производителей, и сегодня пришла коробка которая не порадовала :( Просто катушка в бумажной коробке без герметичной плёнки и селикагеля. Этикетка распечатана струйником на обычной офисной бумаге.

Вот эти герои https://ozon.ru/t/VLRjda7
У них пластик не берите.

А вот где пластик норм:

Нит: https://ozon.ru/t/0dXl2BY

Самара: https://ozon.ru/t/YoARXdN

Синтех: https://ozon.ru/t/GRZLMz8

Сунлу: https://ozon.ru/t/YQkLyAl
👍4
Закрепил вертикально датчик потока, чтобы пузырьки выходили. А он сломался.

Ну раз сломался - время регулярной рубрики #распаковка

Открыл устройство - а там ломаться нечему. Крыльчатка с магнитом и датчик холла с резистором. Собрал обратно - всё ок, работает.

Выводы:
1) стабильно оно работает в положении как на последнем кадре - когда шип у крыльчатки смотрит вниз.

2) направление потока указано для тревожных сборщиков которые не уверены правильно ли они установили датчик. Оно одинаково работает в любую сторону.

3) если мы наливаем через этот датчик и не используем обратный клапан - водичка бежит обратно, крутит крыльчатку и щёлкает ногой. Выглядит это как перелив по инерции, но на самом деле это обратный ход воды.
🔥4
Обратный клапан от стеклоомывателя не понравился. Он заметно тормозит поток. Если использовать электромагнитный клапан, то обратный скорее лишняя деталь.
Сегодняшний проект выходного дня - крутилка шпильки M6

Ну, как говориться, «чем богаты 🤪»
Похвастаюсь последними приобретениями:

- приехали платки TTGO с экраном и 2мя кнопочками. 2180 за 3 шт или 637/шт. При такой цене это наверно будет моя основная плата для поделок. (730 c доставкой)

- пинцет титановый - 190 рублей. Лёгкий, симпатичный, удобный. Пользуюсь им чаще остальных.

- тефлоновая лента продается на WB, 259₽ за 2 метра.

- двухкомпонентный силикон. Также wb, 723₽

- куча батареек из вейпов, «буду использовать в своих проектах» (с)
🔥7