Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:arosca:jocdeluminisisunetesecurizat [2022/05/27 19:05]
bogdan_elvis.ghitan [Hardware Design]
pm:prj2022:arosca:jocdeluminisisunetesecurizat [2022/05/27 22:08] (current)
bogdan_elvis.ghitan [Download]
Line 2: Line 2:
 ===== Introducere ===== ===== Introducere =====
  
-<note tip> +Sistemul este format din 2 matrici de leduri, un buzzer si un senzor de distanta. 
-Sistemul este format din 2 matrici de leduri, un buzzer si un senzor de distanta. Cand userul va trece mana pe deasupra senzorului efectul luminii si sunetul se vor schimba (vor fi mai multe efecte). Pentru a putea accesa sistemul, userul va trebui intai sa introduca un cod de acces pe un numpad, daca se introduce codul gresit, se va activa o alarma (se vor aprinde toate ledurile si buzzerul va scoate un sunet de alarma) ce va fi activa pana cand se va introduce un alt cod pentru a o opri. +Cand userul va trece mana pe deasupra senzorului efectul luminii si sunetul se vor schimba (vor fi mai multe efecte). 
-</​note>​+Pentru a putea accesa sistemul, userul va trebui intai sa introduca un cod de acces pe un numpad, daca se introduce codul gresit, se va activa o alarma (buzzerul va scoate un sunet de alarma) ce va fi activa pana cand se va introduce un alt cod pentru a o opri.
 ===== Descriere generală ===== ===== Descriere generală =====
-{{:​pm:​prj2022:​arosca:​schemabloc.png?200|}}+Pentru inceput aplicatia va cere un cod (pus de mine 2134), care va activa sunetul si luminile. Daca este introdus gresit buzzerul va scoate un sunet de alarma pana cand se introduce codul de dezactivare al alarmei (tot de mine pus 4321). N-am gasit sa cumpar numpad full cu toate cifrele, asa ca m-am folosit de unul 1x4, doar cu cifrele 1,2,3,4. 
 +Dupa ce a fost dezactivata alarma, se va cere din nou codul de acces. 
 +Cand codul de acces introdus este corect, va porni muzica si jocul de lumini. 
 + 
 +Datorita memoriei scazute alocata pentru variabile, am reusit sa pun doar 3 melodii ca sa ramana implementarea stabila, daca puneam mai multe apareau erori la buzzer si la matrici. Melodiile sunt fragmente din: Game of Thrones theme song, Never Gonna Give You Up si Pink Panther theme song. 
 +Pe matrici apar diverse forme prestabilite random, astfel: pe una apar forme atunci cand buzzerul se activeaza pe o nota, iar cealalta cand nu e nicio nota, deci matricile nu vor lumina in acelasi timp, ci intermitent. 
 +Melodia se poate schimba activand senzorul ultrasonic, ceea ce se face de la o distanta de maxim 5 centimetri. 
 +Potentiometrul are rolul de a accelera sau decelera melodia. 
 +===== Schema Bloc ===== 
 +{{:​pm:​prj2022:​arosca:​schema_bloc_bogdan_ghitan.png?800|}}
 ===== Hardware Design ===== ===== Hardware Design =====
  
Line 14: Line 23:
   * breadboard   * breadboard
   * fire   * fire
-  * 2xmatrice ​de leduri+  * 2 x matrice ​de leduri
   * buzzer   * buzzer
   * senzor de distanta   * senzor de distanta
Line 26: Line 35:
  
 ===== Software Design ===== ===== Software Design =====
 +
 +Tool-uri folosite pentru realizarea proiectului:​
 +  * Arduino IDE
 +  * Eagle
 +  * Google Draw (pentru schema bloc)
 +
 +Biblioteci folosite:
 +  * LedControl, pentru folosirea matricelor de leduri
 +
 +Implementare:​
 +  Pentru inceput am conectat numpadul, ce are 4 pini digitali, cate unul pentru fiecare cifra si un pin de GND.
 +  Pentru a putea introduce un cod, citesc cifre de la numpad, pana cand am obtinut 4 cifre, apoi compar inputul
 +  cu codul deja salvat, care activeaza celelalte componente (care nu pot fi folosite pana cand nu se introduce codul).
 +  Daca se introduce codul gresit, se intra in modul alarma, unde se asteapta introducerea codului ce
 +  dezactiveaza alarma, iar buzzerul se activeaza pe un sunet de alarma. Codul de alarma se introduce repetat
 +  pana cand se introduce codul corect.
 +  Cand s-a introdus codul corect, buzzerul se opreste si se introduce din nou codul de acces.
 +  ​
 +  Cand s-a introdus codul de acces incepe prima melodie (Game of Thrones) si matricile incep sa lumineze.
 +  Din potentiometru se poate regla, rotind, viteza melodiei, in functie de tensiunea calculata (valorile
 +  se mapeaza de la 0, 1023 la -0.5, 0.5, se scade din 1 aceasta valoare, pentru a regla viteza intre 0.5 si 1.5).
 +  Senzorul ultrasonic se activeaza cand detecteaza un obiect la mai putin de 5 cm si itereaza prin melodii
 +  (am ales o distanta asa mica pentru a limita schimbarea melodiei neintentionat).
 +  Matricile de led-uri folosesc functii din biblioteca LedControl:
 +    * setIntensity,​ pentru setarea intensitatii ledurilor
 +    * shutdown, pentru activarea matricilor
 +    * clearDisplay,​ pentru a stinge toate luminile
 +    * setRow, pentru a aprinde anumiti biti pe o linie
  
  
-<note tip> 
-TBA 
-</​note>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Video: https://​www.youtube.com/​watch?​v=9AWJ8CpdOII
-TBA +
-</note>+
  
 +{{:​pm:​prj2022:​arosca:​bogdanghitan1.jpeg?​800|}}
 +{{:​pm:​prj2022:​arosca:​bogdanghitan2.jpeg?​800|}}
 +{{:​pm:​prj2022:​arosca:​bogdanghitan3.jpeg?​800|}}
 ===== Concluzii ===== ===== Concluzii =====
 +A fost destul de interesanta implementarea pe cont propriu a unui proiect mai complex, am invatat destul de multe. 
 +Pe parcurs am intampinat ceva dificultati:​ am cumparat matrici fara modul, pe care nu le-am putut folosi si a trebuit 
 +sa cumpar altele, lucru care putea fi evitat daca ceream un sfat inainte :)). 
 +O alta problema pe care am intampinat-o a fost memoria redusa a placutiei arduino Uno, care a limitat numarul de melodii 
 +si lungimea acestora, intrucat aplicatia devenea instabila. ​
 ===== Download ===== ===== Download =====
  
-<note warning>​ +{{:pm:prj2022:arosca:proiectpm_bogdanghitan.zip|}}
-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**. +
-</​note>​ +
 ===== Jurnal ===== ===== Jurnal =====
  
 <note tip> <note tip>
 21.04.2022 - Am creat pagina wiki si am adaugat introducere,​ schema bloc si echipamentul necesar pentru proiect. 21.04.2022 - Am creat pagina wiki si am adaugat introducere,​ schema bloc si echipamentul necesar pentru proiect.
 +
 +25.04.2022 - Decizia privind ce piese voi folosi si comandarea acestora
 +
 +13.05.2022 - Inceperea implementarii proiectului
 +
 +23.05.2022 - Finalizarea unui produs final (aplicatie functionala)
 +
 +24.05.2022 - 27.05.2022 - Mici retusuri + explicarea codului
 +
 +27.05.2022 - Finalizarea paginii de wiki
 </​note>​ </​note>​
  
Line 57: Line 101:
  
 <​note>​ <​note>​
-https://www.diagrams.net/+https://xantorohara.github.io/led-matrix-editor/#​1824428181422418|995a3cffff3c5a99 
 + 
 +https://​github.com/​robsoncouto/​arduino-songs/​tree/​master/​gameofthrones 
 + 
 +https://​github.com/​robsoncouto/​arduino-songs/​tree/​master/​pinkpanther 
 + 
 +https://​github.com/​robsoncouto/​arduino-songs/​tree/​master/​nevergonnagiveyouup 
 + 
 +https://​ocw.cs.pub.ro/​courses/​pm 
 </​note>​ </​note>​
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2022/arosca/jocdeluminisisunetesecurizat.1653667518.txt.gz · Last modified: 2022/05/27 19:05 by bogdan_elvis.ghitan
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