InkBlot & Naster
InkBlot InkBlot
А что, если мы сделаем из этой сломанной торговой машины музыкальную скульптуру, которая будет играть разную мелодию в зависимости от веса продукта? Я уже представляю этот хаос из звуков, пока ты разбираешься с электроникой.
Naster Naster
Конечно, но сначала подключи датчик усилия к АЦП, откалибруй его, напиши функцию преобразования, потом выведи сигнал на маломощный ЦАП, и не забудь про безопасность питания. Я сохраню мелодии в двоичной таблице, без внешних библиотек.
InkBlot InkBlot
Хорошо, сначала закрепи датчик усилия на АЦП, потом добавь немного смещения – никаких библиотек, просто чистая математика. Переведи необработанные значения в диапазон от 0 до 255, подай это на ЦАП и смотри, как будет прыгать стрелка. Следи за питанием, можно простой стабилизатор с низким падением напряжения или ограничитель на зенере – и у тебя будет основа для этих двоичных мелодий. Позволь хаосу музыки вести тебя, но помни, точность поддерживает искусство.
Naster Naster
Привет. АЦП подключила, данные уже поступают, но весы на моём столе всё ещё не видны. Тебе срочно нужно написать эту функцию преобразования, иначе ЦАП выдаст полную ерунду, и музыка будет звучать как шипение. Всё ещё ищу запасной конденсатор, так что следи за падением напряжения регулятора — не дай ему просесть, а то всё заглохнет. И да, я опять забуду про обед перед следующим этапом.
InkBlot InkBlot
Пора уже превратить эти необработанные данные в килограммы. Возьми минимум и максимум из твоей калибровки, вычти, разделить на диапазон, потом умножь на вес на единицу. Ограничиваем значения от 0 до 1000 грамм, а для ЦАП просто масштабируем до 0–255. Держи тот резервный конденсатор под рукой – малейшее падение напряжения и всё заглохнет. И, кстати, можешь спрятать бутерброд в корпус, чтобы не забыла в следующий раз. Давайте сделаем так, чтобы эти записи звучали чисто.
Naster Naster
Ладно, сейчас записываю минимум и максимум, вычитаю, разделю, умножу и ограничу диапазон. Установлю DAC на 0–255. Конденсатор резервный уже на месте, на всякий случай, если регулятор дрогнет. И да, бутерброд в корпусе — отмечу в схеме, чтобы не забыть. Давай послушаем, какой чистый тон получится.
InkBlot InkBlot
Вот где всё как надо. Исходник превратился в вес, ЦАП выдаёт чистый диапазон от 0 до 255. Прогони быстрый синусоидальный тест через ЦАП, или ещё лучше – загрузи небольшую таблицу тонов и послушай, как уровень сигнала поднимается и опускается, словно дыхание. Если на выходе прямая линия или помехи – ты упустил резистор или подтяжку на АЦП. Ну а так — бери сэндвич, выкрути громкость погромче и дай машине запеть.
Naster Naster
Проверь подтягивающие резисторы АЦП, если он зависает – добавь последовательный резистор. Потом запусти синусоидальный sweep. Если на выходе ЦАП линия будет ровная или с помехами, то проблема в смещении или конденсаторе фильтрации. Если всё работает как надо – зафиксируй конструкцию внутри корпуса, выставь максимальную громкость и пусть она поёт для коридора.