This shows you the differences between two versions of the page.
pm:prj2025:iotelea:mihai.tanase1509 [2025/05/12 22:08] mihai.tanase1509 [Software Design] |
pm:prj2025:iotelea:mihai.tanase1509 [2025/05/12 22:22] (current) mihai.tanase1509 [Software Design] |
||
---|---|---|---|
Line 18: | Line 18: | ||
{{pm:prj2025:iotelea:diagrama_mihai1509.png}} | {{pm:prj2025:iotelea:diagrama_mihai1509.png}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Microcontroller-ul va fi focusat **doar** pe un senzor la un moment dat; pentru a analiza pe celalalt, se va apasa **un buton**, generandu-se astfel o **intrerupere**. | ||
+ | |||
+ | In timp ce se ghiceste pragul, in spate va rula **un timer**, pentru a forta pe jucator sa actioneze mai rapid si eficient. | ||
+ | **Doua LED-uri** vor fi aprinse in tot acest timp, semnaland cat de departe este valoarea inregistrata fata de pragul ales de microcontroller, respectiv cat timp a mai ramas din sesiunea curenta. | ||
+ | |||
+ | Spre exemplu, pragul ales pentru senzorul rezistiv este 3.5 (Kg). Daca s-a inregistrat valoarea 9 (Kg), LED-ul se va aprinde cu culoarea rosie; daca s-ar fi inregistrat valoarea 3.5, atunci LED-ul ar fi fost verde si jocul s-ar fi terminat, urmand sa se afiseze mesajul zilei. | ||
+ | |||
+ | Prin sesiune se intelege perioada incepand cu rularea timer-ului si punctul in care timer-ul ajunge la valoarea 0; de obicei 25 de secunde. | ||
+ | Odata ce timer-ul a ajuns la 0, se va genera aleator un alt prag si va incepe o noua sesiune. | ||
+ | |||
+ | Timer-ul se reseteaza doar cand: | ||
+ | * se ghiceste pragul | ||
+ | * timer-ul ajunge la 0 | ||
+ | |||
+ | Finalul jocului presupune afisarea unui mesaj **prin UART** laptop-ului conectat la microcontroller; mesajul este doar unul, hardcodat si se incarca odata cu incarcarea codului pe microcontroller (deci este un string retinut pe stiva). Totodata, daca pragul a fost atins, servomotorul va porni si va roti moneda lipita pe acesta. | ||
+ | |||
+ | |||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 35: | Line 56: | ||
x1 <html><a class="resistance_sensor" href="https://www.optimusdigital.ro/ro/motoare-servomotoare/26-micro-servomotor-sg90.html?gQT=1">Servomotor</a></html> | x1 <html><a class="resistance_sensor" href="https://www.optimusdigital.ro/ro/motoare-servomotoare/26-micro-servomotor-sg90.html?gQT=1">Servomotor</a></html> | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | Arduino IDE | + | |
+ | Mediu de dezvoltare: Arduino IDE | ||