Sommario:
- Passaggio 1: cose necessarie da fare
- Passaggio 2: comprensione dei concetti
- Passaggio 3: strumenti necessari
- Fase 4: Cocept per la codifica AVR
- Passaggio 5: connessioni hardware:
- Passaggio 6: codice
- Passaggio 7: video
Video: Robot di evitamento ultrasonico che utilizza Arduino: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
In questo tutorial, ti mostrerò come creare il tuo ostacolo evitando il robot! Useremo la scheda Arduino UNO e un sensore a ultrasuoni. Se il robot rileva un oggetto davanti a sé, con l'aiuto di un piccolo servomotore, scansiona l'area a sinistra ea destra per trovare il modo migliore per girare. Dispone inoltre di un LED di notifica, di un buzzer per emettere un segnale acustico al rilevamento di un oggetto e di un pulsante per modificare la funzione del robot (fermo/in avanti).
È molto facile realizzarlo!
Passaggio 1: cose necessarie da fare
Per questo progetto avrai bisogno di:
- Arduino UNO (acquistalo da gearbest.com)
- Mini breadboard (acquistalo da gearbest.com)
- Modulo driver motore L298 (acquistalo da gearbest.com)
- 2x motori cc con ruote sensore ultrasonico HC-SR04 (acquistalo da gearbest.com)
- Micro servomotore (acquistalo da gearbest.com)
- Pulsante LED rosso Resistenza 220 OhmPorta batterie 9V (con o senza jack di alimentazione)
- 8 distanziali (maschio-femmina),
- 8 dadi e 8 viti ti servirà anche uno grande (metallo)
graffetta e una perlina per fare la ruota di supporto posteriore.
Per la base del robot, ho usato uno chassis in acrilico di Aliexpress. Puoi anche usare un pezzo di legno o metallo (o due piastre elettriche).
Il costo dell'intero progetto è di circa 20$
Attrezzi: Trapano a colla per colla a caldo per equipaggio guidatore di colla per pistola a caldo (opzionale) Potenza:
Utilizzeremo una batteria da 9V per alimentare il nostro robot perché è piccolo ed economico, ma non è molto potente e si scaricherà dopo circa un'ora. Considera se vuoi utilizzare una batteria ricaricabile (min 6V, max 7V) che sarà più potente ma sarà anche più costosa e più grande della batteria da 9V. IscrivitiIl nostro canale YouTube Clicca qui
Passaggio 2: comprensione dei concetti
L'obiettivo è rendere il robot consapevole degli ostacoli davanti a lui, in modo che possa cambiare direzione ed evitarli. Nell'articolo precedente abbiamo fatto muovere il robot, ora gli daremo un po' di autonomia.
Sensore ultrasonico
HC-SR04 è un circuito in grado di misurare una distanza da oggetti fino a 4 metri utilizzando onde ultrasoniche. Invia un ping (come un sottomarino) e misura il tempo (in microsecondi) tra l'invio e la ricezione di qualsiasi cosa. Questo tempo viene poi diviso per 2 mentre l'onda viaggia avanti e indietro. E poi dividi per 29 per ottenere una distanza in centimetri (o 74 per pollici), perché il suono viaggia per 29,4 µs per centimetro (340 m/s). Il sensore è molto preciso con una tolleranza di ~3 mm e facile da integrare con Arduino.
Interfacciamento del sensore a ultrasuoni con il microcontrollore AVR
Qualsiasi robot autonomo dovrebbe avere un ostacolo da evitare e un sensore di misurazione della distanza collegato. Una coppia di ricetrasmettitori IR o un sensore in scala di grigi può funzionare facilmente per il rilevamento di ostacoli nel raggio di 1 cm-10 cm. I telemetri IR (ad esempio quelli da sharp) possono misurare una distanza dall'ostacolo più vicino con una portata fino a 100cm. Tuttavia, i sensori IR sono influenzati dalla luce solare e da altre fonti di luce. I telemetri IR hanno una portata inferiore e sono anche costosi per quello che fanno. I sensori a ultrasuoni (noti anche come sensori di prossimità a ultrasuoni o sonar per i geek) svolgono entrambe queste attività a un costo ragionevole e con una precisione eccezionale. La gamma è compresa tra 3 cm e 350 cm con una precisione di ~ 3 mm. Collegando uno di questi sensori a ultrasuoni al nostro robot, può fungere sia da evitatore di ostacoli che da sensore di misurazione della distanza.
Il suono "ultrasonico" si riferisce a qualsiasi cosa al di sopra delle frequenze del suono udibile e include nominalmente qualsiasi cosa oltre 20.000 Hz o 20kHz! I sensori a ultrasuoni economici utilizzati per la robotica generalmente funzionano in un intervallo da 40 kHz a 250 kHz mentre quelli utilizzati nelle apparecchiature mediche arrivano fino a 10 Mhz.
Passaggio 3: strumenti necessari
- Multimetro
- tagliere
- Pinze ago
- Spelafili
- Tronchese
- Pistola a colla
MultimetroUn multimetro è in realtà un semplice dispositivo utilizzato principalmente per misurare la tensione e la resistenza e per determinare se un circuito è chiuso. Simile al debug del codice del computer, il multimetro ti aiuta a "debuggare" i tuoi circuiti elettronici.
Materiali da costruzione
Utilissima una pronta scorta di legno sottile e/o plexiglas per realizzare il telaio meccanico. I metalli come l'alluminio e l'acciaio sono spesso limitati a coloro che hanno accesso a un'officina meccanica, sebbene l'alluminio sottile possa essere tagliato con le cesoie e piegato a mano. I telai meccanici possono anche essere costruiti da articoli per la casa come contenitori di plastica.
Sebbene siano possibili altri materiali come la plastica (a parte il plexiglas) o materiali più esotici come la fibra di vetro e la fibra di carbonio, non saranno considerati in questa guida. Diversi produttori hanno notato che non è facile per la maggior parte degli hobbisti produrre le proprie parti meccaniche e hanno creato parti meccaniche modulari. Un leader in questo è Lynxmotion che offre una vasta gamma di progetti robotici e le parti necessarie per creare i propri robot personalizzati.
Strumenti manuali
Sono necessari cacciaviti e pinze di vario tipo e dimensione (compreso il set di strumenti da gioielliere: piccoli cacciaviti comunemente disponibili nei negozi di dollari). Anche un trapano (preferibilmente un trapano a colonna per fori diritti) è importante. Anche una sega a mano per il taglio di materiali da costruzione (o una fresatrice) è una risorsa importante. Se il budget lo consente, una piccola sega a nastro da tavolo (gamma $ 200) è sicuramente uno strumento da considerare.
Tagliere senza saldatura
Una breadboard senza saldatura consente di ottimizzare il layout e collegare i componenti con facilità. Insieme a una breadboard senza saldatura, è necessario acquistare un kit di cavi per ponticelli preformato che consiste in fili pretagliati e piegati destinati a essere utilizzati con una breadboard senza saldatura. Questo rende le connessioni molto facili.
Set di cacciaviti piccoli
Questi piccoli cacciaviti sono necessari quando si lavora con l'elettronica. Non forzarli troppo però: le loro dimensioni li rendono più fragili.
Set di cacciaviti normali
Tutte le officine necessitano di un multiutensile o di un set di strumenti che includa teste piatte / Phillips e altre teste di cacciavite.
Pinze ago
set di pinze ad ago è incredibilmente utile quando si lavora con piccoli componenti e parti ed è un'aggiunta molto economica alla tua cassetta degli attrezzi. Queste sono diverse dalle normali pinze perché arrivano a un punto che può entrare in piccole aree.
Spelafili/tagliafili
Stai pianificando di tagliare qualsiasi filo, una spelafili ti farà risparmiare tempo e fatica. Uno spelafili, se usato correttamente, rimuoverà solo l'isolamento del cavo e non produrrà attorcigliamenti o danneggerà i conduttori. L'altra alternativa a una spelafili è un paio di forbici, anche se il risultato finale può essere disordinato. Forbici, righello, penna, pennarello, coltello Exacto (o altro strumento da taglio portatile) sono elementi essenziali in qualsiasi ufficio.
Fase 4: Cocept per la codifica AVR
Calcolo della velocità del suono rispetto ai sensori a ultrasuoni
Poca matematica, ma non abbiate paura. È più semplice di quanto pensi.
La velocità del suono nell'aria secca a temperatura ambiente (~20°C) = 343 metri/secondo
Affinché l'onda sonora colpisca e compia un viaggio di andata e ritorno verso l'oggetto vicino è = 343/2 = 171,5 m/poiché la portata massima di un sensore a ultrasuoni economico non è superiore a 5 metri (percorso di andata e ritorno), avrebbe più senso cambia le unità in centimetri e microsecondi.
1 metro = 100 centimetri1 secondo = 10^6 microsecondi = (s / 171,5) x (m / 100 cm) x ((1x10^6)/s) = (1/171,5) x (1/100) x (1000000/ 1) = 58,30903790087464 us/cm = 58,31 us/cm (arrotondando a due cifre per facilitare i calcoli)Pertanto, il tempo impiegato da un impulso per raggiungere un oggetto e rimbalzare indietro di 1 centimetro è 58,31 microsecondi.
il piccolo background sui cicli di clock dell'AVR
Ci vuole un capitolo completamente diverso per capire i cicli di clock dell'AVR, ma capiremo brevemente come funziona per rendere più facili i nostri calcoli
Per il nostro esempio, utilizzeremo la scheda AVR Draco che ha un microcontrollore AVR - Atmega328P a 8 bit. Per semplificare le cose, non modificheremo le impostazioni di un microcontrollore. Nessun pezzo di fusibile toccato; Nessun cristallo esterno attaccato; Nessun mal di testa. Alle impostazioni di fabbrica, funziona su un oscillatore interno da 8 MHz con un prescaler /8; Se non capisci tutto questo, significa semplicemente che il microcontrollore sta funzionando con un oscillatore RC interno da 1 MHz e ogni ciclo di clock impiega 1 microsecondo.
1 2 1MHz = di 1000000 cicli al secondo Pertanto, 1s/1000000 = 1/1000000 = 1us
Orologi AVR e conversione della distanza
Siamo quasi li! Una volta che sappiamo come convertire i cicli di clock dell'AVR nella distanza percorsa dalle onde sonore, implementare la logica in un programma è facile.
Sappiamo che la velocità del suono ultrasonico nell'ambiente ideale è: 58,31 us/cm
Sappiamo che la risoluzione del microcontrollore AVR è 1us/clock cycle (CLK)
Pertanto, la distanza percorsa dal suono per ciclo di clock (CLK) è:
1 2 3 = (58,31 us/cm) x (1 us/ clk) = 58,31 cicli di clock/cm o = 1/58,31 cm/ clk
Se il numero di cicli di clock necessari al suono per viaggiare e rimbalzare è noto, possiamo facilmente calcolare la distanza. Ad esempio, se il sensore impiega 1000 cicli di clock per viaggiare e rimbalzare, la distanza da un sensore all'oggetto più vicino è = 1000/58,31 = 17,15 cm (circa)
Ha tutto senso adesso? No? Leggilo di nuovo
Se sei chiaro con tutta la logica sopra menzionata, la implementeremo in uno scenario reale collegando un sensore a ultrasuoni HC-SR04 economico alla nostra scheda Arduino AVR.
Passaggio 5: connessioni hardware:
Arduino Board semplifica il collegamento di qualsiasi sensore esterno e visualizza anche i risultati su LCD. Per il rilevamento della portata a ultrasuoni, utilizziamo un modulo HC-SR04 economico. Il modulo ha 4 pin che possono essere collegati alla scheda del microcontrollore: VCC, TRIG, ECHO e GND.
Collegare il pin VCC a 5V e il pin GND a massa sulla scheda Arduino.
Il pin TRIG e il pin ECHO possono essere collegati a qualsiasi pin disponibile sulla scheda. L'invio di un segnale "alto" di almeno 10us al pin di attivazione invia otto onde sonore da 40 kHz e porta il pin dell'eco in alto. Se il suono rimbalza su un oggetto vicino e ritorna, viene catturato dal trasduttore ricevente e il pin dell'eco viene abbassato.
Sono disponibili anche altre varianti di moduli sensore a ultrasuoni con soli 3 pin. Il principio di funzionamento è sempre lo stesso, ma le funzionalità dei pin trigger ed eco sono combinate in un unico pin.
Una volta connessi, Trigger ed Echo Pins possono essere configurati via software. Per semplificare questo esempio, in questo esempio non utilizzeremo alcun pin di interruzione (o pin di acquisizione input). Non utilizzare pin di interruzione designati ci dà anche la libertà di collegare il modulo a qualsiasi pin disponibile sulla scheda.
Passaggio 6: codice
CodiceIl codice seguente contiene solo un'estensione "ultrasuoni" al controllo del motore CC utilizzando un H-Bridge dell'articolo precedente. Quando il robot rileva un ostacolo davanti a sé, si gira (gradi casuali) e continua ad avanzare. Questa funzionalità potrebbe essere facilmente estesa per continuare a girare e rilevare gli ostacoli allo stesso tempo, in modo che il robot non giri in modo casuale, ma inizi ad avanzare solo quando non viene rilevato alcun oggetto.
Per la spiegazione del codice, fare riferimento al video di Youtube elencato sul canale.
Passaggio 7: video
Guarda il video per l'intero processo.
Consigliato:
Robot controllato da gesti che utilizza Arduino: 7 passaggi
Robot controllato dai gesti che utilizza Arduino: i robot sono utilizzati in molti settori come l'edilizia, militare, manifatturiero, assemblaggio, ecc. I robot possono essere autonomi o semi-autonomi. I robot autonomi non richiedono alcun intervento umano e possono agire da soli in base alla situazione. Se
NAIN 1.0 - il robot umanoide di base che utilizza Arduino: 6 passaggi
NAIN 1.0 - il robot umanoide di base che utilizza Arduino: Nain 1.0 avrà fondamentalmente 5 moduli rimovibili- 1) Arm - che può essere controllato tramite servocomandi. 2) Ruote - che può essere controllato con motori a corrente continua. 3) Gamba - Nain sarà in grado di passare da ruote a gambe per il movimento. 4) Testa e
Robot cingolato RC che utilizza Arduino - Passo dopo passo: 3 passaggi
Robot cingolato RC che utilizza Arduino - Passo dopo passo: Ehi ragazzi, sono tornato con un altro fantastico telaio Robot di BangGood. Spero che tu abbia superato i nostri progetti precedenti: Spinel Crux V1 - Il robot controllato dai gesti, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms e The Badland Braw
Robot Arduino wireless che utilizza il modulo wireless HC12: 7 passaggi
Robot Arduino wireless che utilizza il modulo wireless HC12: Ehi ragazzi, bentornati. Nel mio post precedente, ho spiegato cos'è un circuito a ponte H, IC driver motore L293D, IC driver motore L293D piggybacking per pilotare driver motore ad alta corrente e come è possibile progettare e realizzare la propria scheda driver motore L293D
Robot in movimento automatico semplice che utilizza Arduino e IC L293d: 6 passaggi
Robot in movimento automatico semplice che utilizza Arduino e IC L293d: questo è un robot di base gestito da un arduino e ciò che fa è che si aggira e segue un percorso circolare per codice predefinito, ma è possibile modificare il codice per cambiare facilmente il percorso. È un progetto semplice che chiunque può costruire..Quindi If You Ev