Differences

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

Link to this comparison view

pm:prj2025:mdinica:andrei.vintilescu [2025/05/27 00:04]
andrei.vintilescu [Software Design]
pm:prj2025:mdinica:andrei.vintilescu [2025/05/27 00:50] (current)
andrei.vintilescu [Bibliografie/Resurse]
Line 36: Line 36:
  
 <note tip> <note tip>
-Descrierea codului ​aplicatiei ​(firmware): +Descrierea codului ​aplicaţiei ​(firmware):​ 
- +  * **Mediu de dezvoltare**:​ Proiectul este dezvoltat ​în **Arduino IDE**. 
-  * **Mediu de dezvoltare**:​ Proiectul este dezvoltat ​in **Arduino IDE**. +  * **Librării şi surse 3rd-party**:​ 
- +    * ''​Servo.h''​: Pentru controlul precis al servomotorului. 
-  * **Librarii si surse 3rd-party**:​ +    * ''​LiquidCrystal.h''​: Pentru gestionarea ​afișajului ​LCD 16x2. 
-    * `Servo.h`: Pentru controlul precis al servomotorului. +  * **Algoritmi ​şi structuri implementate**:​ 
-    * `LiquidCrystal.h`: Pentru gestionarea ​afisajului ​LCD 16x2. +    * **Monitorizarea ​luminozității**: Două **fotorezistoare (LDR-uri)** ​detectează ​obstacolele pe ecran, ​comparând ​valorile cu praguri predefinite pentru decizii de săritură/​aplecare. 
- +    * **Mașină ​de stări ​(State Machine)**: ​Controlează mișcările ​**servomotorului** non-blocant,​ cu stări ​precum ​''​IDLE''​''​WAITING_TO_MOVE_UP/​DOWN'' ​(cu delay de sincronizare) ​și ''​MOVING_UP/​DOWN''​
-  * **Algoritmi ​si structuri implementate**:​ +    * **Întreruperi ​ADC**: ​Asigură ​citirea **rapidă și eficientă** a valorilor de la LDR-uri; o întrerupere ​la finalizarea unei conversii ​inițiază ​imediat ​următoarea ​pe celălalt ​LDR. 
-    * **Monitorizarea ​luminozitatii**: Doua **fotorezistoare (LDR-uri)** ​detecteaza ​obstacolele pe ecran, ​comparand ​valorile cu praguri predefinite pentru decizii de saritura/​aplecare. +    * **Buton de Reset**: Permite repornirea jocului ​și resetarea contoarelor, ​incluzând ​**debounce**. 
-    * **Masina ​de stari (State Machine)**: ​Controleaza miscarile ​**servomotorului** non-blocant,​ cu stari precum ​`IDLE``WAITING_TO_MOVE_UP/​DOWN(cu delay de sincronizare) ​si `MOVING_UP/​DOWN`+    * **Modul de Pauză**: Simulatorul ​intră în pauză ​la inactivitate ​prelungităașteptând ​resetarea ​manuală
-    * **Intreruperi ​ADC**: ​Asigura ​citirea **rapida si eficienta** a valorilor de la LDR-uri; o intrerupere ​la finalizarea unei conversii ​initiaza ​imediat ​urmatoarea ​pe celalalt ​LDR. +  * **Surse ​şi funcţii ​implementate**:​ 
-    * **Buton de Reset**: Permite repornirea jocului ​si resetarea contoarelor, ​incluzand ​**debounce**. +    * Funcții ​de inițializare ​(**setup()**). 
-    * **Modul de Pauza**: Simulatorul ​intra in pauza la inactivitate ​prelungitaasteptand ​resetarea ​manuala. +    * Bucle de execuție principală ​(**loop()**conținând ​logica jocului. 
- +    * Funcții ​dedicate pentru configurarea ​și gestionarea **întreruperilor ​ADC** (e.g., ​''​setupADCInterrupt()''​''​startADCConversion()''​). 
-  * **Surse ​si functii ​implementate**:​ +    * Rutina de serviciu a întreruperii ​ADC (''​ISR(ADC_vect)''​) pentru procesarea datelor senzorilor. 
-    * Functii ​de initializare ​(`setup()`). +    * Afișaj ​pe **LCD** al timpului de joc, numărului ​de sărituri și aplecări
-    * Bucla de executie principala ​(`loop()`continand ​logica jocului. +    * **LED-uri** pentru feedback vizual al luminozității ​LDR1.
-    * Functii ​dedicate pentru configurarea ​si gestionarea **intreruperilor ​ADC** (e.g., ​`setupADCInterrupt()``startADCConversion()`). +
-    * Rutina de serviciu a intreruperii ​ADC (`ISR(ADC_vect)`) pentru procesarea datelor senzorilor. +
-    * Afisaj ​pe **LCD** al timpului de joc, numarului ​de sarituri si aplecari+
-    * **LED-uri** pentru feedback vizual al luminozitatii ​LDR1.+
 </​note>​ </​note>​
- 
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
Line 68: Line 63:
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+<note tip>
  
-===== Jurnal =====+Github repo: https://​github.com/​Vinti03/​dino_chrome_game_simulator
  
 +<​html>​
 +<iframe width="​650"​ height="​450"​ src="​https://​www.youtube.com/​embed/​4xFtBEZV8PY?​si=l1JfPyoBCozot2YM"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ referrerpolicy="​strict-origin-when-cross-origin"​ allowfullscreen></​iframe>​
 +</​html>​
 {{:​pm:​prj2025:​mdinica:​dino_poza_1.jpg?​650x450}} {{:​pm:​prj2025:​mdinica:​dino_poza_1.jpg?​650x450}}
 {{:​pm:​prj2025:​mdinica:​dino_poza_2.jpg?​650x450}} {{:​pm:​prj2025:​mdinica:​dino_poza_2.jpg?​650x450}}
 {{:​pm:​prj2025:​mdinica:​dino_poza_3.jpg?​650x450}} {{:​pm:​prj2025:​mdinica:​dino_poza_3.jpg?​650x450}}
  
-<html> +</note>
-<iframe width="​560"​ height="​315"​ src="​https:​//​www.youtube.com/​embed/​4xFtBEZV8PY?​si=l1JfPyoBCozot2YM"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ referrerpolicy="​strict-origin-when-cross-origin"​ allowfullscreen></​iframe>​ +
-</html>+
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>+<note tip>
  
 +Prezentul proiect "Dino Game Simulator"​ a fost dezvoltat utilizand o varietate de resurse tehnice si educationale,​ grupate mai jos.
 +
 +=== Resurse Hardware ===
 +  * ''​Arduino UNO (ATmega328P)'':​
 +    * Datasheet ATmega328P: [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​ATmega48A-PA-88A-PA-168A-PA-328-P-DS-20001984A.pdf|ATmega328P Datasheet]]
 +    * Schema placii Arduino UNO: [[https://​docs.arduino.cc/​static/​f5aa473f309a473e0474668b5a004ef5/​A000066-schematic.pdf|Arduino UNO Rev3 Schematic]]
 +  * ''​Servomotor Micro 180 grade'':​
 +    * Informatii generale: [[https://​www.arduino.cc/​en/​Tutorial/​Sweep|Tutorial Servomotor]]
 +  * ''​Fotorezistoare (LDRs)'':​
 +    * Informatii generale: [[https://​www.arduino.cc/​en/​Tutorial/​BuiltInExamples/​AnalogReadSerial|Tutorial LDR]]
 +  * ''​Display LCD 16x2 (HD44780)'':​
 +    * Datasheet HD44780: [[https://​www.sparkfun.com/​datasheets/​LCD/​HD44780.pdf|HD44780 Datasheet]]
 +
 +=== Resurse Software ===
 +  * ''​Mediu de Dezvoltare'':​
 +    * Arduino IDE: [[https://​www.arduino.cc/​en/​software|Arduino IDE Software]]
 +  * ''​Librarii Standard Arduino'':​
 +    * `Servo.h`: [[https://​www.arduino.cc/​reference/​en/​libraries/​servo/​|Servo Library Reference]]
 +    * `LiquidCrystal.h`:​ [[https://​www.arduino.cc/​reference/​en/​libraries/​liquidcrystal/​|LiquidCrystal Library Reference]]
 +  * ''​Documentatie si Tutoriale'':​
 +    * Referinta Limbajului Arduino (C++): [[https://​www.arduino.cc/​reference/​en/​|Arduino Language Reference]]
 +    * Tutoriale ADC/​Intreruperi:​ [[https://​www.arduino.cc/​en/​pmwiki.php?​n=Reference/​AttachInterrupt|Arduino Interrupts Guide]] (General, pentru concepte)
 +
 +</​note>​
pm/prj2025/mdinica/andrei.vintilescu.1748293447.txt.gz · Last modified: 2025/05/27 00:04 by andrei.vintilescu
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