Arduino/leggere una stringa numerica: differenze tra le versioni

Da PNLUG.
(impostazione iniziale.)
 
m (gli obiettivi)
Riga 5: Riga 5:
  
 
* Suddividere il programma in piccole subroutine elementari, ciascuna di poche righe.
 
* Suddividere il programma in piccole subroutine elementari, ciascuna di poche righe.
* Curare la trasmissione dei dati
+
* Gestire la trasmissione dei dati tra le subroutine attraverso puntatori, piuttosto che scambiando il contenuto delle variabili.
 +
* Separare le funzioni dal corpo principale del programma, come se fossero delle vere e proprie librerie indipendenti.
 +
* Adeguare l'algoritmo in funzione delle caratteristiche concrete di funzionamento del dispositivo reale (cioè la porta seriale).

Versione delle 22:56, 31 dic 2013

Per gestire un dispositivo esterno con arduino, è necessario costruire alcune funzioni di controllo.

Una semplicissima, può essere quella di spedire un numero intero per richiedere la stampa di un numero uguale di righe di output, ciascuna corripondente a singola misura dell'accelerometro.
Il numero richiesto, tuttavia, deve essere digitato dall'utente, in formato decimale, ma utilizzato dal sistema in formato binario. Decidiamo di commissionare la conversione ad arduino. In questo caso, non possediamo funzioni pronte, ma siamo costretti ad affrontare un piccolo esercizio di programmazione in linguaggio C. Possiamo anche porci qualche piccolo obiettivo educativo in più, come ad esempio:

  • Suddividere il programma in piccole subroutine elementari, ciascuna di poche righe.
  • Gestire la trasmissione dei dati tra le subroutine attraverso puntatori, piuttosto che scambiando il contenuto delle variabili.
  • Separare le funzioni dal corpo principale del programma, come se fossero delle vere e proprie librerie indipendenti.
  • Adeguare l'algoritmo in funzione delle caratteristiche concrete di funzionamento del dispositivo reale (cioè la porta seriale).