Sommario:

Localizzatore di eco a doppio sensore: 7 passaggi (con immagini)
Localizzatore di eco a doppio sensore: 7 passaggi (con immagini)

Video: Localizzatore di eco a doppio sensore: 7 passaggi (con immagini)

Video: Localizzatore di eco a doppio sensore: 7 passaggi (con immagini)
Video: Maranza cerca di prendermi la moto 2024, Dicembre
Anonim
Image
Image
Localizzatore di eco a doppio sensore
Localizzatore di eco a doppio sensore
Localizzatore di eco a doppio sensore
Localizzatore di eco a doppio sensore

Questa istruzione spiega come individuare la posizione di un oggetto utilizzando un Arduino, due sensori a ultrasuoni e la formula di Heron per i triangoli. Non ci sono parti in movimento.

La formula di Heron consente di calcolare l'area di qualsiasi triangolo di cui sono noti tutti i lati. Una volta che conosci l'area di un triangolo, sei quindi in grado di calcolare la posizione di un singolo oggetto (rispetto a una linea di base nota) usando la trigonometria e Pitagora.

La precisione è eccellente. Sono possibili ampie aree di rilevamento utilizzando i comuni sensori a ultrasuoni HC-SR04 o HY-SRF05.

La costruzione è semplice… tutto ciò che serve è un coltello affilato, due trapani, un saldatore e una sega per legno.

immagini

  • Il videoclip mostra l'unità in funzione.
  • La foto 1 mostra l'"eco localizzatore" assemblato
  • La foto 2 mostra un display tipico. L'oggetto è il punto rosso (lampeggiante).
  • La foto 3 mostra la configurazione del test video. È stato necessario posizionare i due sensori a ultrasuoni HY-SRF05 50 cm sotto la linea di base per "illuminare" completamente l'area di rilevamento con il suono.

Passaggio 1: schema elettrico

Schema elettrico
Schema elettrico

La foto 1 mostra lo schema elettrico per il “localizzatore d'eco a doppio sensore”.

Il sensore B viene reso "passivo" posizionando diversi strati di nastro adesivo sul trasduttore di trasmissione (T). Questo nastro blocca il suono ultrasonico che altrimenti verrebbe emesso.

Passaggio 2: elenco delle parti

Elenco delle parti
Elenco delle parti

Come mostrato in foto1, sono necessarie pochissime parti per completare questo progetto:

Le seguenti parti sono state ottenute da

  • 1 solo Arduino Uno R3 completo di cavo USB
  • 2 solo HY-SRF05, o HC-SR04, trasduttori a ultrasuoni

Le seguenti parti sono state ottenute localmente:

  • 1 solo striscia di intestazione arduino maschio
  • 2 solo strisce di intestazione arduino femmina
  • 2 solo pezzi di scarto di alluminio
  • 2 solo piccoli pezzi di legno
  • 2 solo piccole viti
  • 3 solo fascette
  • 4 lunghezze solo filo plastificato (colori assortiti) [1]

Nota

[1]

La lunghezza totale di ciascun filo dovrebbe essere uguale alla distanza desiderata tra i sensori più una piccola quantità per la saldatura. I fili vengono poi attorcigliati insieme per formare un cavo.

Passaggio 3: teoria

Teoria
Teoria
Teoria
Teoria
Teoria
Teoria

Modelli di raggio

La foto 1 mostra i modelli di raggio sovrapposti per il trasduttore A e il trasduttore B.

Il sensore A riceverà un'eco da qualsiasi oggetto nell'“area rossa”.

Il sensore B riceverà un'eco solo se l'oggetto si trova nell'“area malva”. Al di fuori di quest'area non è possibile determinare la coordinata di un oggetto. [1]

Se i sensori sono ampiamente distanziati tra loro, sono possibili ampie aree di rilevamento "malva".

Calcoli

Con riferimento alla foto 2:

L'area di qualsiasi triangolo può essere calcolata dalla formula:

area=base*altezza/2 ……………………………………………………………………. (1)

Riorganizzando l'equazione (1) ci dà l'altezza (coordinata Y):

altezza=area*2/base ……………………………………………………………………. (2)

Fin qui tutto bene… ma come calcoliamo l'area?

La risposta è distanziare due trasduttori a ultrasuoni a una distanza nota (linea di base) e misurare la distanza di ciascun sensore dall'oggetto utilizzando gli ultrasuoni.

La foto 2 mostra come ciò sia possibile.

Il trasduttore A invia un impulso che rimbalza sull'oggetto in tutte le direzioni. Questo impulso viene sentito sia dal trasduttore A che dal trasduttore B. Nessun impulso viene inviato dal trasduttore B … ascolta solo.

Il percorso di ritorno al trasduttore A è mostrato in rosso. Quando viene diviso per due e si tiene conto della velocità del suono, possiamo calcolare la distanza "d1" dalla formula: [2]

d1 (cm) = tempo (microsecondi)/59 …………………………………………………(3)

Il percorso verso il trasduttore B è mostrato in blu. Se sottraiamo la distanza “d1” da questa lunghezza del percorso otteniamo la distanza “d2”. La formula per calcolare “d2” è: [3]

d2 (cm) = tempo (microsecondi/29,5 – d1 …………………………………….. (4)

Ora abbiamo la lunghezza di tutti e tre i lati del triangolo ABC… inserisci “Airone”

La formula di Airone

La formula di Heron usa qualcosa chiamato "semi-perimetro" in cui aggiungi ciascuno dei tre lati di un triangolo e dividi il risultato per due:

s=(a+b+c)/2 ……………………………………………………………………………. (5)

L'area può ora essere calcolata utilizzando la seguente formula:

area=sqrt(s*(s-a)*(s-b)*(s-c)) ……………………………………………………. (6)

Una volta che conosciamo l'area, possiamo calcolare l'altezza (coordinata Y) dall'equazione (2) sopra.

Pitagora

La coordinata X può ora essere calcolata facendo cadere una perpendicolare dal vertice del triangolo alla linea di base per creare un triangolo rettangolo. La coordinata X può ora essere calcolata usando Pitagora:

c1 = sqrt(b2 - h2) …………………………………………………………………….. (7)

Appunti

[1]

L'area target può essere completamente "illuminata" con il suono posizionando i sensori sotto la linea di base.

[2]

Il valore di 59 per la costante è derivato come segue:

La velocità del suono è di circa 340 m/S che è 0,034 cm/uS (centimetri/microsecondo).

Il reciproco di 0,034 cm/uS è 29,412 uS/cm che, moltiplicato per 2 per consentire il percorso di ritorno, equivale a 58,824 o 59 se arrotondato.

Questo valore può essere regolato su/giù per tenere conto della temperatura dell'aria, dell'umidità e della pressione.

[3]

Il valore di 29,5 per la costante è derivato come segue:

Non esiste un percorso di ritorno, quindi usiamo 29,5 che è la metà del valore utilizzato in [2] sopra.

Fase 4: Costruzione

Costruzione
Costruzione
Costruzione
Costruzione

Staffe di montaggio

Due staffe di montaggio sono state realizzate con un foglio di alluminio calibro 20 utilizzando il metodo descritto nel mio

Le dimensioni delle mie staffe sono mostrate nella foto 1.

I due fori contrassegnati con "linea di base" servono per collegare una stringa a ciascun sensore. Lega semplicemente la corda alla distanza richiesta per una facile installazione.

Prese per sensori

Le prese del sensore (foto 2) sono state ricavate dalle prese standard di Arduino.

Tutti i perni indesiderati sono stati estratti ed è stato praticato un foro di 3 mm attraverso la plastica.

Quando si saldano i collegamenti, fare attenzione a non cortocircuitare i fili sulla staffa in alluminio.

Antistrappo

Un piccolo pezzo di tubo termoretraibile a ciascuna estremità del cavo impedisce che i fili si srotolino.

Le fascette per cavi sono state utilizzate per impedire il movimento indesiderato del cavo.

Passaggio 5: installazione del software

Installa il seguente codice in questo ordine:

Arduino IDE

Scarica e installa l'IDE Arduino (ambiente di sviluppo integrato) da https://www.arduino.cc/en/main/software se non è già installato.

Elaborazione 3

Scarica e installa Processing 3 da

Arduino Sketch

Copia il contenuto del file allegato, "dual_sensor _echo_locator.ino", in uno "schizzo" di Arduino, salvalo, quindi caricalo sul tuo Arduino Uno R3.

Chiudi l'IDE di Ardino ma lascia collegato il cavo USB.

Elaborazione dello schizzo

Copia il contenuto del file allegato, "dual_sensor_echo_locator.pde" in uno "Sketch" di elaborazione.

Ora fai clic sul pulsante "Esegui" in alto a sinistra… una schermata grafica dovrebbe apparire sullo schermo.

Passaggio 6: test

test
test
test
test

Collega il cavo USB Arduino al tuo PC il

Esegui "dual_sensor_echo_locator.pde" facendo clic sul pulsante di esecuzione "in alto a sinistra" sul tuo Processing 3 IDE (ambiente di sviluppo integrato).

I numeri, separati da una virgola, dovrebbero iniziare a scorrere sullo schermo come mostrato nella foto1.

Messaggio di errore all'avvio

Potresti ricevere un messaggio di errore all'avvio.

In tal caso, modifica lo [0] nella riga 88 della foto 1 in modo che corrisponda al numero associato alla tua porta "COM".

Diverse porte "COM" possono essere elencate a seconda del sistema. Uno dei numeri funzionerà.

Nella foto 1 il numero [0] è associato alla mia “COM4”.

Posizionamento dei sensori

Distanzia i tuoi sensori a 100 cm di distanza con l'oggetto a 100 cm di fronte.

Ruotare entrambi i sensori lentamente verso l'angolo diagonalmente opposto di un quadrato immaginario di 1 metro.

Mentre ruoti i sensori, troverai una posizione in cui un punto rosso lampeggiante appare sul display grafico.

Appariranno anche dati aggiuntivi (foto 2) una volta che i sensori avranno localizzato il tuo oggetto:

  • distanza1
  • distanza2
  • linea di base
  • compensare
  • semiperimetro
  • la zona
  • coordinata X
  • coordinata Y

Passaggio 7: visualizzazione

Schermo
Schermo

Il display è stato scritto utilizzando Processing 3 … viene mostrata una linea di base di 100 cm.

Cambiare la linea di base

Cambiamo la nostra linea di base da 100 cm a 200 cm:

Cambia "float Baseline = 100;" nell'intestazione Processing per leggere "float Baseline = 200;"

Modificare le etichette "50" e "100" nella routine di elaborazione "draw_grid()" per leggere "100" e "200".

Modifica dell'offset

Aree target più grandi possono essere monitorate se posizioniamo i sensori al di sotto della linea di base.

Una variabile "Offset" nell'intestazione Elaborazione deve essere modificata se si sceglie di farlo.

Fai clic qui per visualizzare gli altri miei istruttori.

Consigliato: