This shows you the differences between two versions of the page.
pm:prj2021:avaduva:sistemalarma [2021/05/02 18:11] irina.voicescu [Descriere generală] |
pm:prj2021:avaduva:sistemalarma [2021/06/02 13:53] (current) irina.voicescu [Hardware Design] |
||
---|---|---|---|
Line 5: | Line 5: | ||
===== Introducere ===== | ===== Introducere ===== | ||
+ | Proiectul constă într-un senzor de distanță care declanșează o alarmă ce poate fi oprită numai prin introducerea parolei setate anterior. Comunicarea cu individul se realizează prin intermediul unui ecran LCD. | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Sistem de alarmă ce permite setarea unei parole si folosește un senzor ultrasonic pentru a determina distanța față de obiectele din jur. Dacă cineva se aproprie prea mult, se declanșează un buzzer ce poate fi oprit doar prin introducerea parolei. | + | Pentru a putea folosi sistemul, trebuie setată inițial o parolă de 4 cifre, ascpect indicat pe ecranul LCD. Ulterior, aceasta poate fi schimbată. Proprietarul are opțiunea de a activa alarma doar după introducerea codului și are la dispoziție 10 secunde sa plece din raza sa de acțiune. Senzorul emite ultrasunete ce sunt reflectate inapoi de obiectele din aria sa. Dacă un obstacol este prea aproape, alarma se declanșează și poate fi oprită doar prin introducerea parolei. |
- | {{:pm:prj2021:avaduva:pm.jpg?200|}} | + | ==== Schema bloc ==== |
+ | {{:pm:prj2021:avaduva:pm.jpg?400|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | - Arduino UNO\\ | + | [[https://cleste.ro/arduino-uno-r3-atmega328p.html?utm_medium=GoogleAds&utm_campaign=GoogleAdsSearch&utm_source=DynamicAdGroup&gclid=EAIaIQobChMInefOv-H48AIVTf7VCh0FuAxlEAAYASAAEgLBcfD_BwE| Arduino UNO]]\\ |
- | - Breadboard\\ | + | [[https://cleste.ro/breadboard-400-puncte.html|Breadboard]]\\ |
- | - Ecran LCD 16x2\\ | + | [[https://cleste.ro/ecran-lcd-2004-albastru.html|Ecran LCD 16x2]]\\ |
- | - Buzzer\\ | + | [[https://cleste.ro/modul-buzzer-activ.html|Buzzer]]\\ |
- | - Tastatura numerică 4x4\\ | + | [[https://cleste.ro/senzor-ultrasonic-hc-sr04.html|Senzor Ultrasonic HC-SR04]]\\ |
- | - Potențiometru | + | [[https://cleste.ro/tasta-numerica-4x4.html|Tastatura numerică 4x4]]\\ |
- | - Fire mamă-tată | + | [[https://cleste.ro/poten-iometru.html|Potențiometru 10k]]\\ |
+ | [[https://cleste.ro/rezistente-1-4w.html|Rezistență 220Ω]]\\ | ||
+ | [[https://cleste.ro/10xfire-dupont-mama-tata-20cm.html|Fire mamă-tată]]\\ | ||
+ | [[https://cleste.ro/10xfire-dupont-tata-tata-20cm.html|Fire tată-tată]]\\ | ||
+ | ==== Schema electrică ==== | ||
+ | {{:pm:prj2021:avaduva:irinav_schemaelectrica.png?700|}} | ||
+ | |||
+ | ==LCD == | ||
+ | Ecranul are 16 pini, din care am conectat 12: | ||
+ | * **Vo** - conectat la un potentiometru poate modifica contrastul si intensitatea ercanului;\\ | ||
+ | * **RS**(register select) - folosit pentru a selecta daca trimitem comenzi sau date;\\ | ||
+ | * **R/W**(read/write) - folosit pentru a selecta daca scriem sau citim date (conectat la ground pentru scriere);\\ | ||
+ | * **E**(enable) - permite scrierea in regiștrii sau pe pinii D0-D7\\ | ||
+ | * **D4-D7** - folositi pentru a trimite date;\\ | ||
+ | * **A, K**(anod, catod) - folosiți pentru lumina de fundal (anod-ul este conectat la la VCC ptrintr-o rezistență 22Ω);\\ | ||
+ | * **GND**(ground);\\ | ||
+ | * **VCC** - conectat la 5V;\\ | ||
+ | Am conectat pinii RS, W, D4-D7 la pinii A0-A5 de pe placuta arduino (14-19) | ||
+ | |||
+ | ==Keypad 4X4== | ||
+ | Tastatura are 8 pini: | ||
+ | * 4 utilizati pentru controlarea liniilor(conectati la pinii 9-6 de pe plăcuță);\\ | ||
+ | * 4 pentru coloane (pinii 5-2); | ||
+ | |||
+ | ==Buzzer== | ||
+ | * **GND**\\ | ||
+ | * 1 pin conectat la pinul 13 al plăcuței; | ||
+ | |||
+ | ==Senzor Ultrasonic== | ||
+ | * **TRIG** - utilizat pentru a trimite ultrasunete;\\ | ||
+ | * **ECHO** - utilizat pentru a recepta undele reflectate;\\ | ||
+ | * **GND**\\ | ||
+ | * **VCC** - conectat la 5V | ||
+ | ===== Software Design ===== | ||
+ | **Mediu de dezvoltare folosit:** | ||
+ | * Unordered List ItemArduino IDE\\ | ||
+ | **Biblioteci:** | ||
+ | * LiquidCrystal.h | ||
+ | * Keypad.h | ||
+ | **Implementare** | ||
+ | - **setup()** | ||
+ | * setez pinii de input si output; | ||
+ | * inițializez LCD-ul; | ||
+ | - **setPassword()** | ||
+ | * afișeaza pe ercan indicațiile de setare a unei parole; | ||
+ | * citește datele primite de la tastatură și setează parola; | ||
+ | - **verifyPassword()** | ||
+ | * citește date de la tastatura pana este introdusa parola corecta; | ||
+ | * afișează pe ecran daca parola este cea corectă sau nu; | ||
+ | - **loop()** | ||
+ | * rulează până este oprit programul; | ||
+ | * indică setarea parolei inițiale; | ||
+ | * dacă alarma nu este activată, atunci oferă posibiltatea de schimbare a parolei, sau de activare a alarmei; | ||
+ | * dacă alarma este activată, masoară distanța față de obiectele din jur, iar daca un obstacol se afla prea aproape se declanșează alarma; | ||
+ | - **setOffAlarm()** | ||
+ | * declanșează alarma; | ||
+ | * citeste date de la tastatură, iar dacă se introduce codul corect, atunci oprește alarma; | ||
+ | - **checkDistance()** | ||
+ | * calculează distanța pe care se propaga undele in funcție de timpul scurs de la emiterea acestora si până la întoarcerea lor; | ||
+ | |||
+ | ===== Rezultate Obţinute ===== | ||
+ | |||
+ | Video:\\ | ||
+ | https://drive.google.com/drive/folders/19ToCYbJnWCglbs71uzZUdjP7tN0_0yZE?usp=sharing | ||
+ | |||
+ | |||
+ | ===== Concluzii ===== | ||
+ | |||
+ | Proiectul permite setarea unui cod de acces, activare unei alarme și declanșarea acesteia în cazul în care se află obstacole mai aproape decât o distanță inițial calculată. | ||
+ | ===== Download ===== | ||
+ | {{:pm:prj2021:avaduva:voicescuirina.zip}} | ||
+ | |||
+ | ===== Bibliografie/Resurse ===== | ||
+ | https://playground.arduino.cc/Code/Keypad/#Download\\ | ||
+ | https://www.arduino.cc/en/Tutorial/LibraryExamples/HelloWorld\\ | ||
+ | https://www.tinkercad.com/things/l0BUwQ7xm1Y-copy-of-using-keypad-4x4-with-arduino/editel?tenant=circuits\\ | ||
+ | https://www.tutorialspoint.com/arduino/arduino_ultrasonic_sensor.htm\\ | ||
+ | https://create.arduino.cc/projecthub/ammaratef45/detecting-obstacles-and-warning-arduino-and-ultrasonic-13e5ea\\ | ||
+ | https://github.com/primerobotics/Arduino/blob/master/Buzzer/Active.ino#L1\\ | ||
+ | https://www.youtube.com/watch?v=lTAo_H5eqsk&ab_channel=HowToMechatronics\\ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> |