Blog

Sistema di ventilazione automatica fai-da-te per stanze con Arduino

0
Sistema di ventilazione automatica fai-da-te per stanze con Arduino

Il progetto è stato realizzato per affrontare un problema domestico semplice ma diffuso: la scarsa circolazione dell'aria dovuta all'alta temperatura e umidità. Le ventole di ventilazione nella maggior parte delle stanze, in particolare camere da letto, uffici o piccoli laboratori, sono generalmente azionate manualmente. In pratica, le persone spesso dimenticano di attivarle o disattivarle, con conseguente disagio e spreco di energia.

Il concetto qui era di creare un sistema automatico di ventilazione della stanza che rispondesse alle effettive condizioni ambientali. Il sistema monitora continuamente temperatura e umidità e accende automaticamente la ventola di aspirazione. Arduino è stato scelto perché fornisce prototipazione rapida e un'affidabile integrazione dei sensori.

Non si è trattato solo di una build di prova. Il sistema è stato costruito, testato in una stanza reale, perfezionato e poi fatto funzionare per periodi prolungati. La discussione seguente riflette questi test e sviluppi sperimentali.

Design Thinking e Concetto di Sistema

Il problema è stato suddiviso in sotto-problemi più piccoli prima che iniziasse il cablaggio hardware o la codifica.

Il sistema doveva:

  • Prendi accurate letture di temperatura e umidità.
  • Determina quando è necessaria la ventilazione.
  • Accendere una ventola ad alta potenza in sicurezza.
  • Evitare accensioni e spegnimenti frequenti.

È stata presa la decisione di utilizzare una semplice strategia di controllo basata su regole invece di complessi algoritmi. Il controllo di precisione è meno importante del raggiungimento di una ventilazione stabile.

L'architettura finale consisteva in:

  • Arduino Uno come controller centrale.
  • Sensore di temperatura e umidità (DHT11).
  • Modulo relè per isolare il controllo a bassa tensione dal carico ad alta tensione.
  • Ventilatore di scarico come dispositivo di output.
  • Mantenere indipendenti i circuiti di rilevamento, di controllo e di commutazione dell'alimentazione rende il sistema più sicuro e più facile da mettere a punto.

Componenti utilizzati

I componenti utilizzati nel progetto sono stati i seguenti:

  • Arduino Uno
  • Modulo sensore di temperatura-umidità DHT11
  • Modulo relè a canale singolo da 5V
  • Ventilatore AC controllato tramite relè
  • Breadboard e cavi jumper
  • Alimentatore esterno (utilizzato quando richiesto dalla ventola)

I componenti sono tutti economici e facilmente reperibili, rendendo questo progetto facile da replicare.

Collegamenti hardware (passo dopo passo)

La configurazione hardware è stata mantenuta molto semplice per minimizzare gli errori di cablaggio.

Connessione Sensore DHT11:

  • VCC – Arduino 5V
  • GND – Arduino GND
  • DATI – Pin digitale 2 di Arduino

Una resistenza di pull-up era già presente nel modulo DHT11, quindi non erano necessari componenti aggiuntivi.

Connessione Modulo Relè:

  • VCC – Arduino 5V
  • GND – Arduino GND
  • IN – Pin digitale Arduino 8

Il filo sotto tensione della ventola era collegato tramite il morsetto Normalmente Aperto (NA) del relè per garantire che la ventola rimanga spenta all'avvio del sistema.

⚠️ Precauzione di sicurezza: il cablaggio in corrente alternata è stato eseguito con cura e testato separatamente prima di essere collegato al relè controllato da Arduino.

Panoramica della logica di controllo

La logica di controllo segue un semplice flusso:

  • Leggi temperatura e umidità.
  • Confronta i valori rispetto alle soglie preimpostate.
  • Accendi la ventola quando i limiti vengono superati.
  • Spegni la ventola quando le letture tornano alla normalità.
  • Attendere prima di effettuare la lettura successiva.

Questa logica si è dimostrata affidabile durante i test a lungo termine e non ha richiesto commutazioni di relè non necessarie.

Codice Arduino (Testato e Funzionante)

				
					#include 

#define DHTPIN 2
#define DHTTYPE DHT11
#define RELAY_PIN 8

float tempThreshold = 30.0;
float sogliaUmidità = 70.0;

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);

  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, HIGH); // Relè spento (attivo-LOW)

  dht.begin();
  Serial.println("Sistema di ventilazione automatica avviato");
}

void loop() {
  float umidità = dht.readHumidity();
  float temperatura = dht.readTemperature();

  if (isnan(umidità) || isnan(temperatura)) {
    Serial.println("Lettura del sensore non riuscita");
    delay(2000);
    return;
  }

  Serial.print("Temperatura: ");
  Serial.print(temperature);
  Serial.print(" °C | Umidità: ");
  Serial.print(umidità);
  Serial.println(" %");

  if (temperatura > sogliaTemperatura || umidità > sogliaUmidità) {
    digitalWrite(PIN_RELÈ, LOW);  // Ventola accesa
    Serial.println("Ventola: ON");
  } else {
    digitalWrite(RELAY_PIN, HIGH); // Ventola OFF
    Serial.println("Ventola: OFF");
  }

  Serial.println("----------------------");
  delay(3000);
}
				
			

Dettagli chiave di implementazione

Alcune piccole scelte hanno fatto una differenza enorme nell'applicazione pratica.

Le soglie di temperatura sono state inizialmente scelte sulla base di test. Temperature più basse causavano l'accensione e lo spegnimento troppo frequenti della ventola, quindi il valore finale è stato aggiustato a 30 °C.

In secondo luogo, durante i test è stato effettuato un estensivo monitoraggio seriale. Il monitoraggio in tempo reale ha aiutato a confermare l'accuratezza delle letture dei sensori e il comportamento complessivo del sistema.

Terzo, è stata posta attenzione a verificare il comportamento del relè. Molti moduli relè sono attivi-basso, il che può confondere i principianti se non testato presto.

Sfide pratiche affrontate

Una delle sfide principali è stata la lenta risposta del sensore DHT11. Letture frequenti portavano a valori duplicati, il che è stato risolto introducendo intervalli più lunghi tra le letture.

Brevi picchi di umidità, come l'apertura di porte o la cottura nelle vicinanze, erano un'altra sfida. Questo è stato mitigato utilizzando ritardi e valori di soglia stabili.

Inizialmente, si avvertiva un notevole rumore di scatto dei relè. Ridurre la frequenza di commutazione non solo ha diminuito il rumore ma ha anche migliorato la durata dei relè.

Lezioni Imparate

Questo progetto ha dimostrato che i sistemi semplici sono i più efficaci per l'automazione di base. Una logica complicata non ha migliorato le prestazioni.

È importante comprendere i limiti dei sensori. Il DHT11 è adatto per semplici attività di monitoraggio, ma non per un controllo rapido o preciso.

Soprattutto, la sicurezza elettrica non deve essere trascurata quando si maneggiano relè e carichi in corrente alternata.

La prossima fase di questo progetto potrebbe includere:

  • Sostituire il DHT11 con un sensore DHT22
  • Aggiungere un display LCD o OLED
  • Abilita il monitoraggio remoto con un ESP32
  • Applica l'isteresi per un controllo più fluido

Considerazioni finali

Questo sistema di ventilazione automatica della stanza dimostra come Arduino possa utilizzare semplice logica e hardware per risolvere problemi del mondo reale. Test, aggiustamenti e utilizzo pratico hanno aiutato il progetto ad evolversi da un'idea a un sistema completamente funzionante.

Per i principianti, offre un'esperienza di apprendimento completa. Per gli utenti più esperti, serve come promemoria che una buona ingegneria a volte sta nel mantenere le cose semplici, stabili e sicure.

Per coloro che sono interessati a portare progetti dal prototipo alla produzione, sia come hobbisti che come aziende, PCBCool Offre servizi flessibili per PCB e PCBA. Dalla prototipazione rapida alla produzione di piccoli lotti o su larga scala, le nostre soluzioni rendono facile trasformare le idee in elettronica reale e funzionante.

Domande Frequenti (FAQ)

1. Posso usare il DHT11, o dovrei usare il DHT22?

DHT11 è economico e facile da reperire, ideale per principianti e monitoraggio semplice. DHT22 ha una risposta più rapida e una maggiore precisione, adatto per applicazioni di controllo precise.

2. Posso usare un normale ventilatore domestico?

Sì, ma le ventole AC devono essere controllate tramite un relè per isolare i circuiti ad alta tensione.

3. Il frequente cambio del relè danneggerà il relè?

L'accensione e lo spegnimento frequenti aumentano l'usura e riducono la durata del relè. L'aggiunta di ritardi di campionamento, soglie stabili o isteresi può ridurre il numero di cicli di commutazione.

4. Il sistema può funzionare continuamente per lunghi periodi?

Sì, i test a lungo termine hanno mostrato un funzionamento stabile.

5. Posso aggiungere monitoraggio remoto o un display?

Assolutamente. Puoi aggiungere un LCD o OLED per il monitoraggio locale, oppure integrare un modulo ESP32/Wi-Fi per il controllo e il monitoraggio remoti.

6. L'Arduino può essere sostituito con un altro microcontrollore?

Sì. È possibile utilizzare Raspberry Pi, ESP32 o STM32, ma il codice e i collegamenti richiedono aggiustamenti.

7. Qual è il costo approssimativo di questo progetto?

Utilizzando Arduino + DHT11 + relè + piccola ventola, il costo dei materiali è in genere compreso tra $15 e $30 (esclusi PCB e involucro), a seconda della scelta dei componenti.

8. Posso trasformare questo prototipo in un PCB o in una produzione di piccoli lotti?

Sì! È qui che entra in gioco PCBCool. Puoi creare rapidamente prototipi di PCB o produzioni PCBA in piccoli lotti, trasformando il tuo progetto sperimentale in un prodotto affidabile e funzionante.

Farhan A
Farhan A. | Ingegnere di Elettronica e Sistemi Embedded

Farhan A. è un ingegnere elettronico specializzato nella progettazione di PCB, droni, robotica, sistemi embedded e sviluppo hardware basato sull'IA. La sua esperienza in C/C++, Python, IA/ML e testing lo aiuta a sviluppare soluzioni pratiche per progetti elettronici complessi.

Tag correlati
Condividi