- Componente necesare:
- Schema și explicația circuitului:
- Explicație de lucru:
- Explicație de programare:
Securitatea a fost întotdeauna o preocupare majoră pentru noi toți și există multe sisteme de securitate și supraveghere bazate pe tehnologia Hi și sunt disponibile pe piață. Intruder sau Burglar Alarm este unul dintre proiectele clasice și populare în rândul studenților și pasionaților de electronică. De asemenea, am construit multe alarme antiefracție bazate pe diverse tehnologii:
- Circuit de alarmă de securitate laser
- Alarmă de securitate bazată pe IR
- Alarmă antiefracție utilizând PIR
- Sistem de securitate bazat pe GSM
Astăzi adăugăm încă o alarmă de securitate în lista noastră, care se bazează pe senzorul cu ultrasunete. Această alarmă pentru ușă controlată Arduino poate fi instalată lângă ușă pentru a detecta prezența oricui la ușă. Ori de câte ori cineva vine în gama senzorului cu ultrasunete, buzzerul începe să emită un bip. Puteți regla gama de detectare a senzorului în funcție de ușa dvs. Acest sistem poate servi și scopului Detector de mișcare.
Componente necesare:
- Breadboard
- Senzor cu ultrasunete
- Buzzer
- Arduino Mega (orice model)
- Sârme jumper
- Cablu USB pentru adaptor Arduino sau 12v, 1A.
Modul senzor cu ultrasunete:
Senzorul cu ultrasunete HC-SR04 este utilizat aici pentru a detecta prezența oricărei persoane la ușă. Modulul senzor este format din emițător cu ultrasunete, receptor și circuitul de comandă. Senzorul cu ultrasunete este format din doi ochi circulari, dintre care unul este utilizat pentru a transmite unda cu ultrasunete și celălalt pentru a-l primi.
Putem calcula distanța obiectului pe baza timpului luat de unda ultrasonică pentru a reveni la senzor. Deoarece timpul și viteza sunetului sunt cunoscute, putem calcula distanța prin următoarele formule.
- Distanță = (Timp x Viteza sunetului) / 2
Valoarea este împărțită la două, deoarece unda se deplasează înainte și înapoi, acoperind aceeași distanță. Dar în acest proiect am folosit biblioteca NewPing.h , iar această bibliotecă se ocupă de acest calcul și trebuie doar să folosim câteva cuvinte cheie, explicația este dată în secțiunea de programare de mai jos.
Verificați proiectul de mai jos pentru a măsura distanța oricărui obiect și pentru a înțelege corect funcționarea senzorului cu ultrasunete:
- Măsurarea distanței pe bază de Arduino utilizând senzor cu ultrasunete
- Măsurarea distanței utilizând microcontrolerul HC-SR04 și AVR
Schema și explicația circuitului:
Conexiunile de circuit pentru această alarmă cu ultrasunete sunt foarte simple. Pinul declanșator al senzorului ultrasonic este conectat la pinul nr. 12 din Arduino și pinul Echo al senzorului este conectat la pinul 11 din Arduino. Vcc al senzorului este conectat la pinul 5V al Arduino și GND al senzorului este conectat la GND al Arduino. Un pin al buzzerului este conectat la GND al Arduino, iar celălalt pin este conectat la al 8- lea pin al Arduino.
Explicație de lucru:
Lucrul cu această alarmă de ușă Arduino este foarte ușor. Ori de câte ori cineva intră în calea / raza senzorului cu ultrasunete, microcontrolerul detectează distanța dintre obiect și senzor și dacă obiectul se află în raza definită, acesta trimite semnalul înalt către buzzer și buzzerul începe să emită un bip.
Puteți testa circuitul punând orice lucru în fața senzorului în raza de acțiune, verificați videoclipul pentru demonstrație. Această funcție a senzorului cu ultrasunete poate fi, de asemenea, utilizată pentru a construi un robot de evitare a obstacolelor.
Explicație de programare:
În acest proiect am folosit NewPing.h Library pentru senzori cu ultrasunete, dezvoltată de Tim Eckel. Deși putem folosi senzorul cu ultrasunete fără această bibliotecă, așa cum am făcut-o în proiectul nostru anterior, dar această bibliotecă oferă multe caracteristici bune pentru senzorul cu ultrasunete și devine ușor de codat pentru senzorul cu ultrasunete folosind această bibliotecă. Putem folosi cu ușurință funcțiile senzorului cu ultrasunete folosind această bibliotecă fără a scrie prea multe linii de cod; este ca și alte biblioteci care sunt utilizate pentru a gestiona complexitatea la un nivel inferior.
#include
Puteți verifica toate caracteristicile, utilizările și exemplele de coduri ale acestei biblioteci urmând acest link. De asemenea, verificați pagina oficială Arduino a acestei biblioteci.
Ultima versiune a Bibliotecii poate fi descărcată de pe linkul de mai sus. Mai mult, am descărcat Biblioteca de pe linkul de mai jos, care este modificat pentru Teensy:
github.com/PaulStoffregen/NewPing
Mai întâi ar trebui să testați senzorul arzând codurile de exemplu date pe pagina sa. De asemenea, am folosit codurile de exemplu pentru proiectul nostru și le-am modificat în conformitate cu proiectul nostru de alarmă de ușă.
Pinul de declanșare este conectat la pinul 12 al Arduino, iar pinul Echo este conectat la pinul 11 al Arduino. MAX_DISTANCE înseamnă că distanța până la care senzorul poate detecta obstacolul este de 500 cm sau 5m.
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 500
Mai jos este indicată rata de transmisie la care datele sunt trimise către portul serial Arduino de la senzorul cu ultrasunete.
Serial.begin (115200);
Pinul nr. 10 este configurat ca pin de ieșire și este conectat la buzzer. Alt pin al buzzerului este conectat la GND din Arduino.
pinMode (10, OUTPUT);
În funcția void echoCheck () , sonar.ping_result / US_ROUNDTRIP_CM este utilizat pentru a calcula distanța obstacolului față de senzor. steagul este utilizat pentru a executa buzzerul atunci când obstacolul se află la o distanță de 50 cm față de senzorul cu ultrasunete. Puteți modifica această „distanță” în funcție de cerințele dvs. sau de dimensiunea ușii.
if ((sonar.ping_result / US_ROUNDTRIP_CM) <50) flag = 1; else if ((sonar.ping_result / US_ROUNDTRIP_CM)> 50) flag = 0;
Codul este foarte bine comentat de către autorul bibliotecii NewPing.h și poate fi ușor de înțeles. Mai departe, puteți verifica pagina de bibliotecă în sine pentru a o înțelege mai bine și puteți utiliza această bibliotecă pentru a face un proiect complex folosind senzorul cu ultrasunete. Codul complet pentru acest proiect de alarmă de ușă este dat mai jos.
În principal senzorul cu ultrasunete este folosit pentru a măsura distanța față de orice obiect, dar aici putem vedea că poate fi folosit ca alarmă de securitate sau alarmă de ușă cu Arduino. De asemenea, putem crea multe proiecte utile folosind următoarele: Indicator automat de nivel al apei și controler folosind Arduino