Tabla de contenido:

Arduino - Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared: 6 pasos (con imágenes)
Arduino - Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared: 6 pasos (con imágenes)

Video: Arduino - Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared: 6 pasos (con imágenes)

Video: Arduino - Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared: 6 pasos (con imágenes)
Video: Cómo Resolver de Laberintos Siguiendo la Pared con Sensores de Proximidad | CoppeliaSim (V-REP) 2024, Noviembre
Anonim
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared
Arduino | Robot de resolución de laberintos (MicroMouse) Robot de seguimiento de pared

Bienvenidos Soy Isaac y este es mi primer robot "Striker v1.0". Este Robot fue diseñado para resolver un Laberinto simple. En la competencia teníamos dos laberintos y el robot pudo identificarlos. Cualquier otro cambio en el laberinto puede requerir un cambio en el código y el diseño, pero todo es fácil de hacer.

Paso 1: Partes

Partes
Partes
Partes
Partes
Partes
Partes

En primer lugar, debe saber con qué está lidiando.

Robots = Electricidad + Hardware + Software1- Electricidad: las baterías tienen muchas especificaciones, solo debe saber cuánta Corriente y Voltaje necesita.

2- Hardware: "Cuerpo, motor, controlador de motor, sensores, cables y el controlador", solo debe obtener las partes importantes que hacen la tarea, sin necesidad de obtener un controlador costoso y elegante para una tarea simple.

3- Software: El código tiene que ver con la lógica. Una vez que comprenda cómo funciona el controlador, le resultará fácil elegir las funciones y simplificar el código. El idioma del código está determinado por el tipo de controlador.

Lista de:

  1. Arduino UNO
  2. Motores 12v DC (x2)
  3. Ruedas (x2)
  4. Controlador de motor (L298N)
  5. Sensor de distancia (ultrasónico)
  6. Alambres
  7. Batería de 12v (1000 mAh)

Lista de herramientas:

  1. Cargador de batería
  2. Hoja acrílica
  3. Soldador
  4. Cortador de cables
  5. Envoltura de nailon con cremallera

Para mayor diversión, puede usar LED para iluminarlo, pero no es muy importante.

Paso 2: Diseño de la carrocería

Diseño de carrocería
Diseño de carrocería
Diseño de carrocería
Diseño de carrocería
Diseño de carrocería
Diseño de carrocería

La idea principal era apilar las partes sobre el cuerpo y usar el Nylon Zip Wrap para estabilizar el Arduino y Wires estabilizará el resto gracias a su peso ligero.

Usé CorelDRAW para diseñar el cuerpo e hice agujeros adicionales en caso de cambios futuros.

Fui a un taller local para usar el cortador láser y luego comencé a construirlo todo junto. Más tarde, hice algunos cambios porque los motores eran más largos de lo que esperaba. Quiero decir que su robot no tiene que construirse de la misma manera que el mío.

Se adjuntan el archivo PDF y el archivo CorelDRAW.

Si no puede cortar el diseño con láser, no se preocupe. Siempre que tenga un Arduino, los mismos sensores y motores, entonces debería poder hacer que mi código funcione en su robot con cambios menores.

Paso 3: Implementación (construcción)

Implementación (construcción)
Implementación (construcción)
Implementación (construcción)
Implementación (construcción)
Implementación (construcción)
Implementación (construcción)

El diseño facilitó la fijación de sensores en el cuerpo.

Paso 4: cableado

Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado

Aquí hay un diagrama esquemático del robot. Estas conexiones están relacionadas con el código. Puede cambiar las conexiones, pero asegúrese de cambiar el código con él.

Me gustaría explicar "El sensor ultrasónico"

Un sensor ultrasónico es un dispositivo que puede medir la distancia a un objeto usando ondas sonoras. Mide la distancia enviando una onda de sonido a una frecuencia específica y escuchando que esa onda de sonido rebote. Al registrar el tiempo transcurrido entre la generación de la onda de sonido y el rebote de la onda de sonido, esto parece similar al funcionamiento de Sonar y Radar.

La conexión del sensor ultrasónico al Arduino:

  1. El pin GND está conectado a tierra.
  2. El pin VCC está conectado al Positivo (5v).
  3. El pin Echo está conectado al Arduino. (elija cualquier pin y combínelo con el código)
  4. El pin TRIG está conectado al Arduino. (elija cualquier pin y combínelo con el código)

Hará una tierra común y conectará todos los GND (sensores, Arduino, controlador), todas las tierras deben estar conectadas.

Para los pines Vcc también conecte los 3 sensores a un pin de 5v

(puede conectarlos al Arduino o al controlador, recomiendo el controlador)

Nota: No conecte los sensores a un voltaje superior a 5v o se dañarán.

Controlador de motor

El puente en H L298N: es un circuito integrado que le permite controlar la velocidad y la dirección de dos motores de CC, o controlar un motor paso a paso bipolar con facilidad. 5 y 35V DC.

También hay un regulador de 5v incorporado, por lo que si su voltaje de suministro es de hasta 12v, también puede obtener 5v de la placa.

Considere la imagen: haga coincidir los números con la lista debajo de la imagen:

  1. Motor de CC 1 "+"
  2. Motor de CC 1 "-"
  3. Puente de 12 V: elimínelo si utiliza una tensión de alimentación superior a 12 V CC. Esto habilita el regulador de 5v integrado
  4. Conecte aquí el voltaje de alimentación de su motor, máximo de 35 V CC.
  5. GND
  6. Salida de 5v si el puente de 12v está en su lugar
  7. Puente de habilitación del motor de CC 1. Quite el puente y conéctelo a la salida PWM para el control de velocidad del motor de CC.
  8. Control de dirección IN1
  9. Control de dirección IN2
  10. Control de dirección IN3
  11. Control de dirección IN4
  12. Puente de habilitación del motor CC 2. Retire el puente y conéctelo a la salida PWM para el control de velocidad del motor de CC
  13. Motor de CC 2 "+"
  14. Motor de CC 2 "-"

Nota: Este controlador permite 1A por canal, consumir más corriente dañará el IC.

Batería

Usé batería de 12v con 1000 mAh.

La tabla de arriba muestra cómo cae el voltaje cuando se descarga la batería. debes tenerlo en cuenta y tienes que recargar la batería constantemente.

El tiempo de descarga es básicamente la clasificación Ah o mAh dividida por la corriente.

Entonces, para una batería de 1000 mAh con una carga que consume 300 mA, tiene:

1000/300 = 3,3 horas

Si drena más corriente, el tiempo disminuirá y así sucesivamente. Nota: asegúrese de no exceder la corriente de descarga de la batería o se dañará.

También vuelva a hacer una tierra común y conecte todos los GND (sensores, Arduino, controlador), todas las tierras deben estar conectadas.

Paso 5: codificación

Codificación
Codificación
Codificación
Codificación

Los convertí en funciones y me divertí codificando este robot.

La idea principal es evitar chocar contra las paredes y salir del laberinto. Teníamos 2 laberintos simples y tenía que tenerlo en cuenta porque eran diferentes.

El laberinto azul utiliza el algoritmo de seguimiento de la pared derecha.

El laberinto rojo utiliza el algoritmo de seguimiento de la pared izquierda.

La foto de arriba muestra la salida en ambos laberintos.

Flujo de código:

  1. definiendo los pines
  2. definir pines de entrada y salida
  3. comprobar las lecturas de los sensores
  4. utilizar la lectura de los sensores para definir paredes
  5. verifique la primera ruta (si estaba a la izquierda, siga la pared de la izquierda, si está a la derecha, siga la pared de la derecha)
  6. Utilice PID para evitar chocar contra las paredes y controlar la velocidad de los motores

Puede usar este código, pero cambie los pines y los números constantes para obtener los mejores resultados.

Siga este enlace para obtener el código.

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

Siga este enlace para la biblioteca y el archivo de código Arduino.

github.com/Is7aQ/Maze-Solving-Robot

Paso 6: Diviértete

Asegúrate de divertirte: DEsto es por diversión, no te asustes si no funciona o si algo anda mal. rastrea el error y no te rindas. Gracias por leer y espero que te haya ayudado.

Correo electrónico: [email protected]

Recomendado: