CraftMistress & Drex
CraftMistress CraftMistress
Привет, Дрекс. Я тут кинетическую скульптуру делаю, еще и как замок-головоломку – представь, шестеренки, свет, спрятанный код. Очень хотелось бы, чтобы ты помог мне добавить к ней какую-нибудь незаметную систему шифрования. Как тебе идея?
Drex Drex
Звучит как отличное место для небольшой игры в шпионов. Запирай последовательность кода на простое ключевое слово, а потом спрячь его в световом рисунке — например, в мигающем светодиоде, который покажет двоичную строку только когда шестерёнки встанут в нужное положение. Или спрячь код вроде QR-кода в тени движущихся деталей, чтобы его можно было прочитать только под определенным углом. Выбери шифр, который трудно заметить, но легко взломать для опытного взломщика, и у тебя получится замок, который выглядит как механический, так и криптографический. Нужны более точные детали? Просто покажи мне схему шестеренок и расположение источников света.
CraftMistress CraftMistress
Крутые крюки. Давай, расскажи, какая у тебя шестерёнка – шаг резьбы, количество зубьев на ступень, и где планируешь светодиоды разместить. Тогда решим, делать простую замену, привязанную к пульсу, или миниатюрный паттерн, как у QR-кода, который камера сможет считать. Набросаю схему подключения, чтобы свет прятался в тенях шестерёнок, но был виден под нужным углом. Сфотографируй раскладку, и мы сделаем это реальностью.
Drex Drex
Хорошо, зафиксируй это двухступенчатой системой. Первая шестерня – 12 зубьев, вторая – 18. Получается цикл в 36 шагов, пока не повторится. Установи светодиод на 12-й зуб первой шестерни и второй – на 18-й второй. Когда шестерни совпадут, светодиоды будут в тени друг друга – невидимы, пока угол не станет правильным. Если хочешь пульсирующий ритм, сопоставь каждый интервал из 12 шагов с буквой, используя простой шифр Цезаря. Светодиод будет пульсировать в такт этому интервалу; свечение появится только тогда, когда нужная буква выстроится напротив шестерни. Чтобы получился QR-код, используй крошечную точечную матрицу на верхней поверхности второй шестерни – она видна только тогда, когда первая шестерня освобождает тень. Камера телефона сможет считать её с фиксированного расстояния. Набросай схему проводки, чтобы провода светодиодов змеёй шли вдоль зубьев и оставались спрятанными за корпусом шестерни. Подай низковольтное питание, например, литиевая батарейка на 3.7 вольт – и всё будет отлично.
CraftMistress CraftMistress
Хорошо, представь себе: первое колесо установлено на коротком валу, а второе – со смещением, чтобы его 18-зубчатая сторона располагалась прямо за первым. Проложи тонкую гибкую печатную плату вдоль обода первого колеса до 12-го зубца, где расположен светодиод; спрячь дорожку за корпусом колеса, чтобы кабель был незаметен. Сделай то же самое со вторым колесом, но проложи дорожку через вал первого колеса, чтобы, когда 18-й зуб выравнивается, второй светодиод оказывался в тени первого. Питание – от 3.7-вольтовой таблетки, светодиоды – через небольшой последовательный резистор и микроконтроллер, который выполняет 12-шаговое шифрование Цезаря. Для QR-стиля вырежи 5x5 паттерн из точек на верхней части второго колеса; узор виден только тогда, когда зуб первого колеса блокирует тень. Добавь крошечный фотодиод на втором колесе, чтобы он запускал считывание камеры, когда узор открывается. Это позволит сохранить проводку незаметной и синхронизировать весь замок механически. Какой микроконтроллер ты планируешь использовать?
Drex Drex
Малышка ESP32 или 32-битный SAMD21 подойдут – оба дешёвые, потребляют мало энергии, работают на 3.3 вольта, и туда без проблем поместится алгоритм Цезаря и чтение QR-кода во флэш-памяти. Если нужен совсем крошечный вариант, ATtiny84 с небольшим конденсатором 0.1 мкФ и повышающим регулятором 3.7 вольт – выручат и размеры уложит. Программируй в Arduino IDE или PlatformIO, используй простой таймер для вращения шестеренок, и выдавай светодиодные импульсы или управляй фотодиодом, когда видна схема. Код пиши лаконичный: нужен только справочник для 12-шагового сдвига и быстрый I²C-запрос для камеры. Всё.
CraftMistress CraftMistress
Варианты неплохие, но смотри, вот что: пин 3.3 V на ESP‑32 напрямую не выдержит батарейку 3.7 V – нужен небольшой понижающий преобразователь или стабилизатор напряжения 3.3 V, чтобы регулятор не ворчал. Если используешь ATtiny84, то конденсатор 0.1 µF для линии сброса подойдет, но и на пине Vcc тоже нужен хороший развязывающий конденсатор, хотя бы 10 µF, иначе часы начнут сбоить, когда механизм двигается. Для дорожки светодиода – сделай ее узкой, ширина 40 µm на плате толщиной 1.5 mm, и общий ток будет меньше 50 mA. Таблицу Цезаря всего 12 элементов – просто храни её в PROGMEM. Когда вторая шестерня откроет QR-код, можно на пару миллисекунд подать импульс на фотодиод, и камера его соберет. Добавь подтягивающий резистор 4.7 k на шину I²C, и вся конструкция будет работать плавно и стабильно. Из какого материала планируешь делать шестерню? И нужен ли тебе проставочный элемент, чтобы тень падала именно так, как надо?