This shows you the differences between two versions of the page.
pm:prj2025:iotelea:mihai.tanase1509 [2025/04/29 23:58] mihai.tanase1509 a |
pm:prj2025:iotelea:mihai.tanase1509 [2025/05/12 22:22] (current) mihai.tanase1509 [Software Design] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Mini Bâlci ====== | ====== Mini Bâlci ====== | ||
- | ===== Descriere generală ===== | + | ===== Introducere ===== |
Proiectul curent contine 2 joculete des intalnite la balci, anume <html><a class="high_striker" href="https://en.wikipedia.org/wiki/High_striker">High Striker</a></html> si ceva similar cu Wheel of Fortune (dar nu ofera recompense). | Proiectul curent contine 2 joculete des intalnite la balci, anume <html><a class="high_striker" href="https://en.wikipedia.org/wiki/High_striker">High Striker</a></html> si ceva similar cu Wheel of Fortune (dar nu ofera recompense). | ||
Line 7: | Line 7: | ||
Proiectul este in esenta un singur joc; scopul jocului este de a stimula unul din senzori, la un moment dat, la un prag aleator; odata ghicit pragul, jocul se considera terminat si va afisa, device-ului conectat la microcontroller, un <html><a class="resistance_sensor" href="https://www.youtube.com/watch?v=xvFZjo5PgG0">mesaj al zilei</a></html>. | Proiectul este in esenta un singur joc; scopul jocului este de a stimula unul din senzori, la un moment dat, la un prag aleator; odata ghicit pragul, jocul se considera terminat si va afisa, device-ului conectat la microcontroller, un <html><a class="resistance_sensor" href="https://www.youtube.com/watch?v=xvFZjo5PgG0">mesaj al zilei</a></html>. | ||
- | <note warning> | + | ===== Descriere generala ====== |
Pragul este o valoare aleasa aleator de catre microcontroller, din domeniul pe care il suporta senzorul. | Pragul este o valoare aleasa aleator de catre microcontroller, din domeniul pe care il suporta senzorul. | ||
Line 13: | Line 14: | ||
(Domeniul pe care il suporta senzorul de forta rezistiv) | (Domeniul pe care il suporta senzorul de forta rezistiv) | ||
- | |||
- | </note> | ||
== Diagrama bloc == | == Diagrama bloc == | ||
- | {{pm:prj2025:iotelea:diagram.png}} | + | {{pm:prj2025:iotelea:diagrama_mihai1509.png}} |
- | ===== Hardware Design ===== | ||
- | <note tip> | ||
- | x1 <html><a class="resistance_sensor" href="https://ardushop.ro/ro/senzori/1376-senzor-de-forta-rezistiv-fsr402-6427854020079.html">Senzor de forta rezistiv</a></html> | ||
- | x1 <html><a class="resistance_sensor" href="https://www.amazon.com/SMAMZ-Pieces-photoelectric-photoresistor-Suitable/dp/B0CLJ9W2YX">Fotorezistor</a></html> | ||
- | |||
- | x1 LED - pentru fotorezistor | ||
- | |||
- | x1 LED - pentru a semnala cat de departe, fata de prag, este stimulul curent | ||
- | |||
- | x1 LED - pentru timer, arata cat timp a mai ramas | ||
- | |||
- | x1 buton - pentru a schimba focusul microcontroller-ului, de la un senzor la celalalt | ||
- | </note> | ||
- | |||
- | ===== Software Design ===== | ||
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**. | 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. | 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** se vor aprinde 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. | + | **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. |
- | <note tip> | ||
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. | 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. | ||
- | </note> | ||
- | <note tip> | + | 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. |
- | Prin sesiune se intelege perioada incepand cu rularea timer-ului si punctul in care timer-ul ajunge la valoarea 0; de obicei 60 de secunde. | + | |
Odata ce timer-ul a ajuns la 0, se va genera aleator un alt prag si va incepe o noua sesiune. | Odata ce timer-ul a ajuns la 0, se va genera aleator un alt prag si va incepe o noua sesiune. | ||
- | </note> | ||
- | <note warning> | ||
Timer-ul se reseteaza doar cand: | Timer-ul se reseteaza doar cand: | ||
* se ghiceste pragul | * se ghiceste pragul | ||
* timer-ul ajunge la 0 | * timer-ul ajunge la 0 | ||
- | </note> | ||
- | 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). | + | 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. |
- | ===== Bibliografie/Resurse ===== | ||
- | **Resurse Hardware:** | ||
- | http://www.whatimade.today/counting-speed-of-rotation-with-an-arduino-an-led-and-an-ldr-light-dependent-resistor/ | + | ===== Hardware Design ===== |
+ | |||
+ | x1 <html><a class="resistance_sensor" href="https://ardushop.ro/ro/senzori/1376-senzor-de-forta-rezistiv-fsr402-6427854020079.html">Senzor de forta rezistiv</a></html> | ||
+ | |||
+ | x1 <html><a class="resistance_sensor" href="https://www.amazon.com/SMAMZ-Pieces-photoelectric-photoresistor-Suitable/dp/B0CLJ9W2YX">Fotorezistor</a></html> | ||
+ | |||
+ | x1 LED - pentru fotorezistor | ||
+ | |||
+ | x1 LED - pentru a semnala cat de departe, fata de prag, este stimulul curent | ||
+ | |||
+ | x1 LED - pentru timer, arata cat timp a mai ramas | ||
+ | |||
+ | x1 buton - pentru a schimba focusul microcontroller-ului, de la un senzor la celalalt | ||
+ | |||
+ | 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 ===== | ||
+ | Mediu de dezvoltare: Arduino IDE | ||