Quando entro no banheiro do meu apartamento, mais uma vez noto com irritação o zumbido da ventilação incluída, não vejo nada ruim no fato da ventilação, mas não gosto da questão da conveniência e funcionalidade da ventilação no banheiro. O fato é que o ventilador de ventilação forçada no meu apartamento (provavelmente para muitas pessoas) está conectado em paralelo com o interruptor de luz e só funciona quando a luz está acesa. Em conexão com as circunstâncias e a disponibilidade de oportunidades - decidi mudar esse estado de coisas e criar um sistema automatizado de ventilação no banheiro. Como a ventilação deve funcionar, mas não deve interferir, decidi fazê-lo.
Ideia preliminar
Quando o ventilador sai do banheiro e apaga a luz, ele acende, funciona por um tempo e depois apaga. Para implementar essa idéia, você precisa de um sensor de luz, um relé - para alternar 220 V e um controlador que conectará tudo isso.
O Arduino Nano, o sensor e o relé de luz mais simples, foi usado como controlador - tudo isso pode ser comprado facilmente por até 500 rublos dos chineses em Ali ou em outros sites eletrônicos. Você também precisa de uma fonte de alimentação.



No início da implementação deste dispositivo, surgiu a ideia de adicionar funcionalidade na forma de um botão e outro modo operacional, quando o botão é pressionado, o ventilador acende independentemente de a luz estar acesa ou apagada e, ao mesmo tempo, o tempo de operação do ventilador será cerca de 7-9 vezes mais do que o "padrão "Modo. Também foi adicionado um LED sinalizando que o modo de ventilação “longo” está ativado.
Como resultado, o dispositivo montado e conectado na caixa fica assim:

A placa para o dispositivo que usa Arduino foi universalizada e foi desenvolvida por mim anteriormente para vários ofícios, alguns componentes não estão envolvidos nela. Também na minha placa existe um transistor que controla o relé - não é necessário no circuito (eu já o tinha soldado, então não mudei nada).
Aqui está um diagrama da parte envolvida da conexão de componentes:

Ao escrever o código do programa, estabeleci alguns recursos: se a luz não acender por um longo período de tempo (1-3 segundos), ignorei essa inclusão e, quando a luz foi desligada por um curto período de tempo, também ignorei esta operação. O valor obtido do sensor de luz pelo qual eu decido se a luz está desligada ou acesa foi selecionado experimentalmente. O tempo para um ciclo curto é de 3 minutos, e para um ciclo longo, cerca de 25 minutos.
Então ele deu este dispositivo para teste. Após vários dias de teste, eles geralmente entram no banheiro de manhã e ficam lá por um curto período de tempo e, em princípio, não precisam ligar a ventilação - alterei o tempo de resposta no programa para ligar a ventilação da seguinte forma: se a luz estivesse acesa e estivesse acesa por mais de 30 a 40 segundos, ligue a ventilação . Eles também me disseram sobre o que seria bom fazer para que a ventilação pudesse ser ligada à noite ou por muito tempo (para secar roupas) - aqui eu atualizei levemente o circuito e conectei o interruptor em paralelo com os contatos do relé, para que, para ligar o ventilador, os contatos do relé estivessem fechados. , ou os contatos do comutador - você deve se lembrar se o comutador estiver ligado, o Arduino não poderá desligar o ventilador. Para maior clareza, darei o diagrama de conexão do switch:
O dispositivo finalmente montado e instalado e seus componentes têm a seguinte aparência:


Depois que o dispositivo foi finalmente instalado e testado, surgiu outra idéia - suplementar o dispositivo com um sensor de umidade e ligar o ventilador quando o limite de umidade é excedido, até que a umidade volte ao normal, mas existem pequenas armadilhas: se a umidade não diminuir (por exemplo, a umidade do verão é bastante alta) - o ventilador funcionará para sempre, você também terá que combinar esse modo com o fato de que, se a luz estiver acesa (ou seja, uma pessoa estiver no banheiro e tomar um banho), não ligue a ventilação durante isso, mas podemos pode ser necessário ativá-lo periodicamente por um curto período de tempo - em geral, a questão aqui está aberta e requer tempo, reflexão e mais testes!
Por fim, dou um link para o código do programa
vent_plus , caso alguém queira implementar o mesmo dispositivo.
PS Se alguém tiver dúvidas, idéias alternativas para melhorar a implementação / modernização do dispositivo - por favor, comente.