Система фильтрации воздуха для кошачьих туалетов

Источник:

Автоматизированная система фильтрации воздуха для кошачьих туалетов — универсальная, настраиваемая

Это универсальная система фильтрации воздуха на базе Arduino, предназначенная для установки практически на любой кошачий туалет. Цель проекта проста: автоматически удалять запахи после того, как ваша кошка использует наполнитель, обеспечивая при этом максимальную безопасность и минимальный дискомфорт.

По своей сути система питается от Arduino UNO и датчика приближения VL6180X. Когда ваша кошка входит в туалетный лоток, датчик обнаруживает ее присутствие и активирует оранжевый светодиод, указывая, что лоток используется. Как только ваша кошка выйдет, система ждет 15 секунд в целях безопасности, затем активирует вентилятор 12 В через реле 5 В, вытягивая воздух в течение 2,5 минут. Если в это время кошка возвращается, вентилятор немедленно отключается, и цикл возобновляется, как только подстилка снова освобождается.

Время ожидания и извлечения можно настроить в коде Arduino.

Электроника построена на перфорированной плате, все соединения компонентов припаяны вручную. Питание подается через блок питания 12 В, подключенный непосредственно к Arduino, но он также поддерживает питание от батареи 12 В. При работе от аккумулятора соответствующий код включает систему контроля напряжения: если уровень заряда аккумулятора падает ниже безопасного порога, система ��втоматически отключается, чтобы предотвратить чрезмерную разрядку, а оранжевый светодиод быстро мигает три раза, указывая на необходимость подзарядки аккумулятора.

Управление вентилятором с ШИМ — задача

На ранних этапах разработки я пытался использовать ШИМ (широтно-импульсную модуляцию) для плавного увеличения скорости вращения вентилятора, надеясь не спугнуть кота. Однако с моим вентилятором Noctua 12 В, даже при использовании рекомендованной производителем частоты ШИМ, вентилятор никогда не выключался полностью, он всегда оставался на минимальной скорости. По этой причине я перешел на релейное управление, но если у кого-нибудь есть советы по обеспечению надежной работы ШИМ с вентиляторами Noctua и Arduino UNO, буду рад вашему мнению!

Совместимость фильтров

Корпус фильтра предназначен для фильтров Zortrax HEPA + Carbon, которые у меня уже были в наличии. Если вы используете разные фильтры, не стесняйтесь менять корпус фильтра в соответствии с вашими конкретными размерами.

НАСТРОЙКА ПРОГРАММЫ — ARDUINO IDE

#include
#include

const int fanRelay = 8; // Релейный контакт для включения/выключения вентилятора
const intledRed = 10; // Красный светодиод (мигает, когда вентилятор включен)
const intledGreen = 11; // Зеленый светодиод (есть помет)

const int minDistance = 200; // Порог обнаружения присутствия кошки (мм)
const int waitTime = 15000; // Время ожидания безопасности после выхода кота (мс)
const int fanRunTime = 150000; // Время удаления воздуха (мс)

Adafruit_VL6180X vl6180x = Adafruit_VL6180X(); // Создаем объект датчика

// Переменные состояния
Bool isCatInside = ложь; // Истина, если в данный момент обнаружен кот
Bool isWaitingExit = ложь; // Истина, если ожидается подтверждение ухода кота
беззнаковый длинный выходTimerStart = 0; // Время начала ожидания выхода

// Функция инициализации
недействительная настройка() {
// Устанавливаем контакты
pinMode (fanRelay, ВЫХОД);
pinMode (ledRed, ВЫХОД);
pinMode (ledGreen, ВЫХОД);
digitalWrite(fanRelay, LOW); // Убедитесь, что вентилятор изначально выключен

// Начинаем последовательную связь
Serial.begin(115200);
если (!vl6180x.begin()) {
Serial.println(«Не удалось обнаружить датчик VL6180X!»);
пока (1); // Остановимся, если датчик не найден
}

// Исходное состояние светодиода: зеленый включен (помет доступен), красный выключен
digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, ВЫСОКИЙ);
}

// Функция основного цикла
недействительный цикл() {
int distance = vl6180x.readRange(); // Читаем текущее расстояние от датчика

// Если обнаружен кот (ближе порога)
если (расстояние < minDistance) {
если (!isCatInside) {
isCatInside = правда; // Обновляем состояние
Serial.println(«Кошка в туалетном лотке»);
digitalWrite(ledRed, ВЫСОКИЙ); // Включаем красный светодиод
digitalWrite(ledGreen, LOW); // Выключаем зеленый светодиод
isWaiting

23:55
42
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.