This shows you the differences between two versions of the page.
|
pm:prj2023:adarmaz:utictactoe [2023/05/26 16:52] mihai_cosmin.rosu |
pm:prj2023:adarmaz:utictactoe [2023/05/27 18:17] (current) mihai_cosmin.rosu |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Ultimate Tic-Tac-Toe - Roșu Mihai Cosmin - 333CA ====== | ====== Ultimate Tic-Tac-Toe - Roșu Mihai Cosmin - 333CA ====== | ||
| + | |||
| + | ===== Demo ===== | ||
| + | |||
| + | <html> | ||
| + | <iframe | ||
| + | src="https://www.youtube.com/embed/XRYpv7-YvOo" | ||
| + | title="YouTube video player" | ||
| + | frameborder="0" | ||
| + | allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" | ||
| + | allowfullscreen | ||
| + | style="aspect-ratio: 16/9; width: 100%;" | ||
| + | ></iframe> | ||
| + | </html> | ||
| ===== Introducere ===== | ===== Introducere ===== | ||
| Line 57: | Line 70: | ||
| * Pentru dezvoltarea proiectului am folosit **Arduino IDE**, în cadrul căruia am importat următoarele biblioteci: | * Pentru dezvoltarea proiectului am folosit **Arduino IDE**, în cadrul căruia am importat următoarele biblioteci: | ||
| - **Adafruit GFX**, bibliotecă ce se poate importa direct din IDE, necesară pentru a desena/scrie pe ecran | - **Adafruit GFX**, bibliotecă ce se poate importa direct din IDE, necesară pentru a desena/scrie pe ecran | ||
| - | - **Arduino ST7789 Fast**, bibliotecă externă, folosită pentru a comunica cu ecranul prin **SPI**, folosește **Adafruit GFX** | + | - **Arduino ST7789 Fast**, bibliotecă externă, folosită pentru a comunica cu ecranul prin **SPI**, folosește **Adafruit GFX** și **SPI.h** |
| * În cadrul implementării am folosit și operații cu registre pentru: | * În cadrul implementării am folosit și operații cu registre pentru: | ||
| - **ADC**: Am ales să configurez și să folosesc ADC astfel, fiindcă am avut nevoie să controlez prescalerul folosit de acesta. Acest lucru era necesar fiindcă pentru o citire de ADC, de fapt au loc 100 de citiri, pentru a reduce noise-ul. | - **ADC**: Am ales să configurez și să folosesc ADC astfel, fiindcă am avut nevoie să controlez prescalerul folosit de acesta. Acest lucru era necesar fiindcă pentru o citire de ADC, de fapt au loc 100 de citiri, pentru a reduce noise-ul. | ||
| - **PWM**: Pentru a trimite un semnal PWM buzzer-ului, am ales să folosesc registre pentru a configura **Timer1** în modul **FastPWM**. De asemenea, pentru a determina când trebuie oprit semnalul PWM, folosesc întreruperea de overflow a timer-ului. | - **PWM**: Pentru a trimite un semnal PWM buzzer-ului, am ales să folosesc registre pentru a configura **Timer1** în modul **FastPWM**. De asemenea, pentru a determina când trebuie oprit semnalul PWM, folosesc întreruperea de overflow a timer-ului. | ||
| - | - **Întreruperi**: Pentru întreruperile externe **INT0**, **INT1** și **TIMER1_OVF**. | + | - **Întreruperi**: Pentru întreruperile externe **INT0**, **INT1** și întreruperea de timer **TIMER1_OVF**. |
| ==== Implementare generală ==== | ==== Implementare generală ==== | ||