Controllore ESC con arduino UNO e un joypad

Questa cosa è parte di un progetto più grande ma non importa :wink:
Quello che voglio costruire è un controllore per ESC che mi permetta di regolare la velocità di un motore brushless utilizzando un joypad che se premuto mi ferma il motore. Se sollevato incrementi gradualmente la velocità e se abbassato la riduca gradualmente.
Questa è la mia prima volta con arduino (in realtà non lo ho ancora in casa mi arriverà a breve mi sono comprato questo kit https://www.amazon.it/gp/product/B01JJ23CI6/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 che contiene un po’ di tutto così oltre al progetto che voglio fare posso giocherellare con altro ;)).

Gli ESC in questione sono progettati per lavorare come servocomandi e quindi ho utilizzato la libreria servo. Invece il joypad sono 2 resistori variabili per i due assi e un pulsante.

Nell’attesa ho buttato giù un po’ di codice, quello per cui ho scritto è se potevate dargli un’occhiata, insultarmi a dovere per quanto lo avrò scritto schifoso, e magari ricevere qualche consiglio.

P.S. Per l’azione del pulsante ho usato questa libreria GitHub - leethomason/Button: Solid and reliable button / switch handling for Arduinos with some nice extra features. va bene o ne conoscete di migliori?

marcomg:
Nell'attesa ho buttato giù un po' di codice, quello per cui ho scritto è se potevate dargli un'occhiata, insultarmi a dovere per quanto lo avrò scritto schifoso, e magari ricevere qualche consiglio.

Confermo che il codice funziona. Lo schema elettrico è molto semplice: segnale ESC (o servo tanto è uguale) pin 2. Pulsane joypad pin 8, asse Y pin A0 e i restanti collegamenti a terra e anodo.

Qualcuno ha voglia di dare un'occhiata al codice?

Ad una rapida occhiata non mi sembra che tu abbia bisogno di una balia ;).

SukkoPera:
Ad una rapida occhiata non mi sembra che tu abbia bisogno di una balia ;).

Beh, grazie <3

Comunque essendo la prima volta che utilizzo arduino e non avendo mai scritto niente di serio in C (in realtà non ho mai scritto codice serio in vita mia :P) avevo (ho tutt’ora) paura di non aver fatto le cose per bene (usare un metodo poco utile per fare le cose, un cattivo design pattern. Forse per rimanere in OOP dovrei usare una classe ESC per la gestione del gas).
Probabilmente la cosa sta diventando paranoia ora visto che “se funziona quanto basta non toccare che si guasta” è sacrosanto e lo scopo del progetto (veramente banale, quasi un spreco della board) è stato raggiunto :grinning: