Sommario:

Arduino - Robot per risolvere labirinti (MicroMouse) Robot che segue il muro: 6 passaggi (con immagini)
Arduino - Robot per risolvere labirinti (MicroMouse) Robot che segue il muro: 6 passaggi (con immagini)

Video: Arduino - Robot per risolvere labirinti (MicroMouse) Robot che segue il muro: 6 passaggi (con immagini)

Video: Arduino - Robot per risolvere labirinti (MicroMouse) Robot che segue il muro: 6 passaggi (con immagini)
Video: Autonomous maze solving robot 2024, Dicembre
Anonim
Arduino | Robot per risolvere labirinti (MicroMouse) Robot che segue il muro
Arduino | Robot per risolvere labirinti (MicroMouse) Robot che segue il muro
Arduino | Robot per risolvere labirinti (MicroMouse) Robot che segue il muro
Arduino | Robot per risolvere labirinti (MicroMouse) Robot che segue il muro
Arduino | Robot per risolvere labirinti (MicroMouse) Robot che segue il muro
Arduino | Robot per risolvere labirinti (MicroMouse) Robot che segue il muro
Arduino | Robot per risolvere labirinti (MicroMouse) Robot che segue il muro
Arduino | Robot per risolvere labirinti (MicroMouse) Robot che segue il muro

Benvenuto, sono Isaac e questo è il mio primo robot "Striker v1.0". Questo robot è stato progettato per risolvere un semplice labirinto. Nella competizione avevamo due labirinti e il robot è stato in grado di identificarli. Eventuali altri cambiamenti nel labirinto potrebbe richiedere una modifica al codice e al design, ma è tutto facile da fare.

Passaggio 1: parti

Parti
Parti
Parti
Parti
Parti
Parti

Prima di tutto devi sapere con cosa hai a che fare.

Robot = Elettricità + Hardware + Software1- Elettricità: le batterie hanno molte specifiche, dovresti sapere solo quanta corrente e tensione ti servono.

2- Hardware: "Corpo, motore, driver del motore, sensori, cavi e controller" dovresti ottenere solo le parti importanti che svolgono il compito, non è necessario ottenere un controller costoso di fantasia per un compito semplice.

3- Software: il codice è tutto basato sulla logica. Una volta compreso il funzionamento del controller, sarà facile per te scegliere le funzioni e rendere più semplice il codice. La lingua del codice è determinata dal tipo di controller.

Elenco delle parti:

  1. Arduino UNO
  2. Motori 12v CC (x2)
  3. Ruote (x2)
  4. Driver del motore (L298N)
  5. Sensore di distanza (ultrasuoni)
  6. fili
  7. Batteria 12v (1000mAh)

Elenco strumenti:

  1. Caricabatterie
  2. Foglio acrilico
  3. Saldatore
  4. Tronchese
  5. Avvolgimento con cerniera in nylon

Per un divertimento extra puoi usare i LED per illuminarlo, ma non è molto importante.

Passaggio 2: design del corpo

Design del corpo
Design del corpo
Design del corpo
Design del corpo
Design del corpo
Design del corpo

L'idea principale era quella di impilare le parti sopra il corpo e utilizzare il nylon Zip Wrap per stabilizzare l'Arduino e i cavi stabilizzeranno il resto grazie alla loro leggerezza.

Ho usato CorelDRAW per disegnare il corpo e ho fatto dei fori extra in caso di modifiche future.

Sono andato in un'officina locale per usare il laser cutter, quindi ho iniziato a costruirlo tutto insieme. Successivamente, ho apportato alcune modifiche perché i motori erano più lunghi di quanto mi aspettassi. Voglio dire che il tuo robot non deve essere costruito nello stesso modo del mio.

Il file PDF e il file CorelDRAW sono allegati.

Se non sei in grado di tagliare al laser il disegno, non preoccuparti. Finché hai un Arduino, gli stessi sensori e motori, dovresti essere in grado di far funzionare il mio codice sul tuo robot con piccole modifiche.

Passaggio 3: implementazione (costruzione)

Attuazione (costruzione)
Attuazione (costruzione)
Attuazione (costruzione)
Attuazione (costruzione)
Attuazione (costruzione)
Attuazione (costruzione)

Il design ha reso facile fissare i sensori sul corpo.

Passaggio 4: cablaggio

Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio

Ecco un diagramma schematico del robot. queste connessioni sono legate al codice. Puoi cambiare le connessioni ma assicurati di cambiare il codice con esso. Le parti. Sensori

Vorrei spiegare "Il sensore a ultrasuoni"

Un sensore a ultrasuoni è un dispositivo in grado di misurare la distanza da un oggetto utilizzando le onde sonore. Misura la distanza inviando un'onda sonora a una frequenza specifica e ascoltando il rimbalzo di quell'onda sonora. Registrando il tempo trascorso tra l'onda sonora che viene generata e l'onda sonora che rimbalza indietro. Questo sembra simile al funzionamento di Sonar e Radar.

La connessione del sensore ad ultrasuoni ad Arduino:

  1. Il pin GND è collegato a terra.
  2. Il pin VCC è collegato al Positivo (5v).
  3. Il pin Echo è collegato ad Arduino. (scegli un pin qualsiasi e abbinalo al codice)
  4. Il pin TRIG è collegato ad Arduino. (scegli un pin qualsiasi e abbinalo al codice)

Creerai una massa comune e collegherai tutti i GND ad essa (sensori, Arduino, driver) tutte le masse dovrebbero essere collegate.

Per i Pin Vcc collegare anche i 3 Sensori ad un Pin 5v

(puoi collegarli all'Arduino O al Driver consiglio il Driver)

Nota: non collegare i sensori a una tensione superiore a 5 V o si danneggerà.

Driver del motore

Il L298N H-bridge: è un IC che può permetterti di controllare la velocità e la direzione di due motori DC, o controllare facilmente un motore passo-passo bipolare. Il driver L298N H-bridge può essere usato con motori che hanno una tensione compresa tra 5 e 35 V CC.

C'è anche un regolatore 5v a bordo, quindi se la tua tensione di alimentazione è fino a 12v puoi anche ottenere 5v dalla scheda.

Considera l'immagine: abbina i numeri all'elenco sotto l'immagine:

  1. Motore CC 1 “+”
  2. Motore CC 1 “-”
  3. Ponticello 12v – rimuoverlo se si utilizza una tensione di alimentazione maggiore di 12v DC. Ciò abilita il regolatore 5v di bordo
  4. Collega qui la tensione di alimentazione del motore, massimo 35 V CC.
  5. GND
  6. Uscita 5v se ponticello 12v in posizione
  7. Ponticello di abilitazione motore CC 1. Rimuovere il ponticello e collegare all'uscita PWM per il controllo della velocità del motore CC.
  8. IN1 Controllo della direzione
  9. IN2 Controllo della direzione
  10. IN3 Controllo della direzione
  11. IN4 Controllo della direzione
  12. Ponticello di abilitazione motore CC 2. Rimuovere il ponticello e collegare all'uscita PWM per il controllo della velocità del motore CC
  13. Motore CC 2 “+”
  14. Motore CC 2 “-”

Nota: questo driver consente 1 A per canale, il drenaggio di più corrente danneggerà l'IC.

Batteria

Ho usato una batteria da 12v con 1000 mAh.

La tabella sopra mostra come la tensione scende quando la batteria si scarica. dovresti tenerlo a mente e devi ricaricare la batteria costantemente.

Il tempo di scarica è fondamentalmente il valore Ah o mAh diviso per la corrente.

Quindi per una batteria da 1000mAh con un carico che assorbe 300mA hai:

1000/300 = 3,3 ore

Se scarichi più corrente il tempo diminuirà e così via. Nota: assicurarsi di non superare la corrente di scarica della batteria o si danneggerà.

Inoltre, crea nuovamente una massa comune e collega tutti i GND ad essa (sensori, Arduino, driver) tutte le masse dovrebbero essere collegate.

Passaggio 5: codifica

codifica
codifica
codifica
codifica

Li ho trasformati in funzioni e mi sono divertito a codificare questo robot.

L'idea principale è evitare di colpire i muri e uscire dal labirinto. Avevamo 2 labirinti semplici e dovevo tenerlo a mente perché erano diversi.

Il labirinto blu utilizza l'algoritmo che segue la parete destra.

Il labirinto rosso utilizza l'algoritmo che segue la parete sinistra.

La foto sopra mostra la via d'uscita in entrambi i labirinti.

Flusso del codice:

  1. definire i pin
  2. definizione dei pin di output e input
  3. controlla le letture dei sensori
  4. utilizzare la lettura dei sensori per definire i muri
  5. controlla il primo percorso (se era a sinistra segui il muro di sinistra, se è giusto segui il muro di destra)
  6. Usa il PID per evitare di sbattere contro i muri e per controllare la velocità dei motori

Puoi usare questo codice ma cambiare i pin e i numeri costanti per ottenere i migliori risultati.

Segui questo link per il codice.

create.arduino.cc/editor/is7aq_shs/391be92…

Segui questo collegamento per la libreria e il file di codice Arduino.

github.com/Is7aQ/Maze-Solving-Robot

Passaggio 6: divertiti

Assicurati di divertirti:D Questo è tutto per divertimento non farti prendere dal panico se non funziona o se c'è qualcosa che non va. traccia l'errore e non arrenderti. Grazie per la lettura e spero di esserti stato d'aiuto. Contatto:

E-mail: [email protected]

Consigliato: