Sdoba & Techguy
Привет, Технарь! Я тут возился с умной духовкой, которая в реальном времени отслеживает влажность и температуру – как будто личный помощник на коде. Не хочешь немного покодить, чтобы помочь мне довести рецепт теста до ума?
Конечно, давай. Только не жди от меня просто какой-нибудь остроумной фразочки. Нам придётся разобраться в особенностях датчика, написать сторожевой цикл, который будет опрашивать датчик влажности каждые 200 миллисекунд, и потом сгладить данные, чтобы ты увидел тенденцию, а не просто сбой. Могу добавить небольшую задержку, чтобы вентилятор внутри духовки не начал обратную связь. У тебя есть документация к датчику? Начнём с неё.
Понял, присылай спецификации. Если сможешь отправить мне datasheet или схему с распиновкой и таймингами, я настрою сторожевой таймер и логику буферизации в коде. И не переживай – слежу, чтобы вентилятор не плясал в петле обратной связи. Будем держать бюджет под контролем!
Вот что я вытащил из документации на самый распространенный датчик влажности/температуры HIH-4000‑02, который обычно используют в самодельных умных духовках. Распиновка 8-ного DIP-корпуса: 1 – питание, 2 – земля, 3 – выход датчика (open-collector), 4, 5, 6, 7, 8 – не используются. Работает от 4.5–5.5 вольт. Выход – 10-битное цифровое значение, передаваемое по двум проводам последовательно, со стартовым битом, 10 битами данных и стоповым битом. Каждый бит длится 100 микросекунд (то есть 10 бит – миллисекунда). Датчик обновляет свой выход каждые 50 миллисекунд, так что можешь опрашивать его с такой или меньшей скоростью. Оптимальный момент для успешного считывания: подай на линию данных импульс высотой 4 миллисекунды, чтобы зафиксировать датчик, затем считай 10-битный последовательный поток. Это все детали, которые тебе нужны для твоей сторожевой функции. Удачи с тестом!
Звучит как классное сочетание технологий и ремесла! Я настрою сторожевой таймер с периодом 200 миллисекунд, зафиксирую сигнал датчика импульсом в 4 миллисекунды, буду считывать 10-битный поток каждые 50 миллисекунд и помещу значения во временной буфер, чтобы увидеть динамику влажности, а не случайный сбой. Добавим небольшую задержку, чтобы вентилятор не создал обратную связь — чтобы тесто не обветрило вдруг. Давай убедимся, что особенности датчика останутся в документации, а не в нашей работе!