top of page

ALLARME PRO 21H

È stato proposto, da un gruppo di studenti con competenze informatiche, in seguito al grande successo riscosso grazie alla presentazione della cassaforte un nuovo prototipo di allarme di sicurezza all'avanguardia. Questo prodotto è in grado di proteggere qualsiasi dal più piccolo appartamenti alle grandi aziende, attraverso un sistema di sicurezza  dotato di un lettore di chiavi magnetiche.

SCHEMA ELETTRICO

Circuito elettrico

SKETCH

#define USE_ALB_RFID
#include <LiquidCrystal.h>
#include "ArduinoLearningBoard.h"
#define SS_PIN 10
#define RST_PIN 9
#define LED 8
#define LED2 7
#define B 6
#define PIR 5
LiquidCrystal lcd(14, 15, 16, 17, 18, 19);
RFID rfid(SS_PIN, RST_PIN);
int codice[5];
bool statoallarme ;
void setup()
{
  SPI.begin();
  rfid.init();
  lcd.begin(16, 2);
  codice[0] = 0;
  codice[1] = 0;
  codice[2] = 0;
  codice[3] = 0;
  codice[4] = 0;
  lcd.clear();
  lcd.print("   BENVENUTO");
  statoallarme = true;
  digitalWrite(LED2, LOW);
  digitalWrite(LED, HIGH);
  delay(1000);
}

void loop()
{
  lettura();
  rilevatore();
}

void lettura()
{
  int sec;
  if (statoallarme)
  {
    lcd.clear();
    lcd.print("ALLARME");
    lcd.setCursor(0, 1);
    lcd.print("    DISATTIVATO");
    digitalWrite(LED2, LOW);
    digitalWrite(LED, HIGH);
  }
  else
  {
    lcd.clear();
    lcd.print("  ALLARME");
    lcd.setCursor(0, 1);
    lcd.print("        ATTIVATO");
    digitalWrite(LED, LOW);
    digitalWrite(LED2, HIGH);
  }
  if (rfid.isCard())
  {
    if (rfid.readCardSerial())
    {
      lcd.clear();
      codice[0] = rfid.serNum[0];
      codice[1] = rfid.serNum[1];
      codice[2] = rfid.serNum[2];
      codice[3] = rfid.serNum[3];
      codice[4] = rfid.serNum[4];
      if ((codice[0] == 52) && (codice[1] == 190) && (codice[2] == 45) && (codice[3] == 91) && (codice[4] == 252))
      {
        lcd.clear();
        lcd.print(" CHIAVE VALIDA");
        delay(5000);
        lcd.clear();
        if (statoallarme)
        { lcd.clear();
          lcd.print("  ALLARME");
          lcd.setCursor(0, 1);
          lcd.print("        ATTIVATO");
          delay(1500);
          digitalWrite(LED, LOW);
          digitalWrite(LED2, HIGH);
          lcd.clear();
          statoallarme = false;
          lcd.setCursor(0, 0);
          for (sec = 30; sec > 0; sec--)
          {
            if (sec <= 9)
            {
              lcd.clear();
              lcd.setCursor(0, 0);
              lcd.print("TEMPO RIMANENTE");
              lcd.setCursor(0, 1);
              lcd.print("      00:0");
              lcd.print(sec);
              delay(1000);
            }
            else
            {
              lcd.clear();
              lcd.setCursor(0, 0);
              lcd.print("TEMPO RIMANENTE");
              lcd.setCursor(0, 1);
              lcd.print("      00:");
              lcd.print(sec);
              delay(1000);
            }
          }
        }
        else
        { lcd.clear();
          lcd.print("ALLARME");
          lcd.setCursor(0, 1);
          lcd.print("    DISATTIVATO");
          delay(1500);
          digitalWrite(LED2, LOW);
          digitalWrite(LED, HIGH);
          lcd.clear();
          statoallarme = true;
        }
      }
      else
      {
        lcd.clear();
        lcd.print("     CHIAVE ");
        lcd.setCursor(0, 1);
        lcd.print("   NON VALIDA");
        delay(1000);
      }
    }
    rfid.halt();
  }
}

void rilevatore()
{
  int i;
  bool disinnescato;
  i = -1;
  disinnescato = false;
  if (statoallarme == false)
  {
    if (digitalRead(PIR) == HIGH)
    {
      while ((!disinnescato) && (i < 16))
      {
        i++;
        lettura();
        if (statoallarme == true)
          disinnescato = true;
        delay(1000);
      }
      while (statoallarme == false)
      {
        lcd.clear();
        digitalWrite(LED2, LOW);
        tone(B, 466, 800);
        delay(800);
        lcd.print("    INTRUSO");
        digitalWrite(LED2, HIGH);
        tone(B, 622, 800);
        delay(800);
        lettura();
        lcd.clear();
      }
    }
  }
}

Sketch
Video tutorial

VIDEO TUTORIAL

MANUALE D'USO

Manuale d'uso

SLIDE FOR COMPANY

SLIDE FOR COMPANY
bottom of page