🚀 Introduzione
Vuoi controllare automaticamente un dispositivo quando la temperatura supera un certo limite?
Con questo progetto Arduino puoi creare un sistema che accende o spegne qualsiasi dispositivo (ventola, riscaldatore, ecc.) in base alla temperatura, proprio come un termostato reale.
👉 È uno dei progetti più utili e utilizzati nella domotica.
Vuoi controllare automaticamente un dispositivo quando la temperatura supera un certo limite?
Con questo progetto Arduino puoi creare un sistema che accende o spegne qualsiasi dispositivo (ventola, riscaldatore, ecc.) in base alla temperatura, proprio come un termostato reale.
👉 È uno dei progetti più utili e utilizzati nella domotica.
🎯 Cosa realizzerai
Con Arduino creerai un sistema che:
Con Arduino creerai un sistema che:
- 🌡️ misura la temperatura ambiente
- ⚡ controlla un dispositivo tramite relè
- 🔁 mantiene la temperatura stabile
- 🧠 utilizza una logica intelligente (isteresi)
🧰 Materiale necessario
- 1x Arduino UNO
- 1x sensore temperatura (LM35 o DHT11)
- 1x modulo relè 5V
- 1x dispositivo (ventola, lampada o resistenza)
- alimentazione esterna per il dispositivo
- cavetti jumper
- breadboard
🛒 Componenti e risorse consigliate
👉 Kit Arduino consigliato: https://amzn.to/41fmFNK
💡 Con questo kit puoi realizzare tantissimi progetti di automazione come questo.
📚 Libri consigliati per imparare Arduino passo dopo passo
👉 Arduino per tutti – Volume 1: https://amzn.to/4rGNxB9
👉 Arduino per tutti – Volume 2: https://amzn.to/4bkfaey
👉 Arduino per tutti – Volume 3: https://amzn.to/4bogjAg
👉 Kit Arduino consigliato: https://amzn.to/41fmFNK
💡 Con questo kit puoi realizzare tantissimi progetti di automazione come questo.
📚 Libri consigliati per imparare Arduino passo dopo passo
👉 Arduino per tutti – Volume 1: https://amzn.to/4rGNxB9
👉 Arduino per tutti – Volume 2: https://amzn.to/4bkfaey
👉 Arduino per tutti – Volume 3: https://amzn.to/4bogjAg
🔌 Schema di collegamento
Sensore temperatura (LM35)
Sensore temperatura (LM35)
- VCC → 5V
- GND → GND
- OUT → A0
- VCC → 5V
- GND → GND
- IN → pin 8
- collegato al relè con alimentazione esterna
💻 Codice Arduino
// ============================================
// Progetto 103 - Controllo temperatura con relè
// Sistema tipo termostato con isteresi
// ============================================
const int sensoreTemp = A0;
const int rele = 8;
float sogliaON = 28.0; // temperatura per accensione
float sogliaOFF = 26.0; // temperatura per spegnimento
bool stato = false; // stato del relè
void setup() {
pinMode(rele, OUTPUT);
// Relè OFF (attivo LOW)
digitalWrite(rele, HIGH);
Serial.begin(9600);
}
void loop() {
int valore = analogRead(sensoreTemp);
// Conversione LM35 → °C
float tensione = valore * (5.0 / 1023.0);
float temperatura = tensione * 100;
Serial.print("Temperatura: ");
Serial.println(temperatura);
// Logica con isteresi
if (temperatura > sogliaON && !stato) {
digitalWrite(rele, LOW); // ON
stato = true;
Serial.println("🔥 Dispositivo acceso");
}
if (temperatura < sogliaOFF && stato) {
digitalWrite(rele, HIGH); // OFF
stato = false;
Serial.println("❄️ Dispositivo spento");
}
delay(2000);
}
// Progetto 103 - Controllo temperatura con relè
// Sistema tipo termostato con isteresi
// ============================================
const int sensoreTemp = A0;
const int rele = 8;
float sogliaON = 28.0; // temperatura per accensione
float sogliaOFF = 26.0; // temperatura per spegnimento
bool stato = false; // stato del relè
void setup() {
pinMode(rele, OUTPUT);
// Relè OFF (attivo LOW)
digitalWrite(rele, HIGH);
Serial.begin(9600);
}
void loop() {
int valore = analogRead(sensoreTemp);
// Conversione LM35 → °C
float tensione = valore * (5.0 / 1023.0);
float temperatura = tensione * 100;
Serial.print("Temperatura: ");
Serial.println(temperatura);
// Logica con isteresi
if (temperatura > sogliaON && !stato) {
digitalWrite(rele, LOW); // ON
stato = true;
Serial.println("🔥 Dispositivo acceso");
}
if (temperatura < sogliaOFF && stato) {
digitalWrite(rele, HIGH); // OFF
stato = false;
Serial.println("❄️ Dispositivo spento");
}
delay(2000);
}
⚙️ Come funziona
Arduino legge continuamente la temperatura dal sensore.
👉 Quando supera la soglia alta → accende il dispositivo
👉 Quando scende sotto la soglia bassa → lo spegne
La differenza tra le due soglie si chiama isteresi e serve per:
Arduino legge continuamente la temperatura dal sensore.
👉 Quando supera la soglia alta → accende il dispositivo
👉 Quando scende sotto la soglia bassa → lo spegne
La differenza tra le due soglie si chiama isteresi e serve per:
- evitare accensioni continue
- rendere il sistema stabile
- simulare un vero termostato
🧠 Perché è un progetto importante
Qui fai un salto di qualità:
Qui fai un salto di qualità:
- introduci l’isteresi (logica avanzata)
- gestisci stati (ON/OFF)
- crei un sistema reale e utilizzabile
- impari un concetto fondamentale in automazione
🔄 Varianti possibili
Vuoi migliorarlo ancora?
Vuoi migliorarlo ancora?
- 📟 display LCD → mostra temperatura
- 🌡️ sensore DHT11 → temperatura + umidità
- 🔘 pulsanti → modifica soglia manuale
- 📡 WiFi → controllo remoto