IOT / Esp32 / FreeRTOS / Arduino / stm32
Похвастаюсь последними приобретениями: - приехали платки TTGO с экраном и 2мя кнопочками. 2180 за 3 шт или 637/шт. При такой цене это наверно будет моя основная плата для поделок. (730 c доставкой) - пинцет титановый - 190 рублей. Лёгкий, симпатичный, удобный.…
Внезапно узнал (из отзывов) что эти платки TTGO в корпусе "собираются" в устройсва для продажи лохам с названием Nerdminer https://nerdminers.com/
гитхаб проекта https://github.com/BitMaker-hub/NerdMiner_v2 можно прошить на платку, но мы такой хренью конечно не будем заниматься.
их даже можно купить на озоне и wb
😱😱😱
Вот такая вот бизнес идея) берём плату за 700р, продаём по 3k в корпусе 🤑 или даже на 12k рублей
ЗЫ: так внезапно канал из технического превратился в бизнес-секреты успешного успеха 🙃🙃🙃
гитхаб проекта https://github.com/BitMaker-hub/NerdMiner_v2 можно прошить на платку, но мы такой хренью конечно не будем заниматься.
их даже можно купить на озоне и wb
😱😱😱
Вот такая вот бизнес идея) берём плату за 700р, продаём по 3k в корпусе 🤑 или даже на 12k рублей
ЗЫ: так внезапно канал из технического превратился в бизнес-секреты успешного успеха 🙃🙃🙃
Nerdminers
Nerd Miners | Bitcoin Lottery Miners
Nerdminers supply the very best nerdmining hardware, preinstalled with the latest NerdMiner software. Buy Online Today with Card or Bitcoin.
🤣6🤩2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Если подать 23V на 12 вольный насос - будет в 2 раза быстрее 🏎️
🤩4🤔2
На картинках повторяемость сего мероприятия со счётчиком потока и электромагнитными клапанами.
1 деление - 5 мл.
4 налива послали в яблочко 🎯 , одна мимо с ошибкой в пол деления или ~1% (да простят меня метрологи за такой расчёт)
—
Ставлю себе за выполнение данного упражнения пятёрку 👊
Самое сложное и неочевидное - добавить «прокачку» системы на долгое нажатие кнопки. Открываются все клапаны, включаемся насос. Без этого действия воздух в непрокачанных канал сжимался и при выключении помпы с силой выбрасывался в шланг попался в счётчик потока, и тот отказывался нормально крутиться из-за пузырьков.
Пробовал обойти это решение по-разному, в итоге «прокачка» оказалась наилучшим решением.
1 деление - 5 мл.
4 налива послали в яблочко 🎯 , одна мимо с ошибкой в пол деления или ~1% (да простят меня метрологи за такой расчёт)
—
Ставлю себе за выполнение данного упражнения пятёрку 👊
Самое сложное и неочевидное - добавить «прокачку» системы на долгое нажатие кнопки. Открываются все клапаны, включаемся насос. Без этого действия воздух в непрокачанных канал сжимался и при выключении помпы с силой выбрасывался в шланг попался в счётчик потока, и тот отказывался нормально крутиться из-за пузырьков.
Пробовал обойти это решение по-разному, в итоге «прокачка» оказалась наилучшим решением.
Пару дней назад запаял енкодер, а он оказался не рабочим. Пришлось его выдрать и запаять новый.
А это значит что настало время для нашей регулярной рубрики #распаковка
Какие выводы:
1) корпус ни к какой из ног не подключен
2) кнопка
2 ноги рядом - это кнопка. Полностью отделённая электрически от всего остального.
3) енкодер
3 ноги рядом - это енкодер. Центральная нога у его - земля. Две одинарные лапки земли я отогнул вверх для наглядности. Они бегут по сплошному медному кругу.
4) плюс и минус енкодера бегут по «мельнице» из площадок. У них двойные лапки.
5) щелкает пружинка на металическом корпусе по пластмассовым рискам с обратной стороны мельницы
А это значит что настало время для нашей регулярной рубрики #распаковка
Какие выводы:
1) корпус ни к какой из ног не подключен
2) кнопка
2 ноги рядом - это кнопка. Полностью отделённая электрически от всего остального.
3) енкодер
3 ноги рядом - это енкодер. Центральная нога у его - земля. Две одинарные лапки земли я отогнул вверх для наглядности. Они бегут по сплошному медному кругу.
4) плюс и минус енкодера бегут по «мельнице» из площадок. У них двойные лапки.
5) щелкает пружинка на металическом корпусе по пластмассовым рискам с обратной стороны мельницы
🔥4❤1👍1🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
Обновил на 3д-принтере магнитный стол.
Сижу печатаю бенчи 👨🏫
Сижу печатаю бенчи 👨🏫
🔥5🤩1
Контакты зарядки попали в воду, окислились и свою функцию больше не выполняют.
Значит время традиционной рубрики #распаковка
Power Delivery зарядка для айфона выполнена на тонкой печатной плате.
Плата тонкая, площадки сделаны из толстых медных пластинок.
Значит время традиционной рубрики #распаковка
Power Delivery зарядка для айфона выполнена на тонкой печатной плате.
Плата тонкая, площадки сделаны из толстых медных пластинок.
🤩3
Media is too big
VIEW IN TELEGRAM
В предыдущих сериях:
- установили ESP-IDF
- создали первую таску loop как у ардуинщиков
Сейчас создадим ещё одну таску для работы с кнопочками.
Я использую плату TTGO-T-Display
Покупал на алике
Документация к ней есть на гитхабе
Сначала хотел с помощью запросов к ИИ всё создать, но по пути сорвался и сделал организацию кода и названия такими, с которыми привык работать.
Набор действий такой:
1) создаём файлы в папке task
2) добавялем папку "task" в инклюды CMakeLists.txt
3) добавляем файл task/buttonTask.cpp в SRCS CMakeLists.txt
4) в buttonTask.h должна быть функция такси
5) в buttonTask.cpp описываем саму задачу, в суть того что предложил ИИ я не вникал, позже это перепишем с использованием библиотеке
6) добавляем создание задачи в app_main
🥳🥳🥳🥳
Поздравляю, теперь ты можешь создавать FreeRTOS задачи которые будут лежать в отдельных файликах и их будет легко перекладывать из проекта в проект.
Структура средней задачи такая:
потом эту задачу останется вызывать в app_main()
7) Добавляем .gitignore и коммитим всё на гитхаб https://github.com/politsin/esp32-idf-demo/tree/0.3.0
- установили ESP-IDF
- создали первую таску loop как у ардуинщиков
Сейчас создадим ещё одну таску для работы с кнопочками.
Я использую плату TTGO-T-Display
Покупал на алике
Документация к ней есть на гитхабе
BUTTON1 35
BUTTON2 0
Сначала хотел с помощью запросов к ИИ всё создать, но по пути сорвался и сделал организацию кода и названия такими, с которыми привык работать.
Набор действий такой:
1) создаём файлы в папке task
2) добавялем папку "task" в инклюды CMakeLists.txt
3) добавляем файл task/buttonTask.cpp в SRCS CMakeLists.txt
4) в buttonTask.h должна быть функция такси
void buttonTask(void *pvParameter)
и "рукоятка" TaskHandle_t button
с помощью которой мы будем отправлять для этой здачи события 5) в buttonTask.cpp описываем саму задачу, в суть того что предложил ИИ я не вникал, позже это перепишем с использованием библиотеке
6) добавляем создание задачи в app_main
🥳🥳🥳🥳
Поздравляю, теперь ты можешь создавать FreeRTOS задачи которые будут лежать в отдельных файликах и их будет легко перекладывать из проекта в проект.
Структура средней задачи такая:
// назнвание задачи в консоли
static const char *TAG = "BUTTON";
// рукоятка задачи для передачи событий
TaskHandle_t button;
void buttonTask(void *pvParameter) {
// выполнится 1 раз, определим задержку 500мс
const TickType_t xBlockTime = pdMS_TO_TICKS(500);
// зададим переменную
uint32_t count = 0;
while (1) {
// будет выполняться всё время
ESP_LOGW(TAG, "task run! count = %ld", count++);
// пауза в задаче дял других дел
vTaskDelay(xBlockTime);
}
}
потом эту задачу останется вызывать в app_main()
extern "C" void app_main(void) {
// другой код
// вызываем buttonTask с рукояткой `button`
xTaskCreate(buttonTask, "button", 2048, NULL, 10, &button);
}
7) Добавляем .gitignore и коммитим всё на гитхаб https://github.com/politsin/esp32-idf-demo/tree/0.3.0
🔥6🤩1