Sommario:

Array radar stazionario (LIDAR) con Arduino: 10 passaggi (con immagini)
Array radar stazionario (LIDAR) con Arduino: 10 passaggi (con immagini)

Video: Array radar stazionario (LIDAR) con Arduino: 10 passaggi (con immagini)

Video: Array radar stazionario (LIDAR) con Arduino: 10 passaggi (con immagini)
Video: Hi-Link 24GHz Millimeter MM Wave ranging range radar sensor module HLK-LD303-24G 2024, Dicembre
Anonim
Array radar stazionario (LIDAR) con Arduino
Array radar stazionario (LIDAR) con Arduino
Array radar stazionario (LIDAR) con Arduino
Array radar stazionario (LIDAR) con Arduino
Array radar stazionario (LIDAR) con Arduino
Array radar stazionario (LIDAR) con Arduino

Quando costruisco un robot bipede, ho sempre pensato di avere una sorta di fantastico gadget in grado di rintracciare il mio avversario ed eseguire mosse di attacco con esso. Qui esistono già molti progetti radar/lidar. Tuttavia, ci sono alcune limitazioni per il mio scopo:

  • I moduli del sensore di onde a ultrasuoni sono piuttosto grandi. Ogni robot assomiglierebbe a WALL-E.
  • Gli attuali progetti radar includono tutti un sensore (onde ultrasoniche, IR, laser, …) e un servomotore nel mezzo. La scansione dell'ambiente richiede che il servo si muova da un lato all'altro. Spostare le cose avanti e indietro crea cambiamenti di slancio, il che è dannoso per l'equilibrio e la camminata bipedi.
  • La frequenza di scansione è limitata dalla velocità del servo. Solo diversi hertz possono essere raggiunti, probabilmente. Anche se la frequenza di scansione può essere aumentata da qualche super-servo, ciò comporterebbe forti vibrazioni.
  • La disposizione [Servomotore centrale - sensore] limita anche la posizione di montaggio e il design. È difficile montare una cosa del genere se non come una testa. Il che fa sembrare ogni volta il mio bipede un WALL-E dalla testa tremante. Non è bello!
  • La disposizione [servo-sensore] può anche essere costruita come uno stile [sensore motore]. Il sensore (oi sensori) ruotano continuamente lungo un asse del motore. Ciò può eliminare i jerk di slancio e i problemi di bassa frequenza di scansione, ma non la limitazione del design del busto. Anche la difficoltà di cablaggio aumenterebbe notevolmente.

Dopo la ricerca, questo minuscolo sensore VL53L0X della ST mi è schizzato negli occhi. Rivendicando il sensore di tempo di volo "più piccolo del mondo", la dimensione è di soli 4,4 x 2,4 x 1,0 mm. Dotato di

  • Emettitore e rilevatore laser IR su chip
  • Fino a 2 m di raggio (1,2 m in modalità veloce)
  • Indirizzo I2C programmabile
  • Un pin di uscita dell'interruzione GPIO
  • Sicuro per gli occhi

Tutte queste caratteristiche speciali combinate mi hanno permesso di superare i problemi di cui sopra, se una serie di sensori VL53L0X potesse funzionare. Inizialmente, pensavo che questo radar si sarebbe chiamato radar a stato solido, ma ho scoperto che questo termine veniva usato per qualcos'altro. Pertanto la parola "Stazionario" nel titolo significa che non ci sono parti mobili in questo gadget radar. Inoltre, mentre LIDAR (rilevamento e distanza della luce) è il termine tecnicamente corretto per questo chip, RADAR è indicato qui come un termine più generico.

Il motivo per cui l'indirizzo I2C programmabile e il pin di uscita GPIO sono fondamentali per questo progetto è spiegato più avanti.

Passaggio 1: strumenti e parti

Strumenti e parti
Strumenti e parti
Strumenti e parti
Strumenti e parti

Utensili

In questo progetto sono necessari i seguenti strumenti:

  • Saldatore
  • Saldatura che aiuta le mani
  • Strumento di crimpatura Dupont
  • Driver esagonale da 1,5 mm
  • Strumento per la rimozione del rivestimento del filo
  • Tronchese
  • Pistola per colla a caldo
  • pinzette
  • Lente d'ingrandimento (fisica o app nel telefono)
  • Pinze a becchi piatti

Parti

Le seguenti parti sono utilizzate in questo progetto:

  • 10x schede breakout VL53L0X GY-530
  • Un Arduino (Uno, Nano, Mega, Zero, Mini, ecc.)
  • Una breadboard e alcuni fili per breadboard
  • Fili AWG #26 con colori diversi
  • Cavo unipolare AWG #30
  • 5x connettori maschio Dupont
  • 5x alloggiamenti Dupont a pin singolo
  • 10 supporti per breakout board stampati in 3D
  • 1x cornice circolare stampata in 3D
  • 10 viti a testa piatta M2x10
  • 10x 0804 LED (blu consigliato)
  • 10x MOSFET a canale N SOT-23 AO3400
  • Un piccolo condensatore (10~100uF)

Tabellone breakout

La breakout board VL53L0X che ho usato è la GY-530. Sono disponibili anche la versione Adafruit e la versione Pololu. Se possibile, consiglio di utilizzare il prodotto Adafruit o Pololu perché creano ottimi prodotti, ottimi tutorial e ottime librerie software. Ho provato sulla libreria VL53L0X di Adafruit e ho usato una versione modificata della libreria VL53L0X di Pololu.

Connettori Dupont

I connettori dupont sono usati per la breadboard. Puoi utilizzare qualsiasi altro tipo di connessione che hai in mano.

Viti e parti stampate in 3D

Le viti M2, i supporti e il telaio circolare vengono utilizzati per posizionare i sensori in una disposizione circolare. Puoi usare qualsiasi altro metodo, come usare cartoncini, modelli di legno, argilla o persino incollarli a caldo su una lattina.

Passaggio 2: hackerare la breadout board

Hackerare il Breadout Board
Hackerare il Breadout Board
Hackerare il Breadout Board
Hackerare il Breadout Board
Hackerare il Breadout Board
Hackerare il Breadout Board
Hackerare il Breadout Board
Hackerare il Breadout Board

Cono di rilevamento

Ho usato un singolo modulo per disegnare il cono di rilevamento. Utilizzando un robot per lo più stampato in 3D come obiettivo. La distanza viene visualizzata sul display a led e misurata approssimativamente. I dati misurati vengono registrati in un file Microsoft Excel e utilizzati la funzione di adattamento della curva. L'adattamento migliore è una curva logaritmica naturale, con una distanza effettiva da 3 cm a circa 100 cm.

A 60 cm, la curva di rilevamento per un singolo sensore è di circa 22 cm. Con un bersaglio largo 20 cm, una separazione circolare di 10~15 gradi per l'array radar dovrebbe produrre una risoluzione di scansione accettabile.

Indirizzo I2C

Sebbene l'indirizzo del dispositivo I2C VL53L0X sia programmabile, è necessario il controllo completo del pin XSHUT da parte del microcontrollore. La sequenza per farlo è:

  1. L'alimentazione viene applicata all'AVDD.
  2. Tutti i chip VL53L0X vengono portati allo stato Hw Standby (reset) portando TUTTI i loro pin XSHUT su LOW.
  3. Ogni chip viene tolto dallo stato di reset uno alla volta. L'indirizzo I2C predefinito dopo l'avvio è 0x52.
  4. L'indirizzo del chip viene modificato in un nuovo indirizzo tramite un comando I2C. Ad esempio, 0x52 è stato modificato in 0x53.
  5. Ripetere i passaggi 3 e 4 per tutti i chip.

In teoria, è possibile pilotare un massimo di 126 unità nello stesso bus per l'intervallo di indirizzi a 7 bit. Tuttavia, in pratica, la capacità del bus e la limitazione della corrente di caduta del microcontrollore possono/dovrebbero limitare il numero massimo di dispositivi.

Il nuovo indirizzo I2C non viene memorizzato nel chip VL53L0X contro lo spegnimento o il ripristino. Quindi questo processo deve essere eseguito una volta ad ogni accensione. Ciò significa che è necessario un pin prezioso per ogni unità nell'array radar. Questo è troppo ostile al cablaggio e al consumo di pin, per una cintura radar con 10+ o 20+ unità.

Come menzionato in STEP1, è una fortuna che ci sia un pin GPIO1 sul chip VL53L0X, originariamente utilizzato per l'interruzione, che possa fare il lavoro.

Collegamento a margherita GPIO-XSHUTN

L'uscita GPIO è in stato di alta impedenza all'avvio e open drain a basso mentre è attiva. I pin GPIO e XSHUT sono tirati in alto su AVDD sulla scheda breakout GY-530, come raccomandato nella scheda tecnica. Per mettere in modo affidabile tutti i chip VL53L0X nello stato Hw Standby (guidando XSHUT basso), abbiamo bisogno di una porta logica NOT (inverter) per ogni pin XSHUT. Quindi colleghiamo l'uscita GPIO di un chip (l'ennesimo chip), al XSHUTN (XSHUT-NOT) del chip a valle (il chip N+1).

All'accensione, tutti i pin GPIO (inattivi) vengono sollevati, tutti i successivi pin XSHUT vengono abbassati dal gate NOT (tranne il primo chip in cui il pin XSHUTN è collegato al microcontrollore). La modifica dell'indirizzo I2C e il rilascio XSHUT del chip downstream vengono eseguiti nel software, uno per uno.

Se si utilizzano schede breakout diverse, è necessario assicurarsi che i resistori di pull-up siano in posizione o meno e apportare le modifiche appropriate.

Aggiunta di un LED

Nella fase successiva, un piccolo LED SMD 0805 verrà aggiunto alla scheda breakout, collegato dal pad XSHUT al terminale GND di un condensatore adiacente. Sebbene il LED in sé non influisca sul funzionamento del modulo, fornisce una buona indicazione visiva a livello di logica XSHUT.

Agganciando il LED in serie con la resistenza di pull-up (10k nel mio caso) sul pin XSHUT si introdurrà una caduta di tensione. Invece del livello logico alto di 3,3 V, la caduta di tensione diretta per un LED 0805 rosso viene misurata 1,6 V. Sebbene questa tensione sia superiore al livello logico alto (1,12 V) nella scheda tecnica, il LED blu è migliore per questo hack. La caduta di tensione diretta per il LED blu viene misurata di circa 2,4 V, che è sicuramente al di sopra del livello logico del chip.

Aggiunta dell'Inverter N-MOS (Logica NOT Gate)

Un piccolo MOSFET a canale N SOT-23 è impilato sul LED che abbiamo aggiunto. Due terminali (D, S) devono essere saldati sulla scheda breakout e il terminale rimanente (G) è collegato al pin GPIO della scheda a monte usando il filo #26.

Note sull'aggiunta di componenti SMD

Saldare componenti SMD su una scheda breakout non progettata per non è un compito facile. Se non hai ancora sentito parlare di 0805, SMD, SOT-23, è probabile che tu non abbia ancora saldato quei minuscoli componenti. Durante la manipolazione manuale di questi piccoli componenti, è molto comune che:

  • La piccola cosa è appena caduta ed è scomparsa, per sempre,
  • I minuscoli cuscinetti sulla piccola cosa si sono appena staccati.
  • Le piccole gambe della piccola cosa si sono appena rotte.
  • Lo stagno di saldatura si è appena raccolto in una macchia e non è stato possibile separarlo.
  • E altro ancora…

Se vuoi ancora realizzare questo radar, puoi:

  • Cambia i componenti in un pacchetto più grande, come lo stile DIP.
  • Ottieni più componenti del minimo richiesto, per la pratica e il consumo.

Passaggio 3: saldatura del LED 0805

Saldatura del LED 0805
Saldatura del LED 0805
Saldatura del LED 0805
Saldatura del LED 0805
Saldatura del LED 0805
Saldatura del LED 0805
Saldatura del LED 0805
Saldatura del LED 0805

Saldatura del LED SMD 0805

Saldare a mano un LED 0805, su una breakout board non progettata per SMD, non è affatto un compito facile. I seguenti passaggi sono la mia raccomandazione per saldare il LED.

  1. Usa la mano d'aiuto per tenere la tua tavola da lavoro.
  2. Metti un po' di pasta saldante sul bordo del condensatore SMD e sul pad "XSHUT".
  3. Usa il saldatore per mettere un po' di saldatura aggiuntiva sul bordo del condensatore.
  4. Metti un po' di pasta saldante su entrambe le estremità del LED 0805.
  5. Usa il saldatore per mettere dello stagno su entrambe le estremità del LED 0805.
  6. Utilizzare le pinzette per posizionare il LED come mostrato nella foto. L'estremità del catodo normalmente ha una linea contrassegnata. Nel mio esempio, c'è una linea verde all'estremità del catodo. Posizionare l'estremità del catodo all'estremità del condensatore.
  7. Usa le pinzette per aggiungere una leggera pressione sul LED verso il condensatore e salda il LED all'estremità del condensatore, aggiungendo allo stesso tempo calore all'estremità del condensatore. Non premere troppo forte sul LED. La sua copertura potrebbe rompersi a causa del calore e di una pressione eccessiva. Dopo la saldatura, esercitare una leggera pressione sul LED lateralmente, per verificare se il LED è saldato in posizione.
  8. Ora saldare il LED al dip pad XSHUT. Questo passaggio dovrebbe essere più semplice.

Nota: l'estremità del condensatore mostrata nell'immagine è il terminale di terra su questa scheda breakout. E il dip pad XSHUT viene sollevato da un resistore.

Test del LED

Il LED dovrebbe accendersi quando si applica l'alimentazione (es. 5V) e la messa a terra alla scheda breakout.

Passaggio 4: saldatura del MOSFET a canale N

Saldatura del MOSFET a canale N
Saldatura del MOSFET a canale N
Saldatura del MOSFET a canale N
Saldatura del MOSFET a canale N
Saldatura del MOSFET a canale N
Saldatura del MOSFET a canale N
Saldatura del MOSFET a canale N
Saldatura del MOSFET a canale N

Saldatura del MOSFET a canale N AO3400

Questo MOSFET è nel pacchetto SOT-23. Dobbiamo "impilarlo" sul LED e aggiungere anche un filo:

  1. Metti un po' di pasta saldante e stagna tutti e tre i terminali.
  2. Usa delle pinzette per posizionare il MOSFET sopra il LED 0805. Il terminale S dovrebbe toccare la parte superiore del condensatore
  3. Saldare il terminale S con l'estremità del condensatore, come mostrato nella foto.
  4. Tagliare un filo unipolare AWG #30 di piccola sezione e rimuovere il rivestimento di circa 1 cm.
  5. Usa il saldatore per fondere la saldatura nel foro XSHUT dal basso e inserisci il filo #30 dall'alto, come mostrato nella foto.
  6. Saldare l'estremità superiore del filo al terminale MOSFET D.
  7. Taglia il filo in eccesso.

Nota: il terminale MOSFET S è collegato all'estremità del condensatore come mostrato nell'immagine. Questa estremità è il terminale di terra. Il terminale MOSFET D è collegato al pin XSHUT originale.

Il terminale G non è connesso in questo momento. La sua posizione è appena sopra alcuni resistori di pull-up. Assicurati che ci sia uno spazio tra di loro (N-MOS e resistore) e che non si contattino tra loro.

Passaggio 5: cablaggio dell'array di sensori

Cablaggio dell'array di sensori
Cablaggio dell'array di sensori
Cablaggio dell'array di sensori
Cablaggio dell'array di sensori
Cablaggio dell'array di sensori
Cablaggio dell'array di sensori

Cablaggio bus comune

L'autobus comune include:

  • Potenza Vcc. Rosso in foto. Sto usando arduino nano con logica 5v. La breakout board ha LDO e level-shifter. Quindi è sicuro usare 5v come Vin.
  • Terreno. Nero in foto.
  • SDA. Verde in foto.
  • SCL. Giallo in foto.

Queste quattro linee sono linee comuni. Tagliare i fili della lunghezza appropriata e saldarli in parallelo, a tutti i moduli del sensore. Ho usato 20 cm da arduino al primo sensore e successivamente 5 cm ciascuno.

Cablaggio XSHUTN e GPIO

Il filo bianco da 20 cm va dal pin di controllo di arduino, al pin XSHUTN del primo sensore. Questa è la linea di controllo necessaria per portare il primo chip VL53L0X fuori dal reset e cambiare l'indirizzo I2C.

Il filo bianco di 5 cm tra ciascun modulo è la linea di controllo del collegamento a margherita. Il pad GPIO del chip upstream (ad esempio, chip n. 3), è collegato alla gamba XSHUTN a valle (ad esempio, chip n. 4) (terminale G del MOSFET a canale N).

Fare attenzione a non mettere in contatto il terminale G con il resistore sottostante. Puoi aggiungere un nastro isolante nella fessura. Il liner di protezione solitamente fornito con il chip VL53L0X può essere utilizzato qui.

Usa la pistola termica per attaccare il cavo di controllo.

Colla calda

Come puoi vedere nella foto, c'è una macchia di colla a caldo sul cavo di controllo bianco, vicino al terminale N-MOS G. Questo passaggio è molto importante e assolutamente necessario. Una saldatura flottante direttamente sulla gamba del componente SMD è molto debole. Anche una piccola pressione sul filo può rompere la gamba. Fai questo passaggio con delicatezza.

Test del LED

Quando si applica l'alimentazione (es. 3.3v-5v) e la messa a terra all'array di sensori, il LED sul primo modulo dovrebbe rispondere con il livello logico del filo XSHUTN. Se colleghi XSHUTN a logica alta (es. 3.3v-5v), il LED dovrebbe essere spento. Se colleghi il filo XSHUTN a basso (massa), il LED sul primo modulo dovrebbe essere acceso.

Per tutti i moduli successivi, il LED dovrebbe essere spento.

Questo test viene condotto prima di connettersi all'arduino.

Passaggio 6: completamento dell'array di sensori

Image
Image
Completamento dell'array di sensori
Completamento dell'array di sensori
Completamento dell'array di sensori
Completamento dell'array di sensori
Completamento dell'array di sensori
Completamento dell'array di sensori

Test a margherita

Ora vogliamo verificare se la modifica dell'indirizzo I2C funziona per tutti i sensori nell'array. Come accennato, il primo chip è controllato dall'arduino. Il secondo chip è controllato dal primo chip e così via.

  1. Imposta il tagliere. 5V e Ground rail sono collegati direttamente da adriano 5V e ground. Il consumo di corrente per ciascun sensore è valutato 19ma nella scheda tecnica.
  2. Aggiungi un condensatore sulla barra di alimentazione per aiutare a stabilizzare il Vin.
  3. Collegare Vin e Ground dall'array di sensori alla barra di alimentazione.
  4. Collegare SDA al pin A4 di arduino Nano (potrebbe essere diverso per altri microcontrollori).
  5. Collegare SCL al pin A5 di arduino Nano (potrebbe essere diverso per altri microcontrollori).
  6. Collegare il cavo XSHUTN al pin D2 di arduino Nano. (Questo può essere cambiato nello schizzo).
  7. Vai su github https://github.com/FuzzyNoodle/Fuzzy-Radar e scarica la libreria.
  8. Apri l'esempio "Daisy_Chain_Testing" e carica lo schizzo.

Se tutto funziona, dovresti vedere i LED di stato accendersi uno per uno, in modo simile al video sopra.

Puoi anche aprire la finestra seriale e vedere l'avanzamento dell'inizializzazione. L'output apparirà così:

Apertura portPort open Schizzo iniziale. Imposta il chip 0 in modalità reset. Tutti i LED di stato dovrebbero essere spenti. Ora configurando i sensori. Il LED dovrebbe accendersi uno per uno. Configurazione chip 0 - Reimposta l'indirizzo I2C su 83 - Inizializza il sensore. Configurazione chip 1 - Reimposta l'indirizzo I2C su 84 - Inizializza il sensore. Configurazione chip 2 - Reimposta l'indirizzo I2C su 85 - Inizializza il sensore. Configurazione dell'array radar completata.

Assemblare il supporto e il telaio

  1. Posizionare con attenzione ogni modulo GY-530 sul supporto con la vite M2x10. Non premere il MOSFET o tirare i fili XSHUTN.
  2. Posiziona ciascun supporto nella cornice circolare. Usa della colla a caldo per incollare le parti.

Anche in questo caso, le viti M2, i supporti e il telaio circolare vengono utilizzati per posizionare i sensori in una disposizione circolare. Puoi usare qualsiasi altro metodo, come usare cartoncini, modelli in legno, argilla o persino incollarli a caldo su una lattina.

I file stampati in 3D che ho usato sono forniti di seguito. La cornice circolare ha 9 moduli e separati da 10 gradi ciascuno. Se hai un occhio acuto, c'erano 10 moduli nelle foto precedenti. La ragione? Spiegato di seguito…

Rimuovere il rivestimento protettivo

Se hai seguito i passaggi dall'inizio, è un buon momento per rimuovere il rivestimento protettivo sul chip VL53L0X. Nelle mie foto precedenti, sono già state rimosse perché devo testare i moduli e assicurarmi che il concetto funzioni prima di pubblicare queste istruzioni.

Per quanto riguarda il liner protettivo, la scheda tecnica afferma: "Deve essere rimosso dal cliente appena prima di montare il vetro di copertura". I due minuscoli fori (emettitore e ricevitore) sul chip VL53L0X sono vulnerabili all'inquinamento, come polvere, grasso, colla a caldo, ecc…

Una volta inquinato, l'intervallo può essere ridotto e le letture possono essere errate di una quantità ovvia. Uno dei miei moduli di prova è stato accidentalmente inquinato dall'argilla collante, la portata è ridotta a 40 cm e la lettura della distanza è stata erroneamente aumentata del 50%. Perciò stai attento!

Passaggio 7: ottenere dati

Image
Image
Tracciante laser (dimostrazione)
Tracciante laser (dimostrazione)

Utilizzando l'esempio Raw_Data_Serial_Output

Ora ci piace davvero vedere i dati dal nostro array di sensori. Nella libreria arduino su GitHub:

https://github.com/FuzzyNoodle/Fuzzy-Radar

C'è un esempio chiamato Raw_Data_Serial_Output. Questo esempio mostra l'output dei dati grezzi dall'array di sensori. I valori di uscita sono in millimetri.

Dopo che i sensori sono stati inizializzati, dovrebbe vedere qualcosa di simile nella finestra seriale quando agiti la mano attraverso i sensori:

Fare riferimento al video clip per una dimostrazione dal vivo.

Utilizzando l'esempio Fuzzy_Radar_Serial_Output

Il prossimo passo è ottenere dati utili da queste letture della distanza. Quello che volevamo da un RADAR erano la distanza e l'angolo dell'oggetto target.

  • La distanza è in millimetri, relativa alla superficie del sensore. Restituire 0 significa che il target è fuori portata.
  • L'angolo è in gradi, sul piano orizzontale. Il codice attualmente prevede che i sensori siano distanziati in modo uniforme. Restituire 0 gradi significa che il target si trova nella posizione centrale dell'array.

Alcuni algoritmi di filtraggio sono applicati nella libreria:

  • Rimozione del rumore:

    • Le letture brevi (in termini di conteggio dei campioni) sono considerate rumore e vengono rimosse.
    • Le letture lontane dal valore medio vengono rimosse.
  • Calcolo dell'angolo di peso (vedi illustrazione sopra)

    • Si presume che l'oggetto target sia una superficie piana
    • Se più sensori hanno rilevato l'oggetto contemporaneamente, viene calcolato un peso per ciascun sensore.
    • Il peso di ogni sensore è inversamente proporzionale alla sua distanza.
    • L'angelo del risultato viene calcolato dall'angolo ponderato di ciascun sensore.
  • Selezione dell'obiettivo principale:

    • Se è presente più di un gruppo di letture, rimane il gruppo più ampio (con un numero maggiore di letture del sensore).
    • Ad esempio, se si mettono due mani davanti all'array di sensori, la mano rilevata da più sensori rimane.
  • Selezione dell'obiettivo più vicino:

    • Se sono presenti più gruppi rilevati con la stessa larghezza, rimane il gruppo a distanza più vicina.
    • Ad esempio, se si mettono due mani davanti all'array di sensori e due gruppi rilevati hanno lo stesso numero di sensori, rimane il gruppo più vicino al sensore.

La distanza e l'angolo di uscita vengono livellati tramite il filtro passa basso

In Raw_Data_Serial_Output, le letture grezze della distanza vengono convertite in distanza e valore dell'angolo. Una volta caricato lo schizzo, puoi aprire la finestra seriale per vedere il risultato simile a questo:

Nessun oggetto rilevato. Nessun oggetto rilevato. Nessun oggetto rilevato. Distanza = 0056 Angolo = 017 Distanza = 0066 Angolo = 014 Distanza = 0077 Angolo = 011 Distanza = 0083 Angolo = 010 Distanza = 0081 Angolo = 004 Distanza = 0082 Angolo = 000 Distanza = 0092 Angolo = 002 Distanza = 0097 Angolo = 001 Distanza = 0096 Angolo = 001 Distanza = 0099 Angolo = 000 Distanza = 0101 Angolo = -002 Distanza = 0092 Angolo = -004 Distanza = 0095 Angolo = -007 Distanza = 0101 Angolo = -008 Distanza = 0112 Angolo = -014 Distanza = 0118 Angolo = -017 Distanza = 0122 Angolo = -019 Distanza = 0125 Angolo = -019 Distanza = 0126 Angolo = -020 Distanza = 0125 Angolo = -022 Distanza = 0124 Angolo = -024 Distanza = 0133 Angolo = -027 Distanza = 0138 Angolo = - 031 Distanza = 0140 Angolo = -033 Distanza = 0136 Angolo = -033 Distanza = 0125 Angolo = -037 Distanza = 0120 Angolo = -038 Distanza = 0141 Angolo = -039 Nessun oggetto rilevato. Nessun oggetto rilevato. Nessun oggetto rilevato.

Quindi ora hai un RADAR (LIDAR):

  • Più piccolo dei moduli sensore a ultrasuoni
  • Nessuna parte in movimento
  • Scansioni a 40 Hz.
  • A forma di cintura, può essere montato su un telaio circolare
  • Utilizzare solo tre cavi di controllo, più alimentazione e massa.
  • Ha una gamma da 30 millimetri a circa 1000 millimetri.

Nei passaggi seguenti, ti mostreremo alcune fantastiche dimostrazioni!

Fase 8: Laser Tracer (dimostrazione)

Image
Image
Tracciante laser (dimostrazione)
Tracciante laser (dimostrazione)

Questo è un esempio dell'utilizzo del radar stazionario che abbiamo creato dai passaggi precedenti. Questo passaggio non è scritto in dettaglio, poiché si tratta di un dimostratore del Radar. In generale, sono necessari questi elementi aggiuntivi per creare questo progetto dimostrativo:

  • Due servi
  • Una penna laser che emette una testa
  • Un MOSFET o un transistor NPN per controllare l'uscita della testa laser
  • Una fonte di alimentazione per i servi. Dovrebbe essere separato dal microcontrollore.

Il codice può essere scaricato qui.

Si prega di vedere il video fornito.

Step 9: Staring Poopeyes (dimostrazione)

Image
Image

Dimostrazione dell'uso del radar a distanza per tracciare la posizione e la distanza dell'oggetto.

Consigliato: