PROGETTI ARDUINO

  • HOME
  • 200 Progetti
  • PROGETTI E TUTORIAL
  • PROGETTI E TUTORIAL 2
  • ELETTRONICA
  • RECENSIONI
  • MANUALE
  • CONTATTI
  • HOME
  • 200 Progetti
  • PROGETTI E TUTORIAL
  • PROGETTI E TUTORIAL 2
  • ELETTRONICA
  • RECENSIONI
  • MANUALE
  • CONTATTI

Progetto 92
​Sistema sicurezza casa

🧠 Introduzione

Dopo aver realizzato sistemi di controllo e automazione come la gestione delle luci e l’irrigazione intelligente, in questo progetto sviluppiamo un sistema di sicurezza domestica controllabile via WiFi.

L’obiettivo è rilevare la presenza di movimento all’interno di un ambiente tramite un sensore PIR e attivare automaticamente un allarme sonoro. Allo stesso tempo, il sistema potrà essere attivato o disattivato direttamente da una pagina web, rendendo il controllo semplice e immediato.

Questo progetto rappresenta una base concreta per la realizzazione di sistemi antifurto smart e introduce concetti importanti come la gestione degli stati (attivo/disattivo) e il monitoraggio remoto.
​
È una soluzione perfetta per capire come Arduino può essere utilizzato anche in ambito sicurezza.

🧰 Materiale necessario
​
  • Arduino UNO
  • Modulo ESP8266
  • Sensore PIR
  • Buzzer
  • Breadboard
  • Cavi jumper
🛒 Componenti e risorse consigliate

👉 Kit Arduino consigliato: https://amzn.to/41fmFNK
💡 Con un solo kit puoi realizzare la maggior parte dei progetti presenti nel sito.

📚 I miei libri consigliati
​

👉 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 PIR
  • VCC → 5V Arduino
  • GND → GND Arduino
  • OUT → Pin 6 Arduino

Buzzer
  • Positivo → Pin 7 Arduino
  • Negativo → GND Arduino

Modulo ESP8266
  • VCC → 3.3V Arduino
  • GND → GND Arduino
  • TX → Pin 10 Arduino
  • RX → Pin 11 Arduino (consigliato partitore di tensione)
  • CH_PD → 3.3V

⚠️ Tutti i GND devono essere collegati tra loro.
Foto

📚 Librerie necessarie
​

Questo progetto utilizza solo librerie già presenti nell’IDE Arduino.

💻 Codice Arduino
​// ============================================
// Progetto 92 - Sistema sicurezza casa
// Allarme PIR + controllo web
// ============================================

#include <SoftwareSerial.h>

SoftwareSerial esp(10, 11);

String ssid = "NOME_WIFI";
String password = "PASSWORD_WIFI";

int pir = 6;
int buzzer = 7;

bool sistemaAttivo = false;

void setup() {
  pinMode(pir, INPUT);
  pinMode(buzzer, OUTPUT);

  digitalWrite(buzzer, LOW);

  Serial.begin(9600);
  esp.begin(115200);

  sendCommand("AT", 2000);
  sendCommand("AT+CWMODE=1", 2000);

  String cmd = "AT+CWJAP=\"" + ssid + "\",\"" + password + "\"";
  sendCommand(cmd, 6000);

  sendCommand("AT+CIPMUX=1", 2000);
  sendCommand("AT+CIPSERVER=1,80", 2000);
}

void loop() {

  int movimento = digitalRead(pir);

  // Se sistema attivo e rileva movimento
  if (sistemaAttivo && movimento == HIGH) {
    digitalWrite(buzzer, HIGH);
  } else {
    digitalWrite(buzzer, LOW);
  }

  if (esp.available()) {

    String request = esp.readString();

    // Attiva sistema
    if (request.indexOf("ARM=ON") != -1) {
      sistemaAttivo = true;
    }

    // Disattiva sistema
    if (request.indexOf("ARM=OFF") != -1) {
      sistemaAttivo = false;
    }

    String stato = (sistemaAttivo) ? "ATTIVO" : "DISATTIVO";

    String webpage =
      "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"
      "<html><head>"
      "<meta name='viewport' content='width=device-width, initial-scale=1'>"
      "<style>"
      "body{font-family:Arial;text-align:center;background:#111;color:#fff;}"
      "a{display:block;margin:15px;padding:15px;background:#ff4444;color:#fff;border-radius:10px;text-decoration:none;}"
      "</style>"
      "</head><body>"

      "<h1>Sistema Sicurezza</h1>"

      "<p>Stato: " + stato + "</p>"

      "<a href='/?ARM=ON'>Attiva sistema</a>"
      "<a href='/?ARM=OFF'>Disattiva sistema</a>"

      "</body></html>";

    String sendCmd = "AT+CIPSEND=0," + String(webpage.length());
    sendCommand(sendCmd, 2000);

    esp.print(webpage);

    sendCommand("AT+CIPCLOSE=0", 2000);
  }
}

void sendCommand(String cmd, int timeout) {
  esp.println(cmd);
  long int time = millis();

  while ((time + timeout) > millis()) {
    while (esp.available()) {
      Serial.write(esp.read());
    }
  }
}

🌐 Come accedere alla pagina web

Dopo aver caricato il codice, il modulo ESP8266 si connette alla rete WiFi configurata.

Apri il Monitor Seriale per individuare l’indirizzo IP assegnato dal router. Inserisci questo indirizzo nel browser di uno smartphone o computer collegato alla stessa rete.
​
La pagina web mostrerà lo stato del sistema e permetterà di attivare o disattivare l’allarme.

⚙️ Come funziona

Arduino legge continuamente il sensore PIR per rilevare eventuali movimenti.

Quando il sistema è attivo, qualsiasi movimento attiva il buzzer, simulando un allarme. Quando il sistema è disattivato, il sensore continua a funzionare ma non genera alcuna azione.
​
Il controllo tramite web permette di gestire facilmente lo stato del sistema anche a distanza.

🔁 Varianti possibili
​
  • Invio notifiche (Telegram o email)
  • Sirena più potente
  • Sensori multipli
  • Memorizzazione eventi

Foto

© ProgettiArduino.com 2026 - Fancello Salvatore
​ Layout, immagini e testi sono di esclusiva proprietà di www.progettiarduino.com 
Privacy Policy