Atletica & Arduino: come utilizzare il microcontrollore negli allenamenti

Atletica & Arduino: come utilizzare il microcontrollore negli allenamenti

Atletica & Arduino: come utilizzare il microcontrollore negli allenamenti

 

Nell’atletica, lo scopo principale, è quello di fare la prestazione cronometrica migliore, cercando di abbassare il proprio personale ogni volta che si corre. L’elettronica, nel corso degli anni, è sicuramente entrata in questo sport; durante le gare, il tempo viene preso elettronicamente e i dati vengono caricati entro poche ore sui database della FIDAL, l’ente che regole le attività a livello nazionale.

Atletica-leggera

Tuttavia, il tempo preso manualmente, viene ancora usato, ma ha diversi svantaggi; il primo è quello che è meno preciso rispetto a quello elettrico e secondo richiede la presenza di un’altra persona, sopratutto per la velocità, dal momento che auto cronometrarsi per distanze brevi, falsa abbastanza il tempo. Ma per chi vuole utilizzare la tecnologia del tempo elettrico, anche durante i propri allenamenti, senza spendere troppo come può farlo ? La risposta è Arduino !

Arduino Starter Kit

Questo fantastico controllore, dal costo contenuto, può infatti permette di tenere traccia dei propri tempi durante l’allenamento e addirittura, se si possiede una connessione ad Internet, caricare i dati in un proprio database SQL per compare le prestazioni, anche in diverse giornate. Ma coma funziona esattamente ? Prima di rispondere vediamo cosa è necessario per il nostro progetto:

 

Requisiti Hardware

 

  • 1 x Arduino Uno
  • 1 x Buzzer Piezo
  • 1 x HC-S004 Sensore ad ultrasuoni
  • 1 x Led
  • 1 x Interruttore a pulsate
  • 1 x Resistenza da 1 kOhm
  • 6 x Cavi flessibili

 

Requisiti Software

 

 

Cosa succede in gara

 

Le gare di velocità, fino ai 400 metri, hanno tutte una partenza dai blocchi e ad ognuno dei corridori è assegnata una corsia, nella quale deve rimanere per evitare squalifiche. La procedura della partenza dei blocchi è così strutturata:

 

  • Fase 1: Gli atleti hanno già posizionato il proprio blocco e si trovano dietro di esso
  • Fase 2: Il giudice chiama gli atleti con la frase “ai vostri posti”
  • Fase 3: Una volta che il giudice ha verificato tutti gli atleti si trovano sui blocchi nella posizione corretta, dice la frase “pronti”, nella quale gli atleti si devono mettere nella posizione di partenza
  • Fase 4: Attraverso uno sparo viene impartito il via. Dal punto di vista cronometrico, il tempo parte effettivamente nello sparo, ma la partenza dell’atleta parte con un ritardo di 0.250 secondi, dovuto “alla lentezza” del nostro apparato nervoso
  • Fase 5: Corsa nei percorso stabilito
  • Fase 6: Arrivo. Il tempo viene fermato quando atleta supera con il petto la linea del traguardo

Ora che sappiamo come effettivamente funziona una gara di atletica, possiamo passare al nostro Arduino. Il nostro microcontrollore viene posizionato all’arrivo, sulla riga del traguardo ad un’altezza pari a circa 1.50 metro. La procedura di partenza, viene riprodotta in questo modo; l’atleta preme il pulsante, con il quale si da il via ad un conto alla rovescia. Infatti c’è un tempo di recupero, nel quale l’atleta dovrà posizionarsi sulla linea di partenza. Al primo beep, l’atleta dovrà già essere sui blocchi e dovrà mettersi nella posizione di “pronti”. Al secondo beep, partirà effettivamente il tempo e quindi il corridori. Il cronometro viene fermato, quando il ragazzo passerà davanti al sensore ad ultrasuoni. Questo trasduttore, riesce a percepire il passaggio della persona, perché la distanza che precedentemente misurava, è cambiata. L’utente potrà vedere il proprio tempo sul seriale di Arduino. In alternativa, è possibile sfruttare la connessione ad Internet, per caricare i dati su un server SQL, per salvare i dati. Tutto chiaro ? Spero proprio di si !

 

Il codice, che prende il nome di Atletica_Tempo_ECHO, è possibile scaricarlo dalla mia repo su GitHub, dal seguente link https://github.com/jackbell16/Atletica.

github-logo

In questa repo è possibile vedere altri codici di programmi che vanno ancora testati. Per esempio il codice che permette di caricare i propri dati su un server SQL, è perfettamente funzionante, ma per ora funziona solo un atleta, nel senso che i tempi vengono caricati unicamente per quella persona. Tuttavia un codice simile a quello riportato si chiama Atletica_Tempo_Easy. In questo caso non sarà possibile calcolare il tempo impiegato, ma un led luminoso è in grado di farci capire se il tempo effettuato è inferiore a quello desiderato. Trattiamo un po’ più da vicino i programmi presenti:

 

Atletica_Tempo_Echo

Questo programma, permette all’atleta di prendere il relativo tempo, attraverso un segnale di beep, che indica il via, mentre per quanto riguarda lo “stop del tempo”, viene fatto attraverso un sensore ad ultrasuoni, che in grado di verificare la differenza di misura di distanza, che dunque permette di stabilire il passaggio della persona. Il programma, è funzionante, ha un piccolo problema; il beep viene fatto partire all’arrivo e questo può non essere sentito dallo sportivo. Inoltre, c’è un fatto fisico da tenere in considerazione. Il suono viaggia ad una velocità pari a circa 300 m/s e quindi c’è un leggero ritardo tra quando la persona sente il beep e quando parte il tempo. Questo è facilmente modificabile in due modi:

 

  1. Si può aggiungere un delay all’interno del codice
  1. Utilizzare due Arduino Uno, uno posto alla partenza e uno posto all’arrivo, dove il primo invio in segnale e viene inserito qui il beep, mentre il secondo stabilisce il tempo (la luce viaggia ad una velocità pari a 300.000 km/s e quindi è trascurabile questo ritardo !)

 

Nelle prossime versioni, saranno introdotto queste feature, per migliorare il funzionamento.

 

Atletica_Tempo_Echo_MySQL

 

Questo programma è simile a quello precedentemente, con la differenza che i dati vengono caricati su un server con presente un DB. Sul DB, è presente questo Schema Logico:

 

Atleta(IDAtleta, Cognome, Nome, Anno)

Risultato(IDAtleta, Tempo, Data, Ora)

 

IDAtleta di Atleta è chiave esterne per Risultato. Questo schema presuppone che i tempi registrati, vengano fatte su una distanza pre-stabilita. In realtà, con poche variazioni, è possibile renderlo utilizzabili su tutte le misure. Per renderlo funzionante il codice, occorre modificare i dati all’inizio del codice, inserendo i dati dei propri dispositivi, quali server_ip, nome utente e password della propria installazione MySQL.

 

Atletica_Tempo_Easy

 

Questo programma, presuppone che l’atleta voglia fare una prestazione inferiore ad un certo tempo stabilito. Questo avviene attraverso un LED luminoso, posto sull’arrivo. I restanti due programmi, hanno lo stesso funzionamento, con la differenza che annullano il problema del ritardo del suono.

A breve verrano caricati i video dimostrativi, che spiegano come funzionano i programmi. Qualsiasi commento/feedback è ben accettato, attraverso un commento.

pdfGuida scaricabile in formato PDF

ismanettoneblog

Un pensiero su “Atletica & Arduino: come utilizzare il microcontrollore negli allenamenti

I commenti sono chiusi.