Security Alarm

Introducere

Prezentarea pe scurt a proiectului vostru:

  • O alarma pentru securitate care masoara distanta de la obiecte pana la senzor-ul ei. Daca obiectul este prea apropiat alarma va suna.
  • Poate tine casele si curtile in siguranta, observand fiecare obiect care intra in raza senzorului.
  • Am pornit de la un senzor si m-am inspirat de pe internet.
  • Este un lucru foarte usor de folosit si foarte folositor.

Descriere generală

Proiectul este realizat cu ajutorul unui Arduino UNO, un senzor ultrasonic, un buzzer care suna in momentul in care este detectat un obiect destul de aproape, cateva LED-uri care lumineaza in functie de distanta si o rezistenta de 1k ohm, un display LCD pe care este afisat nivelul pericolului.

Hardware Design

Lista piese:

  • Arduino UNO
  • Senzor ultrasonic
  • LED Verde
  • LED Rosu
  • LED Albastru
  • Display LED
  • Rezistor 1k ohm

Schema electrica

Software Design

Mediul de dezvoltare:

  • codul a fost scris in Arduino IDE.
  • schema electrica a fost realizata in Tinkercad

Am folosit biblioteca “LiquidCrystal” pentru afisarea pe Display-ul LCD.

Functia setup - initializeaza hardware-ul si afiseaza un mesaj de inceput pe LCD.

  lcd.begin(16, 2);
  Serial.begin (9600); 
  pinMode(trigPin, OUTPUT); 
  pinMode(echoPin, INPUT);
  pinMode(buzzer,OUTPUT);
  pinMode(PIN_RED,   OUTPUT);
  pinMode(PIN_GREEN, OUTPUT);
  pinMode(PIN_BLUE,  OUTPUT);
  lcd.print("Starting  System");
  delay(1500);
  lcd.clear();
  lcd.print("System On");
  delay(4000);  

Functia loop:

  • Calculeaza distanta si delay-ul pentru buzzer:

  duration = pulseIn(echoPin, HIGH);
  distance = (duration / 2) / 29.1;
  new_delay = (distance * 3) + 30;

  • In functie de distanta schimba culoarea LED-ului si scrie starea curenta pe LCD:

  if (distance < 50)
  {
    digitalWrite(buzzer, HIGH);
    delay(new_delay);
    if (distance < 10){
      setColor(255, 0, 0);
      lcd.setCursor(0, 0);
      lcd.print("High Risk         ");
      lcd.setCursor(0, 11);
      lcd.print("Glowing RED       ");
    } 
    else if (distance < 25){
      setColor(255, 32, 0);
      lcd.setCursor(0, 0);
      lcd.print("Medium Risk       ");
      lcd.setCursor(0, 11);
      lcd.print("Glowing Orange    ");
    }
    else {
      setColor(255, 255, 0);
      lcd.setCursor(0, 0);
      lcd.print("Low Risk          ");
      lcd.setCursor(0, 11);
      lcd.print("Glowing Yellow    ");
    }
    digitalWrite(buzzer,LOW);
  }
  else
  {
    digitalWrite(buzzer,LOW);
    setColor(0, 255, 0);
    lcd.setCursor(0, 0);
    lcd.print("No Risk             ");
    lcd.setCursor(0, 11);
    lcd.print("Glowing Green       ");
  }
delay(200);
}

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/vstoica/costin.bosoaga.txt · Last modified: 2024/05/22 22:35 by costin.bosoaga
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0