Come misurare distanza con Arduino

09/11/2011 by admin

Due sensori per misurare la distanza con il Arduino sono estremamente popolari: il sensore di prossimità a raggi infrarossi e il telemetro ad ultrasuoni. Lavorano in modo simile e raggiungere più o meno la stessa cosa, ma è importante scegliere il sensore giusto per l'ambiente si è in.

Un sensore di prossimità ad infrarossi ha una sorgente di luce e un sensore. La sorgente di luce rimbalza luce infrarossa off oggetti ed indietro al sensore, e il tempo necessario alla luce per tornare è misurato per indicare la distanza di un oggetto.

Un telemetro ultrasonico spara fuori le onde sonore ad alta frequenza e in ascolto per un eco quando colpiscono una superficie solida. Misurando il tempo che ci vuole un segnale di riprendersi, telemetro ultrasonico può determinare la distanza percorsa.

Sensori di prossimità a raggi infrarossi non sono così precise e hanno una gamma molto più breve di telemetri a ultrasuoni.

Si consideri il seguente durante la pianificazione:

  • Complessità: Entrambi questi sensori sono progettati per essere estremamente facile da integrare con progetti Arduino. Nel mondo reale, sono utilizzati per applicazioni elettroniche analoghe, come i contatori di prossimità sul retro delle automobili che emettono un suono, come ci si avvicina al marciapiede. Ancora una volta, la complessità principale li sta alloggiando efficace.

    Sensori infrarossi di prossimità quali quelli prodotti da Shape hanno fori utili sulla parte esterna del corpo del sensore. Maxbotix rende telemetri ad ultrasuoni che non hanno tali supporti, ma la loro forma cilindrica li rende semplici da montare in una superficie praticando un foro passante.
  • Costo: sensori di prossimità a infrarossi un costo di circa $ 15 (£ 10) e hanno una gamma fino a circa 59 pollici o meno. Telemetri ultrasuoni hanno una gamma molto più ampia possibile e precisione, ma un altrettanto ottimo prezzo, costano tra i $ 27 (£ 18) per un sensore in grado di leggere fino a 254 pollici (645 cm) e $ 100 (£ 65) per un più resistente agli agenti atmosferici modello che può leggere fino a 301 pollici (765 cm).
  • Dove: Un'applicazione comune per questi sensori sta monitorando la presenza di una persona o di un oggetto in un particolare spazio, soprattutto quando un tampone di pressione sarebbe troppo ovvie o facile da evitare, o quando un sensore PIR misurerebbe troppo ampiamente. Utilizzando un sensore di prossimità consente di sapere dove qualcuno è in linea retta da quel sensore, che lo rende uno strumento molto utile.

Sensori di prossimità a infrarossi sono bene in ambienti bui, ma svolgono terribilmente in luce diretta del sole. La Range Finder MaxBotix ultrasuoni è uno dei sensori più affidabili. Quando si utilizza telemetri a ultrasuoni, è anche possibile scegliere la larghezza o restringere una trave che si desidera. Un grande, sensore a forma di lacrima è ideale per la rilevazione di oggetti di grandi dimensioni che si muovono in una direzione generale, mentre fasci stretti sono l'ideale per la misurazione di precisione.

In questo esempio, si impara a misurare le distanze precise utilizzando un MaxBotix LV-EZ0. Il EZ0, EZ1, EZ2, EZ3 e EZ4 tutte funzionano allo stesso modo, ma ognuno ha un raggio leggermente più stretto, in modo da scegliere quella appropriata per il vostro progetto.

Il telemetro ha bisogno di montaggio minore. Per utilizzare il telemetro nel vostro circuito, hai bisogno di saldare su perni di intestazione di utilizzarlo su una basetta, o saldature su lunghezze di filo.

Ci sono tre modi per collegare il telemetro: utilizzando analogico, larghezza di impulso, o la comunicazione seriale. In questo esempio, si impara a misurare la larghezza di impulso e convertire che alla distanza. L'uscita analogica può essere letto direttamente nel tuo pin di ingresso analogico ma fornire risultati meno precisi rispetto di larghezza di impulso. Questo esempio non comprende la comunicazione seriale.

Hai bisogno di:

  • Un Uno Arduino
  • Un Finder LV-EZ0 ultrasuoni Gamma
  • Fili di salto

Completare il circuito da schemi strutturali e circuitali. I collegamenti per il telemetro sono chiaramente contrassegnati sul lato inferiore del PCB. I collegamenti 5V e GND forniscono energia per il sensore e devono essere collegati alle forniture 5V e GND sul vostro Arduino.

Come misurare distanza con Arduino

Il collegamento PW è il segnale larghezza di impulso che verrà letto da pin 7 sul Arduino. Assicurarsi che il sensore di distanza è fissata a una sorta di base di puntata nella direzione che si vuole misurare.

Come misurare distanza con Arduino

È possibile trovare il codice MaxSonar da Bruce Allen nel parco giochi Arduino, insieme con alcune note e funzioni aggiuntive. Creare un nuovo schizzo, copiare o digitare il codice in esso, e salvarlo con un nome memorabile, come ad esempio myMaxSonar.

// Sentitevi liberi di usare questo codice.
// Si prega di essere rispettoso riconoscendo l'autore nel codice se si utilizza o modificarlo.
// Autore: Bruce Allen
// Data: 23/07/09
// Pin digitale 7 per la lettura nella larghezza di impulso dal dispositivo MaxSonar.
// Questa variabile è una costante perché il perno non cambia durante l'esecuzione di questo codice.
const int pwPin = 7;
// variabili necessarie per memorizzare i valori
impulso lungo, centimetri, centimetri;
void setup () {
// Questo apre una connessione seriale per sparare i risultati al console PC
Serial.begin (9600);
}
void loop () {
pinMode (pwPin, INPUT);
// Usato per leggere l'impulso che viene inviato dal dispositivo MaxSonar.
// Pulse Width rappresentazione con un fattore di scala di 147 noi per pollice.
impulso = pulseIn (pwPin, HIGH);
// 147uS per pollice
inches = impulsi / 147;
// Cambia pollici a centimetri
cm = pollici * 2.54;
Serial.print (pollici);
Serial.print ("in");
Serial.print (cm);
Serial.print ("cm");
Serial.println ();
ritardo (500);
}

Premere il pulsante Compile per controllare il codice. Il compilatore evidenzia eventuali errori grammaticali, trasformandoli in rosso quando vengono scoperti. Se lo schizzo compila correttamente, fare clic su Carica per inviare il disegno al bordo. Quando si è fatto caricare, aprire il monitor seriale e si dovrebbe vedere la distanza misurata in pollici e centimetri. Se il valore è fluttuante, provare a utilizzare un oggetto con una superficie maggiore.

Questo disegno permette di misurare con precisione la distanza in linea retta. Prova questo con un metro a nastro e ad adeguamenti di codice se si trova discrepanze.


Articoli Correlati