ArduDino
Autor
Introducere
Descriere generală
Sumar implementare
Pentru simularea celor două acțiuni au fost folosiți doi senzori, unul de presiune/forță, montat de preferat la baza piciorului, și unul de înclinare, montat în apropierea umărului pentru a fi activat în momentul unei aplecări.
Cât timp jucătorul stă pe loc, senzorul de presiune este activat de greutatea corporală. În momentul în care acesta nu mai este activat, se consideră că jucătorul a realizat o săritură.
Senzorul de înclinare are o ieșire digitală, întrucât semnalele lui sunt 0, LOW, în momentul în care acesta stă în poziție ortostatică, și 1, HIGH, în momentul în care acesta este inclinat la cel puțin 45 de grade.
Proiectul conține un script scris în limbajul Python, folosit pentru a citi semnalele trimise prin Serial de către Placa Arduino și a le traduce în apăsări de taste.
Schemă bloc
Hardware Design
Listă de componente
Schemă electrică
Software Design
Cod Arduino UNO
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ă.
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
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.
Rezultate obţinute
Concluzii
Am reușit să mă folosesc de serial și un script pentru a transforma input de senzori în input de tastatură.
Legăturile pot fi îmbunătățite, utilizând fire mai lungi si accesorii pentru fixarea senzorilor în locurile intenționate.
Download
Bibliografie/Resurse