Cerca

modulo attività

modulo tecnica

Login Form

veicoloUn veicolo con due motori indipendenti viene pilotato con comandi inviati da tastiera tramite cavo USB grazie alla piattaforma S4A (Scratch for Arduino).

Quando i due motori ruotano alla stessa velocità il veicolo si muove in avanti o indietro in linea retta; per sterzare si rallenta la ruota interna alla curva e si accelera la ruota esterna.

 

Un esempio in questo video.

   

In questo esempio, la guida del veicolo è attivata dopo avere fatto click sullo sprite del veicolo ed avviene con l'uso del tasto <spazio> e dei 4 tasti <freccia>; ripetendo la pressione del tasto la velocità o la sterzata si accentuano : 

  1. tasto <spazio>: arresto dei motori (veicolo fermo)
  2. tasto <su>: i due motori accelerano la marcia in avanti o rallentano la marcia indietro
  3. tasto <giù>: i due motori accelerano la marcia in indietro o rallentano la marcia avanti
  4. tasto <sx>: motore sinistro rallentato e motore destro accelerato (sterzata a sinistra)
  5. tasto <dx>: motore destro rallentato e motore sinistro accelerato (sterzata a destra)
  • Nota1: quando il veicolo è in retromarcia, il tasto <su> ne rallenta la velocità in quanto comanda i motori ad aumentare "in avanti" e quando il veicolo è in "marcia avanti" il tasto <giù> ne rallenta la velocità.  
  • Osservazioni in merito al video:

 

  1. - i motori non si avviano subito a causa dell'attrito di primo stacco, la tensione bassa non è sufficiente ad avviare i motori. Se invece sono già in moto, possono ruotare anche se alimentati a tensioni basse: il software può essere modificato per gestire meglio questa situazione e non avere momenti di stallo dove non corrisponde un'azione in seguito ad un comando via tastiera.
  2. - quando il motore è alimentato ma bloccato si sente chiaramente un suono: è dovuto alla PWM che per Arduino funziona alla frequenza di 488Hz (praticamente il SI centrale della scala musicale) su una delle due ruote o a 976Hz (il SI dell'ottava superiore) sull'altra ruota.
  3. - i motori non sono identici per cui con la stessa tensione di comando uno dei due si muove più veloce o si avvia prima: il software deve correggere questa asimmetria
  4. - rallentare il veicolo usando il tasto di direzione opposta non è un metodo efficiente a causa dei notevoli ritardi di risposta del sistema tastiera-PC-interprete S4A-Arduino: occorre studiare altri modi di guidare il veicolo usando tasti di inversione rapida del moto

 

  • Sono possibili altre varianti del programma prevedendo tasti appositi per l'inversione di marcia e velocità fisse a seconda del tasto premuto.
  • In un video è presentata la soluzione filoguidata adottata da un alunno del CFP EnAIP di Rivoli che è più elegante ed efficiente di quella qui presentata poichè consente una sterzata più precisa e senza incertezze.