Sommario:
- Passaggio 1: qual è esattamente il problema con i sensori e i microcontrollori a ultrasuoni?
- Passaggio 2: come funziona?
- Passaggio 3: dettagli tecnici
- Passaggio 4: come implementare?
Video: Rileva gli ostacoli in modo asincrono con gli ultrasuoni: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Sto costruendo per divertimento un robot che voglio muovere autonomamente all'interno di una casa.
È un lavoro lungo e lo sto facendo passo dopo passo.
Questo istruttivo si concentra sul rilevamento degli ostacoli con Arduino Mega
I sensori a ultrasuoni HC-SR04 vs HY-SRF05 sono economici e semplici da usare, ma possono diventare difficili da integrare nel loop del microcontrollore in un robot complesso. Volevo eseguire il rilevamento degli ostacoli in modo asincrono.
_
Ho già pubblicato 3 istruzioni sulle funzionalità di questo robot:
- Crea il tuo codificatore a ruota
- Crea il tuo gateway WIFI
- Usa unità modulo inerziale
E una documentazione sulla combinazione di intelligenza artificiale e ultrasuoni per localizzare il robot.
Passaggio 1: qual è esattamente il problema con i sensori e i microcontrollori a ultrasuoni?
Attesa sincrona e limitazioni di Arduino
Il codice dei microcontrollori viene eseguito in un ciclo e non supporta il multi-thread. I sensori a ultrasuoni si basano sulla durata del segnale. Questa durata dura fino a 30 m s che è molto lunga da attendere all'interno del loop quando i microcontrollori devono gestire più motori e sensori (ad esempio servomotori e motori DC con encoder a ruota).
Quindi volevo sviluppare un oggetto che funziona in modo asincrono.
Passaggio 2: come funziona?
È stato progettato per Atmega per il rilevamento degli ostacoli. Supporta fino a 4 sensori a ultrasuoni.
Grazie all'interruzione periodica del tempo, il sistema può monitorare fino a 4 sensori a ultrasuoni. Il codice principale deve solo definire quale sensore attivare con condizione e soglia. Il principale verrà interrotto solo nel caso in cui compaia (condizione, soglia).
Le funzioni principali sono:
- Alert è il rilevamento degli ostacoli di base e fornisce interrupt se almeno 1 dei 4 sensori rileva una distanza al di sotto della soglia
- Il monitor è una funzione estesa che fornisce l'interruzione su una combinazione di condizioni di distanza fino a 4 sensori. Le condizioni possibili sono sopra, sotto, uguali o non uguali alle soglie.
Passaggio 3: dettagli tecnici
Utilizzare timer4 in modo che il pin 6 7 8 non possa essere utilizzato come PWM.
Per ogni sensore l'oggetto necessita di un PIN di attivazione e di un PIN di interruzione.
Oltre ai PIN di interruzione dei sensori, l'oggetto necessita di un altro PIN di interruzione per l'utilizzo del software.
Passaggio 4: come implementare?
Collegare i sensori come sopra
Scarica da questo repository GitHub
- EchoObstacleDetection.cpp,
- EchoObstacleDetection.h
- EsempioEchoObstacleDetection.ino
Crea la directory EchoObstacleDetection all'interno della tua libreria IDE e sposta i file.cpp e.h
Provalo
Apri EsempioEchoObstacleDetection.ino.
Questo è un semplice esempio di rilevamento di ostacoli eseguito con 2 sensori a ultrasuoni.
L'uscita è diretta sul monitor seriale. Inizialmente stamperà le distanze rilevate dai 2 sensori e poi stamperà avvisi a seconda delle distanze sotto le soglie.
Consigliato:
Robot per evitare gli ostacoli che utilizza il sensore a ultrasuoni (Proteus): 12 passaggi
Robot per evitare gli ostacoli che utilizza il sensore a ultrasuoni (Proteus): generalmente ci imbattiamo in robot per evitare gli ostacoli ovunque. La simulazione hardware di questo robot fa parte della competizione in molti college e in molti eventi. Ma la simulazione software del robot ostacolo è rara. Anche se riusciamo a trovarlo da qualche parte
Quad per bambini che hackera un veicolo a guida autonoma, che segue la linea e rileva ostacoli.: 4 passaggi
Quad per bambini che ha hackerato un veicolo a guida autonoma, che segue la linea e che rileva gli ostacoli.: Nell'istruttivo di oggi trasformeremo un quad elettrico per bambini da 1000 Watt (sì, lo so molto!) In un veicolo a guida autonoma, che segue la linea e che evita gli ostacoli! Video dimostrativo: https://youtu.be/bVIsolkEP1kPer questo progetto avremo bisogno dei seguenti materiali
OAREE - 3D Printed - Robot che evita gli ostacoli per l'educazione tecnica (OAREE) con Arduino: 5 passaggi (con immagini)
OAREE - 3D Printed - Robot che evita gli ostacoli per l'educazione all'ingegneria (OAREE) con Arduino: Design OAREE (robot che evita gli ostacoli per l'educazione all'ingegneria): l'obiettivo di questo tutorial era quello di progettare un robot OAR (robot che evitava gli ostacoli) che fosse semplice / compatto, Stampabile in 3D, facile da montare, utilizza servi a rotazione continua per movimen
Robot che evita gli ostacoli utilizzando sensori a ultrasuoni: 9 passaggi (con immagini)
Robot che evita ostacoli utilizzando sensori a ultrasuoni: questo è un semplice progetto sul robot che evita ostacoli utilizzando sensori a ultrasuoni (HC SR 04) e scheda Arduino Uno. Il robot si muove evitando gli ostacoli e scegliendo il modo migliore per seguire i sensori. E si prega di notare che non è un progetto tutorial, condividi te
Robot che evita gli ostacoli con Arduino Uno: 5 passaggi (con immagini)
Robot che evita ostacoli usando Arduino Uno: Ciao ragazzi, questo è un progetto molto semplice e funzionante chiamato robot che evita ostacoli usando arduino e la specialità di questo progetto è che dà comandi su come viaggia su smartphone tramite bluetooth