Esame della comunicazione fra PC e Arduino quando si usa S4A.
Riepilogo
Con le piattaforme di programmazione "Scratch for Aduino" (S4A) e "Snap for Arduino" (Sn4A) è possibile utilizzare la scheda Arduino come interfaccia del PC per connettersi col mondo fisico. In questo modo il computer acquisisce dati e produce effetti nell'ambiente per mezzo di un programma che svolge automaticamente il compito assegnato.
Le due piattaforme di programmazione utilizzano una interfaccia grafica molto intuitiva per cui diventa facile lavorare sull'ambiente anche se non si è programmatori esperti.
Il principio di funzionamento è il seguente:
- sulla scheda Arduino viene caricato uno sketch che ha il solo compito di comunicare col PC per scambiare dati che riguardano le porte analogiche e digitali.
- la piattaforma di programmazione installata sul PC ha una sezione dedicata alla comunicazione con Arduino per lo scambio dei dati
- sul PC viene eseguito un programma costruito dall'utente che utilizza i dati scambiati con Arduino.
Come conseguenza si ha che PC e Arduino devono rimanere collegati tramite il cavo USB; Arduino non può funzionare con la sola alimentazione perchè non c'è alcun programma caricato che ne istruisca il funzionamento.
Altra conseguenza riguarda i tempi della comunicazione: i dati vengono scambiati a pacchetti con intervalli di "silenzio" fra un pacchetto ed il successivo: non si può pretendere che la rapidità del processo che si vuole eseguire sia pù elevata della velocità di scambio delle informazioni.
Per capire qualcosa di più sono state effettuate delle misure con un oscilloscopio inserito sui pin D0 e D1 di Arduino-UNO. Questi pin vengono utilizzati da Arduino per ricevere (Rx) su D0 e trasmettere (Tx) su D1 dei dati. In questo modo si possono osservare i pacchetti di impulsi scambiati.
Il materiale riguardante le misure effettuate è disponibile a questo link.
Alcune conclusioni sono da approfondire, qui mi sono accontentato di una prima esplorazione che ritengo più che sufficiente per apprezzare i limiti insiti nella modalità d'uso via cavo USB.
Un altro aspetto sulla comunicazione di arduino riguarda la comunicazione seriale.