Differences

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

Link to this comparison view

pm:prj2022:abirlica:cactus_dansator [2022/04/21 23:27]
stefania.nicolete created
pm:prj2022:abirlica:cactus_dansator [2022/05/30 23:57] (current)
stefania.nicolete
Line 1: Line 1:
 ====== Cactus Dansator ====== ====== Cactus Dansator ======
 +
 +Nume: Nicolete Ștefania Liliana \\ 
 +Grupa: 332CB
 +
 ===== Introducere ===== ===== Introducere =====
  
Line 7: Line 11:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-<note tip> +Apasam butonul pentru ​porni sistemulDupa aceea, senzorul ​de sunet va incepe sa asculte si va trimite datele catre ArduinoLa detectarea unui sunet peste limita stabilita, acesta va declansa miscarea servomotoarelor si aprinderea LED-urilorLa incetarea sunetului, motoarele si LED-urile se opresc. O a doua apasare a butonului va opri ascultarea.
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere ​acestora precum şi a modului în care interacţionează. +
- +
-Exemplu ​de schemă bloc: http://www.robs-projects.com/​mp3proj/​newplayer.html +
-</​note>​+
  
 +{{:​pm:​prj2022:​abirlica:​diagram_nsl2.drawio.png?​600}}
 +                                      ​
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip> +Lista componente: 
-Aici puneţi tot ce ţine de hardware design: + 
-  * listă de piese +  * Placă dezvoltare compatibilă Arduino Uno R3 ATmega328P 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, ​e.g. http://www.captain.at/​electronic-atmega16-mmc-schematic.png+  * Modul Senzor Sunet LM393 
-  * diagrame de semnal ​ +  * Motor Servo SG90 x2 
-  * rezultatele simulării +  * Becuri LED + rezistenț1K x3 
-</​note>​+  * Condensator 100nF 
 +  * Push button 
 +  * Baterie alcalina 9V 
 + 
 +{{:​pm:​prj2022:​abirlica:​electric_nsl.png?800}} 
 + 
 +{{:​pm:​prj2022:​abirlica:20220530_233303.jpg?500}} 
 + 
 +Proiectul nu foloseste breadboard, si din aceasta cauza nu se pot observa usor cablajele si maparea pinilorAtasez o poza a simularii pentru simplitate (bateria este omisa in simulare, iar senzorul nu exista in biblioteca Tinkercad asa ca am folost un inlocuitor). 
 + 
 + 
 +{{:​pm:​prj2022:​abirlica:​sim_nsl.png?​600}} 
 + 
 +Limita de sensibilitate a senzorului de sunet a fost setata fizic folosind potentiometrul inclus.
  
 ===== Software Design ===== ===== Software Design =====
  
 +Codul a fost scris folosind simulatorul Tinkercad si apoi IDE-ul Arduino.
 +Nu a fost folosita nicio sursa externa. Toate functionalitatile se bazeaza pe elementele integrate in microprocesorul Atmega328P - GPIO, intreruperi,​ timere si PWM.
  
-<note tip> +Placa se afla in modul power down pana este trezita de intreruperea INT0 ce provine de la butonul conectat la pinul PD2. 
-Descrierea codului aplicaţiei (firmware)+ 
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR+In cadrul intreruperii,​ se aprinde led-ul ce semnifica trezirea si activeaza intruperea PCINT0. 
-  * librării şi surse 3rd-party ​(e.gProcyon AVRlib) + 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +In acest moment, placa poate asculta senzorul de sunet digital conectat la pinul PB0, care va genera intreruperi PCINT0. 
-  ​* ​(etapa 3surse şi funcţii implementate + 
-</​note>​+In cadrul intreruperii se vor activa timerele
 +  * timer 0 (PWM pentru led-urile ce formeaza ochii cactusului) 
 +  * timer 1 (PWM pentru servomotoare
 +  * timer 2 (cronometreaza dansul) 
 + 
 +De asemenea, se opreste ascultarea (prin ignorarea intreruperii PCINT0) si se seteaza variabilele globale ce permit dansul si flicarul led-urilor. 
 + 
 +Cu aceste variabile setate, codul din functia loop poate fi atins si permite dansul prin modificarea registrelor de PWM
 + 
 +Dupa ce aproximativ doua secunde au trecut ​(cronometrate prin numararea intreruperilor timer 2), se vor seta pe 0 variabilele si se va reactiva ascultarea. 
 + 
 +Cactusul va dansa aparent continuu daca sunetul este mentinut mai mult de 2 secunde si se va opri daca dupa 2 secunde nu mai recepteaza sunet. 
 + 
 +In orice moment, apasarea butonului va opri activitatea. 
 + 
 +{{:​pm:​prj2022:​abirlica:​flow_nsl.png?​600}}
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Proiectul atinge toate obiectivele initiale, mai putin invelisul extern.
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
-===== Concluzii =====+Un demo poate fi vazut la urmatorul link: 
 +https://​www.youtube.com/​shorts/​ygamk05pvnQ
  
-===== Download =====+{{:​pm:​prj2022:​abirlica:​20220529_160144.jpg?​250}} 
 +{{:​pm:​prj2022:​abirlica:​20220529_151250.jpg?​250}} 
 +{{:​pm:​prj2022:​abirlica:​20220529_151240.jpg?​250}} 
 +{{:​pm:​prj2022:​abirlica:​20220529_151216.jpg?​250}}
  
-<note warning>​ +===== Concluzii =====
-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**. +Sa imi ating obiectivele ​folosind ​doar registrii microprocesorului a fost o provocare interesantaAm schimbat conectarea componentelor la pinii Arduino foarte des incercand sa manageriez timerele si PWM-ul.
-</​note>​+
  
-===== Jurnal ​=====+Lipirea firelor impreuna si renuntarea la breadboard a fost o alta provocare. A fost nevoie ca trei fire sa intre intr-unul singur pentru a acomoda faptul ca mai multe componente au nevoie in acelasi timp de pinul de Vcc sau de GND al Arduino. 
 + 
 +===== Download ​=====
  
-<note tip> +{{:​pm:​prj2022:​abirlica:​arhiva_nsl.zip}}
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * https://​ocw.cs.pub.ro/​courses/​pm 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf 
-</note>+  ​https://​wolles-elektronikkiste.de/​timer-und-pwm-teil-1 
 +  ​https://​wolles-elektronikkiste.de/​sleep-modes-und-power-management 
 +  * https://​embedds.com/​controlling-servo-motor-with-avr/​https://​hackaday.com/​2015/​12/​09/​embed-with-elliot-debounce-your-noisy-buttons-part-i/
  
 <​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/abirlica/cactus_dansator.1650572838.txt.gz · Last modified: 2022/04/21 23:27 by stefania.nicolete
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