ARDUINO: SENSORE DI DISTANZA AD ULTRASUONI - 3





IMPLEMENTAZIONE SOFTWARE

Dopo aver terminato il cablaggio si passa alla scrittura del codice. L'utilizzo di una libreria (NewPing.h) fornita e progettata da ELEGOO per questi sensori renderà il nostro codice breve e semplice.
Includiamo la libreria all'inizio del nostro codice, quindi utilizzando semplici comandi possiamo controllare il sensore.
Dal monitor seriale ( dal programma IDE di Arduino) sarà possibile vedere l'indicazione della distanza in cm tra il sensore e un oggetto posto di fronte al sensore. Muovendo il sensore vedrete cambiare il valore mostrato dal monitor seriale.

Di seguito il codice prova da carica su Arduino UNO R3.

La libreria  in formato ZIP  assieme al codice di seguito mostrato e altri esempi e' scaricabile da questo link: NewPing.h




#include <NewPing.h> // caricamento della liberia . questa deve essere prima installata

#define TRIGGER_PIN  12  // pin di Arduino usato per generare il segnale di trig.
#define ECHO_PIN     11  // pin di Arduino per leggere il segale ECHO in uscita dal modulo.
#define MAX_DISTANCE 200 // Massima distanza ammessa. misure maggiori danno errore (Valore massimo inseribile 400).

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // setup della libreria a cui sono dati il pin di trig, echo e massima distanza.

void setup() {
 Serial.begin(9600); // apertura della seriale a 9600 baud per leggerei risultati nel monitor seriale.
}

void loop() {
 delay(500);  // attesa di 500ms( 2 misure /sec). Il valore minimo inseribile e' 29ms .
 unsigned int uS = sonar.ping(); // fa un misura e restituisce il valore del tempo in us.
 Serial.print("Ping: ");
 Serial.print(uS / US_ROUNDTRIP_CM); // converte il valore in us in cm (se =0 fuori portata assenza del segnale di echo)
 Serial.println("cm");
}


Di seguito lo screen shot che raffigura la schermata del monitor seriale durante il funzionamento del circuito di test:
microst.it