Обновить
614.36

DIY или Сделай сам

Для тех, у кого руки растут из нужного места

Сначала показывать
Порог рейтинга
Уровень сложности

Световой будильник

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели3.3K

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

На протяжении нескольких лет, я сделал несколько версий светового будильника. Были разные корпуса, кнопки/энкодер, RTC, ATmega328P, ШИМ и/или с RGB светодиодами, галогенной лампой, без рассеивателя и они мне не понравились. Хотелось утром просыпаться без пульсаций света, как при восходе солнца.

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

После многих переделок часы синхронизируются с сервером времени, а будильник с восходом солнца редко когда меняется и настраивается со смартфона в локальной сети Wi-Fi на собственном сайте будильника. Остался только простой способ выключить будильник. Теперь это датчик жестов. Его не касается статическое электричество. Хотя и это не обязательно, т.к. будильник сам выключится через 7 минут. Это время для того чтобы дойти и включить свет в комнате или выйти из комнаты.

Код я разрабатывал множество раз, под разные способы управления светом и контроллеры. Выкладываю последнюю версию для ESP32-C6. Она самая успешная получилась.

Читать далее

Новости

Сказ о том как я пилил велосипед для домашнего видеонаблюдения. Часть вторая, технологическая

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели3.6K

В предыдущей части я привел ретроспективу эволюции своего подхода к созданию домашней системы видеонаблюдения. Финальным результатом этой эволюции стала идея создания собственного протокола для передачи видео потоков на основе WebRTC. О технических деталях этого протокола я и попытаюсь рассказать в этой части.

Читать далее

Как собрать простую двустороннюю мозаику из кубиков Рубика

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.4K

Девять цветных плиток на грани куба Рубика – это уже мозаика. Из девяти квадратов шести цветов можно собрать более 10 миллионов комбинаций разрешением 3х3 пикселя. Для каждой такой комбинации можно физически путем вращения граней собрать зеркальный паттерн в инверсивных цветах на противоположной стороне кубика (об этом я подробно рассказывал в статье о двусторонних паттернах и MDSI-методе). А если кубиков 4, 10, 100 или больше, то разрешение изображения становится всё выше, а мозаика всё выразительней. А используя MDSI-метод любую мозаику можно превратить в двустороннюю – подобно жаккардовой ткани, где изнаночная сторона является инверсией лицевой.

В этой статье я рассказываю, как начать эксперименты с простыми двусторонними мозаиками, где паттерн на кубике Рубика ограничивается двумя парами инверсивных цветов.

Собрать двустороннюю мозаику

Лазерный тир, версия 3.0 на ESP32

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели11K

Много-много лет назад делал я простенький лазерный тир с raspberry и камерой.

Технологии с тех пор сильно шагнули вперёд, и захотелось сделать новую, максимально дешёвую версию. В качестве основы взял ESP32 с камерой OV2640 — стоит около 5 евро на AliExpress. Серьёзно переживал за производительность, но её у этого малыша оказалось более чем достаточно. В нём два ядра: одно полностью отдано под обработку изображения, второе — под веб-сервер.

Идея следующая: 60 раз в секунду делаем снимок и ищем на нём пятно от лазера. Параллельно крутится веб-страничка, где на canvas рисуются мишень, попадания и очки. Поскольку полноценный OpenCV на ESP32 не запустить, всё сделано максимально просто. Камера выдаёт чёрно-белые JPEG-кадры, которые я распаковываю в пиксели и ищу те, что превышают порог яркости. Да, камера умеет работать и с RAW-форматами, но там есть нюанс — частота кадров в таком режиме ограничена примерно 15 FPS. А вот распаковывать JPEG «на лету» для ESP32 оказалось посильной задачей, и благодаря этому удалось выжать почти 60 FPS при разрешении 240×240. Для надёжности детектирования у камеры дополнительно задаётся смещение экспозиции.

Но просто найти пятно на картинке недостаточно — нужно сопоставить его с координатами мишени. И вместо того чтобы нагружать микроконтроллер сложной математикой, это можно переложить на пользователя. Поэтому предусмотрена разовая ручная калибровка: на отдельной странице в браузере нужно выбрать четыре маркера на изображении по часовой стрелке. По ним строится матрица обратного перспективного преобразования. Благодаря этому камера может смотреть на мишень под любым углом — математика всё компенсирует.

Читать далее

Строим свой остров: как создать минимальный Linux для Raspberry Pi

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели11K

Ещё три года назад меня просили рассказать, как собрать минимальный Linux для Raspberry Pi, — и сейчас я выполняю эту просьбу. Несмотря на то, что первоначальной целью Raspberry Pi было создание дешёвого устройства для обучения базовым навыкам программирования, информации о том как, создать минимальный Linux для Raspberry Pi в интернете немного. Я хочу восполнить этот пробел для желающих начать погружение в embedded-разработку.

Linux для встраиваемых систем, включая Raspberry Pi, и Linux для PC имеют ряд различий. Различия касаются используемых загрузчиков, платформо-зависимого кода ядра, файловых систем и прочего. Для встраиваемых систем большое значение имеет Board Support Package (BSP), который обычно сопровождает различные системы на кристалле (System on Chip — SoC) или одноплатные компьютеры (Single Board Computer — SBC).

Чтобы сделать статью интереснее и полезнее, я рассмотрю создание Linux для Raspberry Pi 3 и для Raspberry Pi 4 и укажу на различие этих одноплатных компьютеров в контексте загрузки и сборки ядра Linux. Также мы соберём и запустим downstream и upstream Linux-ядра для Raspberry Pi.

Под Raspberry Pi 3 и Raspberry Pi 4 подразумеваются модели Raspberry Pi 3 Model B и Raspberry Pi 4 Model B соответственно. А обе модели называются в статье Raspberry Pi.

Как и в моей прошлой статье по сборке Linux для PC собирать мы будем без использования Buildroot или Yocto Project, только сделаем его более практичным, так как он будет поддерживать работу с SD-картой.

Такие сборки минимального Linux без Buildroot и Yocto Project мне чем-то напоминают высадку на необитаемый остров, где вы вынуждены минимальным набором инструментов благоустраивать свою жизнь. Да, вашей жизни ничего не угрожает, но определённая закалка в виде полученных базовых знаний остаётся. Поэтому системе Linux, создаваемой в статье, я дал кодовое название Robinson Linux.

Я надеюсь, что после прочтения статьи вам будет гораздо проще собрать Linux для другого одноплатного компьютера, например, Orange Pi.

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

Читать далее

Banana Pi BPI-R3

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8K

Всем привет.

В поисках идеального роутера домой купил комплект "сделай сам" - Banana Pi BPI-R3. На маркетплейсах часто он идет без:
- блока питания
- корпуса
- антенн WiFi

Мне достался комплект с корпусом, без бп и антенн, по цене около 8.5 тр (к сожалению сейчас цена подросла уже), по соотношению цена/фичи он выглядит посимпатичнее готовых роутеров, как уже писал это конструктор, поэтому нужно быть готовым инвестировать свое время в него.

Читать далее

Будильник для зимы: как я подружил лампу Ильича, ZigBee и LLM

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7K

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

Причём бесит не сам факт пробуждения (я всё-таки взрослый человек и понимаю, что проекты сами себя не напишут), а то, как именно это происходит. Резко. Грубо. Без предупреждения.

TLDR: Собрал мощный потолочный светобудильник на ZigBee-диммере + лампы накаливания. Настроил через Tasmota с помощью LLM за один день вместо недели.

Подключить светобудильник к умному дому

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.3K

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

Читать далее

Прокачиваем LEGO-машинки с помощью Arduino

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели23K

В этой статье попробуем разобраться, почему игрушечные машинки за условные 1000р ездят лучше, чем серьезные модели из конструкторов с электрикой за 10000р, и что с этим можно сделать, если вы разбираетесь в Arduino.

Читать далее

Моя эконом-метеостанция из подручных материалов и пары батареек

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели16K

Привет, Хабр!

Пожалуй, одним из первых устройств, которые подключаются к умному дому (конечно, после модуля управления освещением), является домашняя метеостанция. Вот и мне на новом месте и в новом умном доме потребовалось реализовать данное устройство. Но есть одна проблема: находясь вдалеке от своей домашней лаборатории, я имею минимальный набор инструментов и лишен таких благ цивилизации, как лазерный мини-ЧПУ для изготовления плат и 3D-принтер. Поэтому для реализации проекта будем работать по старинке, в режиме жесткого DIY-хардкора (или «Очумелых ручек»). Впереди много картинок и термоклея, так что включайте ваши паяльники и поехали!

Читать далее

«Горячие колеса» с BLE

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели14K

Здравствуй, Хабр! В этой статье я хочу поделиться своим опытом модификации популярной машинки в масштабе 1/64. Цель модификации — сделать машинку радиоуправляемой. В качестве пульта управления будет использоваться android телефон. В статье рассмотрим три основных этапа: разработка встраиваемого программного обеспечения для управления приводом поворота колес и ходового мотора, проектирование шасси и приложение для телефона.

Читать далее

Голос и микроконтроллер ESP32

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели21K

Картинка: freepik.com - vecstock

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

В этой связи большинство идут самым простым путём: мигающие лампочки, светодиоды, мониторы разных мастей с выведением на них текстовой/графической информации…

Однако есть одна очень интересная тема, которую почему-то незаслуженно самодельщики обходят стороной — речь о микроконтроллерах!

Потому что, согласитесь, «мигание лампочек» — это, конечно, прекрасно и даже в некотором роде волшебно (особенно когда это происходит в первый раз в жизни и твоя программа наконец начинает работать :-) ). Но куда веселее, когда машина отвечает тебе голосом! :-) 

Поэтому посмотрим, какие здесь возможности имеются... 

Читать далее

Возможно ли сделать миниплоттер в тюрьме?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели11K

Хотели треш статью в новогодние выходные 26 года? Получайте. Киберпанк, который мы заслужили. Дисклеймер — в статье есть фото «изобретений», которые может быть для кого‑то сложно развидеть, поэтому впечатлительным лучше пройти мимо. Написать этот текст меня вдохновил американский сериал «Побег» (Prison Break, 2005-2017) с актёром Вентворт Миллером в главной роли (Адреналиновый триллер. Оценка 8.4 на Кинопоиске). Он там с помощью ложки, наколки и своих мозгов убежал из самой охраняемой тюрьмы в Соединённых штатах и ещё вытащил с собой сколько-то человек. Думаю, кто-нибудь из читателей Хабра даже и смотрел. Фильм так хорошо зашёл, что даже в России в 2010 году сняли свою версию с одноименным названием на русский манер. Получилось не очень, но речь не об этом. Я подумал, а что если бы мы в ограниченных условиях, получили задачу сделать некое инженерное устройство на современный манер. А? Ну, что например? Пусть это будет миниплоттер. Например, для реализации автокликера по экрану смартфона. Зачем не спрашивайте, это же фильм, тут логики искать не надо. Просто есть задача. Заморочимся?

Давай заморочимся

Ближайшие события

Как заработать на LLM, перестав писать «правильные промпты»

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели15K

В этой статье я бросаю вызов общепринятому представлению о больших языковых моделях как о «тупых исполнителях», которые ничего не понимают, галлюционируют, но позволяют получить результат быстрее (нередко за счет качества).

Подобные мифы активно распространяются в сети, а также на курсах, на которых обучают «правильно» писать промпты.

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

Читать далее

Симметрия кубика Рубика: MDSI-метод сборки зеркальных двусторонних инверсивных паттернов

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7.1K

Для большинства из нас кубик Рубика — это популярная головоломка; для спидкуберов — спортивный снаряд; для художников и дизайнеров — пиксельный строительный блок в кубических мозаиках. Но если посмотреть на классический кубик 3×3×3 как на механическую систему со своей симметрией и жёсткими ограничениями, он начинает вести себя как математическая модель. Несколько лет я экспериментировал со свойствами куба, собирая мозаики из кубиков Рубика, и в процессе разработал метод, позволяющий создавать двусторонние паттерны — когда на противоположных сторонах мозаики формируются зеркальные изображения в инверсивных цветах. Я назвал этот метод Mirror Dual-Sided Inverse (MDSI). С его помощью любую мозаику из десятков и сотен кубиков Рубика можно превратить в «кубическую ткань» с лицевой и изнаночной сторонами. В этой статье я расскажу, как работает MDSI-метод и на каких принципах он основан.

Собираем двустороннюю мозаику...

Автоотклики на hh.ru своими руками: когда API закрыт, выручит эмуляция интерфейса (часть 1)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели13K

Рынок найма IT-специалистов в России, кажется, реально «сломался» под натиском автоматизации. Соискатели массово вооружились нейросетями: автогенерация резюме, шаблонные сопроводительные письма и скрипты, которые пачками откликаются на вакансии. В ответ работодатели подкручивают фильтры, ATS и чат-ботов для первичного отбора — по сути, соискатели штурмуют рынок ИИ-откликами, а работодатели отбиваются ИИ-фильтрами. Флоу превращается в «битву двух ИИ», где люди — где-то рядом, иногда даже живые. (Habr)

Доходит до абсурда: HR пишет кандидату «Вы откликались на вакансию…», а кандидат отвечает «Это не я, это робот откликнулся». И вроде бы смешно, но рекрутеру — не всегда. (Сетка)

Решение hh.ru: с 15 декабря 2025 закрыли публичный API для соискателей. Старый добрый автоотклик через API (когда сервисы отправляли отклики «по кнопке» программно) — всё, приехали.

Теперь, чтобы автоматизация продолжала жить, приходится возвращаться в «ручной режим 2.0»: парсить HTML, эмулировать браузер и нажимать кнопки так, будто вы — очень мотивированный человек с бесконечным терпением.

Читать далее

Новый инерциальный MEMS-датчик LSM6DSV320X от ST c искусственным интеллектом для распознавания активности и ударов

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели13K

Инерциальные модули (IMU, Inertial Measurement Unit) выполненные в виде MEMS-датчиков давно используются в смартфонах, игровых контроллерах, носимых устройствах, и т.д. В такой модуль входит акселерометр и гироскоп, вся обработка выполняется на основном процессоре смартфона или микроконтроллера. Для обработки поступающих данных от инерциального модуля, процессор должен быть постоянно в состояние активности. Например, для носимой электроники данный фактор не позволит отправить основной процессор в спящий режим. Вторая проблема заключается в большом лаге между наступлением события и реакции. Например, если необходимо обрабатывать события удара, пока ОС обработает поступающие данные и сделает вывод об ударе, времени на реакцию будет немного. Для решения указанных задач, и не только, компания STMicroelectronics разработала модуль LSM6DSV320X с искусственным интеллектом где вся обработка данных выполняется в самом модуле.

Читать далее

Новогодняя игрушка

Время на прочтение3 мин
Охват и читатели11K

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

Читать далее

Нейросети на службе родителя или как сделать квиз для детей на НГ

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.7K

Дети любят Новый год, а ИИ может сделать праздник ещё веселее. Расскажу, как с помощью deepseek, perplexity и sora сделал веселый многодневный интерактив для двоих дочерей.

Читать далее

Нейропоисковик на 17 миллионов картинок: OpenCLIP, Qdrant и ZeroTier вместо облаков

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели12K

Как сделать свой аналог Pinterest, если у вас нет бюджета корпорации, но есть 4 ТБ картинок (17 миллионов штук) и желание искать по ним не просто по тегам, а по визуальному стилю?

В статье — опыт построения распределенной системы поиска из подручных средств. Разбираем архитектуру: — Гибридное хранение: Backblaze B2 (холодное) + Домашний сервер (вычисления). — Сеть: Как ZeroTier объединил разрозненные ноды в одну Mesh-сеть без белых IP. — Векторный поиск: Как уместить 17 миллионов векторов OpenCLIP ViT-H/14 в 32 ГБ RAM с помощью Qdrant и квантизации. — Оптимизация: Почему поиск работает за 5 мс, а загрузка метаданных тормозила до 3 секунд, и как PostgreSQL спас ситуацию.

Полный разбор ETL-пайплайна и экономики домашнего HighLoad-проекта.

Читать далее
1
23 ...

Вклад авторов