Сообщество - Инженериум DIY

Инженериум DIY

634 поста • 5 565 подписчиков

Популярные теги в сообществе:

14

THE ONE CUBE. Дневник разработки. Сентябрь '26⁠⁠

Серия THE ONE CUBE

Коротко - перенес змейку на новый игровой движок, спроектировал печатную плату куба V1.5, победил автотайлинг, сделал мини-игру про подземелье с фонариком, придумал, где брать готовые игры (Flash, и это не шутка), полностью перенес ядро с ардуино на ESP-IDF, почти собрал лаунчер игр и переписал систему рендера.


ПРЕДИСЛОВИЕ

Для тех, кто видит меня впервые: я в одиночку разрабатываю The One Cube - мини игровую консоль в форме куба с 6 экранами. Внутри - ESP32, акселерометр, батарейка, карта памяти. Управление - наклонами и вращением самого куба.


ГЛАВА 1. НОВЫЙ ДВИЖОК И ЗМЕЙКА

Змейка переехала на новый движок. На вид тоже самое, но это принципиально другая реализация, чем раньше.

Движок пишется с нуля вместе с нейросетью GLM. Система видит весь проект в папке и сама правит файлы.

Движок почти доведен до кроссплатформенности: один и тот же код работает и на компе, и на кубе - куб в этой схеме просто ещё один "видеовыход".

Сложно разрабатывать что-то под есп32 с ИИ. Технические тесты оно пишет само, но картинку и железо проверить не может. Приходится перепрошивать куб каждый раз и смотреть на результат.

Так же сделал ревизию чужого опыта - разобрал около 40 папок с чужими движками и кодом игр, из каждой выписал, какие идеи стоит перенять.

И вообще, мне кажется, сам бы я такое никогда не сделал бы, даже учитывая что программист по образованию. А тут просто расписываешь системы / задачи и получаешь готовый результат за пару дней.


ГЛАВА 2. ПЛАТА ВЕРСИИ 1.5

В прошлых месяцах, когда я разрабатывал вторую версию кубика, была идея просто отказаться от железа первой версии, продав его "как есть". Но просто железо никому не нужно. А выбрасывать 60 экранов и 10 акселерометров жалко.

Так родилась V1.5: тот же один проц и тот же габарит, но плата переразведена заново, питание и часы реального времени взяты из второй версии, разводка экранов более аккуратная. Влез еще и вибромоторчик.

Да и по деньгам это заметно дешевле, чем сразу городить двухпроцессорный "бутер". Сначала обкатаю игры на этой версии железа, потом уже сделаю полноценную вторую версию.

И еще решил прикольнуться - шелкография на платах всё равно бесплатная. Сгенерил картинки и вставил в платы. Заодно и посмотрю, как будут выглядеть мелкие рисунки.

Китайцы на заводе, думаю, оценят такое творчество))

И ради экономии, закажу 2 платы как одну. Порезать - не проблема =)

И еще при проектировании плат очень важно их перегонять в 3D модель и смотреть как они сходятся между собой и другими частями изделия.

Это немного неудобно, приходится делать скриншот платы в EasyEDA и переносить как картинку на 3D модели.

Но главный факт в том, что когда перенес, увидел еще кучу ошибок)) Разъемы не сходились, элементы на плате задевали другую плату.. Хорошо что вовремя заметил.

Жаль все эти красивые рисунки будут заметны только при сборке, а потом всё перекроется экранами и корпусом =(


ГЛАВА 3. КАРТЫ И АВТОТАЙЛИНГ

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

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

Автотайлинг это по сути просто набор команд на основе ячейки и её соседей. Но при вайбкодинге и даже готовых исходниках, нейросети всё равно прям жутко тупят. Пока не объяснишь как ребенку алгоритм для каждого краевого случая, оно нормально не заработает.. Убил на это кучу времени, сжег дофига кредитов и пару раз уперся в лимиты.

Но в итоге всё таки получилось сделать генератор данжа на базе бесплатного тайлсета. Получилось в принципе неплохо, я считаю.

И чтобы было удобно работать с этими генерациями, сразу сделал формат вывода под программу Tiled.

Промежуточный результат

Промежуточный результат

Итоговый результат

Итоговый результат

И еще обнаружил прям жирнющий минус этих бесплатных тайлсетов, с чего просто сгорел.

Вот есть у нас набор картиночек 16*16 или 32*32 пикселя, обычно от 100+ элементов. И нигде не подписано, что это означает каждая иконка.

То есть для автотайлинга должна быть подпись каждой ячейки, например "земля слева стена справа" или "пустая земля" или "артефакт зелье". Пришлось разглядывать, как китаец в меме, каждый тайл и подписывать его назначение.

Даже существует свежее исследование, где ученые пытались через ИИ анализировать бесплатные тайлсеты.

Вот тут статья кстати

https://arxiv.org/html/2507.02941v2

То есть они так же вручную разметили каждую ячейку и сравнили с тем, как это распознает ИИ. Как я понял, результаты получились так себе.

НО, они выложили все свои наработки с подписями картинок в инет. Так что теперь у меня есть целая библиотека монстров и артефактов.

У меня прям навязчивая идея сделать свою Vampire Survivors на кубике. Как раз такие картиночки должны подойти.

Учитывая что у меня на кубе экраны 240*240, самую мелкая читаемая сетка это 15×15 (тайл 16×16). Далее уже получаются сетки 12×12 (20×20), 10×10 (24×24), 8×8 (30×30), 6×6 (40×40).


ГЛАВА 4. ПОДЗЕМЬЕ С ФОНАРИКОМ

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

Здесь я конечно намучался с ИИ. В обучающих данных видимо никто не делал игр на кубической консоли, и была постоянная путаница с поворотами и взаимодействиями объектов, переходящих между гранями.

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


ГЛАВА 5. FLASH

Вот полгода я разбирался с железом, писал драйвера экранов и тд и тп. А полноценных игр то на платформе нет..

И пришла идея - а вот раньше было множество браузерных игр. А может их можно как-то портировать.. И как оказалось, снова нейросети легко переваривают эти флеш-игры и переводят из скриптового языка в нормальный.

Плюс в этих играх кроме самого кода, много красивой графики, прописан сюжет, механики и тд..

Минусы в таком подходе тоже есть. Самая сложность - найти НОРМАЛЬНЫЕ игры из библиотеки 200 000 игр, а потом из них еще подобрать подходящие под мини экраны и управление наклонами.

Сюда неплохо должны встать 2D-игры с видом сверху / сбоку, лабиринты, логические задачки, сокобан (жанр "кладовщик"), кликеры и идл-игры. Пара десятков разнообразных игр точно должно набраться.

Вот несколько примеров:

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

Отдельно для ностальгирующих: программа Flashpoint - огромная библиотека флеш-игр. Можно сказать "FLASH - STEAM".


ГЛАВА 6. ЯДРО, ЛАУНЧЕР, 20 FPS

Еще чем удобен именно агентный ИИ с доступом к файлам - он может запускать скрипты, компилировать и проверять ошибки. Тем самым я быстро выкинул ардуино из проекта.

С лаунчером пришлось прям повозиться. То текст не работал, то меню раскладывалось криво. Даже побыл немного UI дизайнером, и нарисовал раскладку экранов.

Скорее всего система поменяется не раз, но главное получилось рабочее меню через перекаты куба.

И бонусом, еще раз вернулся к рендеру на экранах. Частично была переписана несущая библиотека во всем кубе. Не без косяков, конечно)))

Увидел, как выглядит рассинхронизация отправляемых на дисплей данных.

Жаль только получил всё те же 20FPS при отрисовке всех 6 граней. Быстрее железо не может ну никак.


ЧТО ДАЛЬШЕ?

Заказать и собрать платы V1.5. Домучать лаунчер и ядро (сейчас еще нет анимаций и других полезных штук).

И начать портировать игры.


Этот пост - компиляция записей из моего блога в тг, где я каждый день пишу о жизни и работе над всеми своими проектами. Кому интересно - загляните.

https://t.me/andreibesarabchannel


Прошлые посты:

Август '25 - LED CUBE. Дневник разработки. Август '25

Сентябрь '25 - THE ONE CUBE. Дневник разработки. Сентябрь '25

Октябрь '25 - THE ONE CUBE. Дневник разработки. Октябрь '25

Ноябрь '25 - THE ONE CUBE. Дневник разработки. Ноябрь '25

Зима '25 + Лето '26 - THE ONE CUBE. Дневник разработки. Зима '25 + Лето '26

Показать полностью 35 2
1418

Не нашёл насос-дозатор, который непрерывно подаёт 1 мл/мин с дозой в мг/л, и напечатал свой⁠⁠

Собираю электронику насоса-дозатора

Я занимаюсь промышленной водоподготовкой. Сейчас у нас исследовательский проект: изучаем методы предочистки высокоминерализованной воды. Пробуем разные коагулянты и флокулянты, меняем дозы и градиенты перемешивания. Каждый режим держим около двух часов, потом отбираем пробы и сравниваем результат.

Для такого исследования нужен точный перистальтический насос-дозатор на маленький расход: реагент идёт в воду непрерывно, доза задаётся в мг/л, подача 1–13 мл/мин. Если подача плавает, непонятно, что сработало — реагент или случайность. Реагентов два, коагулянт и флокулянт, значит, нужно два канала.

Недорогие дозаторы для аквариумов работают по таймеру: включились, быстро выдали порцию, встали. А мне нужно качать непрерывно, с заданной скоростью от 0,5 до 30 мл/мин и с дозой в мг/л. Лабораторные насосы так умеют, но стоят около 24 000 ₽ за канал. Открытые проекты с Thingiverse я тоже пробовал: напечатал несколько. Ни один не заработал на моей трубке без переделки.

Ладно, думаю, нарисую сам.

Вот что получилось. Головка напечатана, мотор — обычный NEMA17 от 3D-принтера

Корпус 118 × 88 × 99 мм. На лицевой панели тумблер и индикатор «Работа». Корпуса ставятся друг на друга: один насос — один канал.

Внутри головки ротор с тремя роликами. Каждый ролик — два подшипника 623. Ролики пережимают силиконовую трубку и гонят раствор. Раствор касается только трубки, так что головку не нужно промывать.

Головка в разобранном виде: крышка, ротор, вкладыш, корпус, мотор

Так ролики перегоняют раствор — анимация модели:

Всё печатается из PETG. Головка — около 47 г пластика, корпус для электроники — ещё около 150 г.

Печатается лицевая панель корпуса

Первый насос жил на столе: провода наружу, вода из стакана.

Отладка. Насос качает воду из стакана, электроника пока снаружи

Электроника стоит в отдельном печатном корпусе: плата ESP32, драйвер TMC2209 на плате-адаптере и разъёмы. Провода идут с готовыми разъёмами, паять почти ничего не нужно.

Управляет насосом ESP32 через драйвер TMC2209. Экрана нет: насос раздаёт свой Wi-Fi, подключаюсь телефоном, и открывается приложение. Ввожу дозу в мг/л, расход воды и концентрацию раствора — насос сам считает мл/мин. Калибрую мерным цилиндром прямо из приложения.

Режим «Доза»: 5 мг/л при 30 л/ч и растворе 5 г/л — насос ставит 0,50 мл/мин

Калибровка — тоже в приложении: опускаю трубку в мерный цилиндр, ввожу объём, насос пересчитывает коэффициент.

Первый насос качал, но ниже 4 мл/мин подавал меньше, чем задано, а по трубке шёл пузырь воздуха.

Пережим трубки задаёт сменный вкладыш — полукольцо, в канавке которого лежит трубка. Первые вкладыши я рассчитал на пережим 5–20 %. Силиконовая трубка оказалась мягче, и ни один из них не закрывал её полностью. Пока трубку жмут два ролика, этого хватает. Остаётся один — и через неплотный пережим проходит воздух.

Тогда я напечатал вкладыши потуже. С пережимом 30 % насос ровно подаёт около 1 мл/мин, воздух больше не проходит. Вкладыш печатается 20 минут — ради этого я и делал пережим сменной деталью, а не намертво.

Трубка меняется за минуту: откручиваю четыре винта крышки.

Сейчас оба стоят на установке и уже неделю работают по 10–12 часов в день. Коагулянт — технический сульфат алюминия, раствор 12,5 г/л, 5–7,5 мл/мин. Флокулянт — раствор 0,015–0,05 г/л, 3,3–13,3 мл/мин. Проверяю мерным цилиндром — расход совпадает с заданным.

Насос на установке. Трубка в мерном цилиндре — так проверяю расход

Установка целиком: насосы подают коагулянт и флокулянт.

Чтобы трубка лежала правильно, напечатал ещё две детали. Скоба надевается на стенку ёмкости без клея и винтов. Трубка защёлкивается в канавку и не заламывается, а конец уходит под воду — нет капель и корки на кончике.

Заборник бросаю в канистру: внутри три нержавеющие гайки, поэтому он лежит на дне и не всплывает. Раствор заходит через щели на высоте 33 мм, осадок со дна не подсасывается. Разбирается поворотом, без ключей.

Делал под лабораторию, но насосу всё равно, что качать. Аквариумистам — удобрения и кальций для морского аквариума. В бассейн — корректор pH и хлор (для хлора нужна трубка PharMed). Пивоварам — сироп или добавки, с пищевой силиконовой трубкой.

Комплектующие на один насос вышли примерно в 5 100 ₽: мотор, драйвер, ESP32, блок питания, шесть подшипников, винты и около 200 г PETG.

Головка собирается за 9 шагов:

Рабочее место, где собирались насосы:

Приложение насоса можно попробовать прямо в браузере, насос там имитируется: dozator.sergey-kireev.ru/demo

Модели, прошивка и инструкция по сборке — на сайте: dozator.sergey-kireev.ru

Показать полностью 42 6
7

В 2026 г. какой лучший флюс из выгодных на примере 6-412-A?⁠⁠

Флюс, химия, пайка, #флюс, #химия, #пайка

Флюс, химия, пайка, #флюс, #химия, #пайка

Если зарубежные лучшее по отзывам Heraeus (ERSA которая перепродаёт) очень дорогой (для лёгких ремонтов) или в основном подделки типа Amtech NC-559-ASM-UV, то сравнивал кто как из ROM0 из самых современных составов RusFlux NRK-373-EXPERT? Ведь он более активный при условии условно безотмывочного, что даёт большую универсальность для всего, особенно самого частого ремонта SMD, в том числе ВЧ (паяльником и паяльным феном). Из описания с тремя активаторами: меди, никеля и цинка? А чтобы через полгода не пошло коррозии элементарно не забывать смывать. Или стоит брать ROL0, REL0. Ломаю голову между RO Союз-Аполлон 6-412-A, т.к. и он возможно вполне может справится, а если что плёнку с меди старых плат можно снять и механически. И странно почему самый современный состав RE Союз-1700 не очень (судя по отзывам на форумах, Ozon и т.п.), и если Союз-1700 дороже только из-за УФ, а для ремонтов, мне это лишнее, ведь он и так из *самых безотмывочных** L0, да и под чипом и т.п. не долезешь отмыть начисто, ещё и консистенция получается немного меньше, т.к. присутствует сколько-то грамм для УФ. Верны ли описанные нюансы и как на практике?

Флюс, химия, пайка, #флюс, #химия, #пайка

UPD:

Вместо Союз-1700, Союз-R, как более современного и соответственно технологичного

Показать полностью
2

Скутер из говна и палок⁠⁠

У вас есть 3 недели и лишние 5-10 тысяч рублей?

Тогда я советую вам попробовать сделать самодельный электроскутер. Современный, лёгкий, быстрый (32 км/ч максималка)

И да, мы лёгких путей не ищем и не пойдём покупать уже готовый чёрно-оранжевый kugo. И не купим б/у электроскутер у соседа за 10000р, где надо только заменить аккумуляторы и он поедет.

Итак, если вам действительно не жаль своего времени, то вот список того, что вам придётся купить или найти на свалке:

1. Гироскутер, а лучше два 1200-1500р*2 - донор моторколёс и аккумуляторов.

2. 1-2 контроллера blds для самоката примерно по 250-500 ватт (~750р*2) - на каждое моторколесо по контроллеру.

3. Металл/рама. Я закупил профиль 20*40, 20*20, 15*15 на 1500 рублей и сварил раму + электроды 300р.

4. Какое-то колличество велосипедных деталей вам понадобится найти. Например руль или амортизаторы. У меня они были бесплатными.

5. Корпус можно сделать из фанеры или жести. Жесть можно найти на металлоприёмке, строймаге или у себя во дворе, если у вас металлическая крыша. Я использовал дедовский конёк. Точнее обрезки. 0-1000р.

6. Электрика: кнопки, ручку газа, провода вам понадобится купить/найти 0-500р.

7. Комплект тормозов дисковых - 1500р.

8. Крепёж (болты, заклёпки, прессшайбы) - 500 рублей. Пока что я не успел заклепать корпус. Это надо делать после покраски.

9. Краска, ткань, паралон и прочая мишура - 0-500р. И да, я до сих пор не покрасил скутер и не сделал нормальную сидушку.

Короче, если вам интересно - лайкайте пост и подписывайтесь на ТГшечку https://t.me/filesDIY. И я обязательно расскажу, как строил это чудо техники.

Показать полностью 2
0

Нужен совет⁠⁠

Есть вот такие ручки, винтажные, красоты нечеловеческой. Задача- почистить, полачить, привести в товарный вид.
Шторка ключа крепится расклепаным пином. Чтоб всё по уму сделать, надо бы разобрать. Ломаю голову, как потом собрать всё взад в покрашеном виде.
Пин шторки около 3 мм, высота около 5 мм.
Накидайте мыслей пж

Показать полностью 2
14

THE ONE CUBE. 6D змейка на новом движке⁠⁠

Серия THE ONE CUBE

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

Вот тот самый пост - LED CUBE. Первая игра - 6D змейка

Теперь с современными нейросетями, получилось объединить кучу моих концепций, кусков кода в одном месте. И понемногу развивать свой игровой движок. Можно сказать, что сейчас это версия v0.1, но она уже работает.

Внутри Esp32 S3 N16R8 + microSD 32GB.

Экранов 240*240 пикс хватает, чтобы рассмотреть красивые текстуры фона. Дракончик и кристаллы не настолько хорошо различимы. Но это уже дело дизайна.

Спрайты дракончика выглядят так:

И яблоки - кристалики, одна форма разных цветов:

Чуть позже планирую сделать и другие игры, добавить менюшки и всё такое.

Впереди еще много работы.


Кстати, в моем TG-канале я пишу о продвижении этого проекта и других своих разработках

https://t.me/andreibesarabchannel

Показать полностью 8
38

Ткацкий станок на 3Д принтере V2⁠⁠

Серия 3D Печать

Не стал публиковать вчера чтобы не обделять вниманием компанию Эппл с их презентацией 🤡

Я заметил что прошлый вариант станка очень заинтересовал людей, на меня подписалось более ста человек (для моего маленького канальчика этого ого-го). Поэтому я решил вернуться к этому проекту повторно, переосмыслить конструкцию и внести доработки после испытаний ранее реализованного станка.

И так, что я переделал:

- В минимальной комплектации станок имеет всего одну продольную перекладину. Это облегчает конструкцию, удешевляет печать, радует глаз.

- Все валики и перекладины имеют два размерных варианта, что позволяет собрать станок под себя: более узкий/более широкий, более короткий/более длинный, можно сделать двойную продольную раму.

- Бердо (подвижная решетка), тоже, можно расширять. Еще я сделал уже ребра, что позволило в полтора раза увеличить количество "несущих" нитей

- Бегунок сделал более обтекаемым и со смещением щели для размотки нити, чтобы не цепляться за изделие во время ткания. В процессе использования понял что с такой стреловидной формой его можно пробрасывать из конца в конец и он не будет цепляться.

- На валиках сделал борозды чтобы нити не перепутывались и шли параллельно.

- Добавил дополнительные валики для натяжения и распределения нитей.

- Переделал блокировщики роликов, чтобы чтобы каждым было легко управлять одной рукой как для натяжения ткани так и для роспуска. При вращении в сторону натяжения они сами расщелкиваются, а в сторону расслабления блокируют проворачивание шестерни.

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

Следить за моими придумками и некоторые мои модели в STL можно скачать тут.

Показать полностью 3 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества