This shows you the differences between two versions of the page.
pm:prj2025:fstancu:alin_andrei.similea [2025/05/29 22:31] alin_andrei.similea [Hardware Design] |
pm:prj2025:fstancu:alin_andrei.similea [2025/05/30 00:18] (current) alin_andrei.similea [Concluzii] |
||
---|---|---|---|
Line 31: | Line 31: | ||
{{ :pm:prj2025:fstancu:schema_bloc_alin_similea.png?600 |}} | {{ :pm:prj2025:fstancu:schema_bloc_alin_similea.png?600 |}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | {{ :pm:prj2025:fstancu:schematic_alin_similea.png?650 |}} | ||
- | |||
+ | {{ :pm:prj2025:fstancu:schematic_alin_similea.png?600 |}} | ||
**Componente folosite** | **Componente folosite** | ||
Line 50: | Line 49: | ||
**Funcționalitate hardware & conexiuni** | **Funcționalitate hardware & conexiuni** | ||
- | 1. Arduino Nano\\ | + | **1.** Arduino Nano\\ |
Rol: controler principal al sistemului cu microcontroller ATmega328P. | Rol: controler principal al sistemului cu microcontroller ATmega328P. | ||
- | 2. Display MAR1801 (ST7735S - SPI)\\ | + | **2.** Display MAR1801 (ST7735S - SPI)\\ |
Rol: afișează starea jocului/mesaje către utilizator.\\ | Rol: afișează starea jocului/mesaje către utilizator.\\ | ||
Alimentare: 5V și GND\\ | Alimentare: 5V și GND\\ | ||
Line 70: | Line 69: | ||
- | 3. Butoane\\ | + | **3.** Butoane\\ |
Fiecare are pull-down extern de 10kΩ pentru a asigura citiri stabile (LOW default, HIGH la apăsare). | Fiecare are pull-down extern de 10kΩ pentru a asigura citiri stabile (LOW default, HIGH la apăsare). | ||
Line 77: | Line 76: | ||
* Confirm: conectat la A2 (PC2) | * Confirm: conectat la A2 (PC2) | ||
- | 4. LED-uri\\ | + | **4.** LED-uri\\ |
Rol: feedback vizual (selectare corectă/greșită) | Rol: feedback vizual (selectare corectă/greșită) | ||
Line 84: | Line 83: | ||
- | 5. Buzzer pasiv\\ | + | **5.** Buzzer pasiv\\ |
Rol: emite sunete (tonuri) în funcție de acțiunile utilizatorului | Rol: emite sunete (tonuri) în funcție de acțiunile utilizatorului | ||
* Conectat la D3 (PD3) prin rezistor de 220Ω. | * Conectat la D3 (PD3) prin rezistor de 220Ω. | ||
* Portul D3 de pe Arduino Nano are suport pentru PWM prin Timer2B, așa că e alegerea ideală pentru a controla un buzzer pasiv. | * Portul D3 de pe Arduino Nano are suport pentru PWM prin Timer2B, așa că e alegerea ideală pentru a controla un buzzer pasiv. | ||
- | 6. Utilizarea ADC pentru generarea de noise\\ | + | **6.** Utilizarea ADC pentru generarea de noise\\ |
Rol: generarea unui seed aleator pentru joc, prin citirea zgomotului electric de pe un pin analog neconectat. | Rol: generarea unui seed aleator pentru joc, prin citirea zgomotului electric de pe un pin analog neconectat. | ||
Line 133: | Line 132: | ||
Butonul stânga, dreapta și confirm sunt conectate pe portul C (PC0–PC2) și sunt tratați cu aceeași întrerupere externă (**PCINT1**). La detectarea unei apăsări, se setează un flag specific fiecărei acțiuni, iar logica este gestionată ulterior în loop() pentru decuplarea deciziilor față de **ISR**. | Butonul stânga, dreapta și confirm sunt conectate pe portul C (PC0–PC2) și sunt tratați cu aceeași întrerupere externă (**PCINT1**). La detectarea unei apăsări, se setează un flag specific fiecărei acțiuni, iar logica este gestionată ulterior în loop() pentru decuplarea deciziilor față de **ISR**. | ||
- | Pentru debounce, este folosit **Timer0** în modul CTC, cu un delay de aproximativ 80ms. Temporizatorul este activat doar temporar după declanșarea unei întreruperi, pentru a filtra apăsările false. | + | Pentru debounce, este folosit **Timer0** în modul CTC, cu un delay de aproximativ 80ms. |
- | Pentru resetarea jocului după câștig sau pierdere, se folosește **Timer1**, configurat tot în CTC cu un interval de 2 secunde. La expirare, se generează o întrerupere care reinitializează toate variabilele jocului și pornește o nouă rundă. | + | Pentru resetarea jocului după câștig sau pierdere, se folosește **Timer1**, configurat tot în CTC cu un interval de 2 secunde. Temporizatorul este activat doar temporar după declanșarea terminării jocului. La expirarea cuantei de timp, se generează o întrerupere care reinițializează toate variabilele jocului și pornește o nouă rundă. |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 149: | Line 148: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Mă bucur că am avut prilejul să duc la bun sfârșit primul meu proiect cu un microcontroller. Am reușit să integrez concepte aprofundate la laborator, precum lucrul cu întreruperi, timere, ADC și periferice (LCD SPI, buzzer). Astfel, cred că mi-a oferit o experiență practică valoroasă. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2025:fstancu:simileaalinandrei_334ca_spanzuratoarea.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 ===== | ||
Line 165: | Line 160: | ||
19.05.2025 - Scrierea codului\\ | 19.05.2025 - Scrierea codului\\ | ||
20.05.2025 - Completarea secțiunii Software Design\\ | 20.05.2025 - Completarea secțiunii Software Design\\ | ||
+ | 25.05.2025 - Final touches și concluzii | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf| AtMega328P Datasheet]]\\ |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | [[http://www.lcdwiki.com/1.8inch_Arduino_SPI_Module_ST7735S_SKU:MAR1801| 1.8inch Arduino SPI Module ST7735S SKU:MAR1801 Documentation]]\\ |
- | </note> | + | [[https://docs.arduino.cc/hardware/nano/#tech-specs| Arduino Nano Documentation]]\\ |
- | + | [[https://docs.arduino.cc/resources/pinouts/A000005-full-pinout.pdf| Arduino Nano Pinout]]\\ | |
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | [[https://forum.arduino.cc/t/can-i-use-all-the-analog-pins-of-arduino-nano-as-digital/923215| Arduino Forum]]\\ |
+ | [[https://pro.easyeda.com/editor | EasyEDA For Schematic]] | ||