This shows you the differences between two versions of the page.
pm:prj2021:amocanu:ardudino [2021/06/03 09:29] rares_daniel.perete |
pm:prj2021:amocanu:ardudino [2021/06/03 10:29] (current) rares_daniel.perete [Cod Python] |
||
---|---|---|---|
Line 40: | Line 40: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | * Mediu de dezvoltare: Arduino IDE | + | * Medii de dezvoltare: Arduino IDE și PyCharm |
- | * Biblioteci utilizate: Servo.h (pentru comunicarea dintre plăcuță și servomotor) | + | ==== Cod Arduino UNO ==== |
- | + | ||
- | ===== Cod Arduino UNO ===== | + | |
* Funcția setup doar pornește Serial-ul cu un baudrate de 9600. | * Funcția setup doar pornește Serial-ul cu un baudrate de 9600. | ||
* Funcția loop citește datele senzorilor și funcționează ca un FSM. În starea implicită NONE, se așteaptă ori ca senzorul de forță să nu mai detecteze greutate (caz în care jucătorul sare și se ajunge în starea JUMPING), sau ca senzorul de înclinare să se activeze (caz în care jucătorul se apleacă și se ajunge în starea DUCKING). În stările aferente celor două acțiuni se așteaptă întoarcerea jucătorului la starea inițială. | * Funcția loop citește datele senzorilor și funcționează ca un FSM. În starea implicită NONE, se așteaptă ori ca senzorul de forță să nu mai detecteze greutate (caz în care jucătorul sare și se ajunge în starea JUMPING), sau ca senzorul de înclinare să se activeze (caz în care jucătorul se apleacă și se ajunge în starea DUCKING). În stările aferente celor două acțiuni se așteaptă întoarcerea jucătorului la starea inițială. | ||
* Există modul de ”SEND_STOP_SIGNAL” ce poate fi setat pentru a trimite un semnal special catre script-ul de Python, pentru a-l opri. Acest semnal se va declanșa în momentul în care jucătorul se află într-o săritură mult prea lungă. | * Există modul de ”SEND_STOP_SIGNAL” ce poate fi setat pentru a trimite un semnal special catre script-ul de Python, pentru a-l opri. Acest semnal se va declanșa în momentul în care jucătorul se află într-o săritură mult prea lungă. | ||
- | ===== Cod Python ===== | + | ==== Cod Python ==== |
* Fiecare semnal are asociat o acțiune precum o apăsare de tastă, SIGNAL_DUCK_START și SIGNAL_DUCK_END legându-se de tasta Arrow Down, ce reprezintă aplecarea dinozaurului, iar SIGNAL_DUCK_JUMP apâsând tasta SPACE. Semnalul special SIGNAL_STOP oprește execuția script-ului. | * Fiecare semnal are asociat o acțiune precum o apăsare de tastă, SIGNAL_DUCK_START și SIGNAL_DUCK_END legându-se de tasta Arrow Down, ce reprezintă aplecarea dinozaurului, iar SIGNAL_DUCK_JUMP apâsând tasta SPACE. Semnalul special SIGNAL_STOP oprește execuția script-ului. | ||