Sommario:
- Forniture
- Passaggio 1: sensore a infrarossi VS a ultrasuoni
- Passaggio 2: schematico
- Passaggio 3: caratteristica del sensore
- Passaggio 4: comunicazione seriale
- Passaggio 5: applicazione Qt
- Passaggio 6: codice sorgente Arduino
Video: Radar a infrarossi con Arduino: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
In questo piccolo progetto vorrei mostrarti come puoi creare un semplice radar a casa con Arduino. Esistono molti progetti simili su Internet, ma tutti utilizzano un sensore a ultrasuoni per misurare la distanza. In questo progetto utilizzo un sensore a infrarossi per la misurazione della distanza.
Il mio obiettivo è creare un sistema LIDAR molto semplice ed economico con esso e implementare un dispositivo di mappatura.
Forniture
- Arduino (ho usato un Maple Mini)
- Sensore di distanza Sharp (ho usato Sharp GP2Y0A02YK0F)
- Micro servo (9g)
- Tagliere, fili
- Opzionale: resistenza da 4,7 k, condensatore da 100 nF
Passaggio 1: sensore a infrarossi VS a ultrasuoni
La principale differenza tra i sensori di distanza a ultrasuoni e a infrarossi è che il sensore a ultrasuoni misura la distanza in una gamma più ampia. Pertanto non è in grado di localizzare con precisione la posizione di un ostacolo. Significa che misura la distanza dell'oggetto più vicino che si trova all'interno di un intervallo di angoli di ~ +-30°.
Naturalmente, ciò non significa che il sensore Sharp sia migliore. A volte questa proprietà può essere molto utile (es. utilizzata dai droni per misurare l'altezza da terra). La scelta giusta dipende totalmente dalle esigenze del tuo progetto.
Passaggio 2: schematico
È molto semplice effettuare il collegamento tra le parti. Seleziona un'uscita PWM e un ingresso analogico sulla scheda Arduino e collega i sensori di distanza Servo e Sharp a quei pin. Ho usato i seguenti pin per questo scopo:
- PA0: Ingresso analogico per sensore di distanza Sharp
- PA9: Uscita PWM per Servo
A volte il sensore IR Sharp può avere un'uscita rumorosa, quindi devi metterci un semplice filtro passa basso. Ho usato un resistore da 4,7k e un condensatore da 100nF per ridurre il rumore sul pin analogico. Oltre a ciò ho anche filtrato il valore misurato nel codice leggendolo più volte e calcolando la media.
Passaggio 3: caratteristica del sensore
Sfortunatamente il sensore di distanza a infrarossi utilizzato ha caratteristiche non lineari. Significa che per ottenere la distanza non è sufficiente moltiplicare il valore ADC misurato con un valore costante e aggiungervi un altro valore costante.
Nonostante la scheda tecnica del sensore fornisca la caratteristica, preferisco misurarla da solo nel progetto specifico (potrebbe dipendere dal voltaggio utilizzato). Per questo, ho creato coppie dal valore ADC misurato e dalla distanza per ogni 10 cm. (Il mio sensore è stato in grado di misurare la distanza corretta da 12 cm).
Ho usato queste coppie nel codice per ottenere la distanza corretta con l'interpolazione lineare.
Troverai un semplice codice Arduino alla fine del documento, per misurare il valore ADC durante la misurazione delle caratteristiche.
Passaggio 4: comunicazione seriale
Ho usato la comunicazione seriale per inviare i valori misurati angolo-distanza al PC. Dal momento che devo inviare più byte e diversi tipi di messaggi, ho progettato un semplice protocollo di comunicazione.
Questo protocollo consente di definire in modo generico diversi tipi di messaggio. In questo progetto ho utilizzato 2 tipi di messaggio:
- Parametri: Utilizzato per inviare parametri all'applicazione PC, definiti su Arduino come distanza massima e numero di ostacoli in un round.
- Ostacolo: utilizzato per inviare un ostacolo rilevato. È identificato dall'angolo del servo e dalla distanza misurata. La posizione x-y verrà calcolata dall'applicazione PC.
Passaggio 5: applicazione Qt
Per comunicare con Arduino e disegnare i punti misurati come un radar ho realizzato un'Applicazione per PC in Qt (C++). Riceve alcuni parametri (definiti su Arduino) e i punti di distanza misurati.
Puoi anche scaricare l'applicazione e il suo codice sorgente.
Passaggio 6: codice sorgente Arduino
Puoi personalizzare alcuni parametri nella parte superiore del codice con delle macro.
Nota che se cambi la caratteristica del sensore di distanza Sharp, devi modificare i valori dell'array distAdcMap!
- InfraRadar.c: Codice del radar. Copialo e incollalo nel tuo progetto Arduino.
- InfraRadarMeasurement.c: codice per la misurazione caratteristica. Copialo e incollalo nel tuo progetto Arduino. Utilizzare la console seriale per controllare i valori ADC.
Consigliato:
Utilizzo del sensore a infrarossi con Arduino: 8 passaggi (con immagini)
Utilizzo del sensore a infrarossi con Arduino: cos'è un sensore a infrarossi (noto anche come IR)? Un sensore IR è uno strumento elettronico che esegue la scansione dei segnali IR in intervalli di frequenza specifici definiti dagli standard e li converte in segnali elettrici sul suo pin di uscita (tipicamente chiamato pin di segnale) . Il segnale IR
Termometro a infrarossi senza contatto basato su Arduino - Termometro a infrarossi con Arduino: 4 passaggi
Termometro a infrarossi senza contatto basato su Arduino | Termometro a infrarossi con Arduino: Ciao ragazzi in questo tutorial faremo un termometro senza contatto usando arduino. Poiché a volte la temperatura del liquido/solido è troppo alta o troppo bassa e quindi è difficile entrare in contatto con esso e leggerlo temperatura poi in quella scena
Boe-Bot con rilevatori di infrarossi: 12 passaggi (con immagini)
Boe-Bot con rilevatori a infrarossi: questo tutorial dimostrerà come costruire e codificare un Boe-Bot in grado di navigare in un labirinto utilizzando rilevatori a infrarossi per evitare gli ostacoli. Questa è una guida facile da seguire che consente facili modifiche in base alle proprie esigenze. Ciò richiede una base e
Tag laser a infrarossi con Raspberry Pi Zero: 6 passaggi (con immagini)
Tag laser a infrarossi con Raspberry Pi Zero: questo Instructable illustrerà il processo per la creazione di un gioco di tag laser a infrarossi utilizzando un computer server di base e un Raspberry Pi zero per ogni giocatore. Il progetto si basa molto su una connessione Wifi per comunicare con il server che rende
Telecomando a infrarossi I2C con Arduino: 8 passaggi (con immagini)
Telecomando a infrarossi I2C con Arduino: Preambolo Questo Instructable descrive in dettaglio come creare un telecomando universale utilizzando I2C per l'interfaccia. Che strano dici, usando un dispositivo slave I2C? Sì, un dispositivo slave I2C. Questo perché la tempistica accurata dei pacchetti IR è piuttosto impegnativa e