Sommario:

Robot di evitamento ultrasonico che utilizza Arduino: 7 passaggi
Robot di evitamento ultrasonico che utilizza Arduino: 7 passaggi

Video: Robot di evitamento ultrasonico che utilizza Arduino: 7 passaggi

Video: Robot di evitamento ultrasonico che utilizza Arduino: 7 passaggi
Video: Lesson A2: Assembly of the PICAR-X Raspberry Pi Smart Robot car kit by SunFounder 2024, Novembre
Anonim
Image
Image
Robot di evitamento ultrasonico che utilizza Arduino
Robot di evitamento ultrasonico che utilizza Arduino

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

Cose da fare!
Cose da fare!
Cose da fare!
Cose da fare!
Cose da fare!
Cose da fare!
Cose da fare!
Cose da fare!

Per questo progetto avrai bisogno di:

  1. Arduino UNO (acquistalo da gearbest.com)
  2. Mini breadboard (acquistalo da gearbest.com)
  3. Modulo driver motore L298 (acquistalo da gearbest.com)
  4. 2x motori cc con ruote sensore ultrasonico HC-SR04 (acquistalo da gearbest.com)
  5. Micro servomotore (acquistalo da gearbest.com)
  6. Pulsante LED rosso Resistenza 220 OhmPorta batterie 9V (con o senza jack di alimentazione)
  7. 8 distanziali (maschio-femmina),
  8. 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

Comprendere i concetti
Comprendere i concetti
Comprendere i concetti
Comprendere i concetti
Comprendere i concetti
Comprendere i 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

Strumenti necessari
Strumenti necessari
Strumenti necessari
Strumenti necessari
Strumenti necessari
Strumenti necessari
Strumenti necessari
Strumenti necessari
  1. Multimetro
  2. tagliere
  3. Pinze ago
  4. Spelafili
  5. Tronchese
  6. 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

Cocepts per la codifica AVR
Cocepts 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:

Connessioni hardware
Connessioni hardware
Connessioni hardware
Connessioni hardware
Connessioni hardware
Connessioni hardware
Connessioni hardware
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: