3.1 Prueba el Coche

Aquí, aprenderás cómo escribir scripts para hacer que el coche avance, pero necesitarás referirte a Proyectos de Coches para ensamblar el coche y obtener una comprensión básica del mismo.

Pero antes de comenzar el proyecto, necesitas conocer los pasos para usar PictoBlox en Modo de Carga.

Componentes Necesarios

Para este proyecto, necesitamos los siguientes componentes.

Es definitivamente conveniente comprar un kit completo, aquí está el enlace:

Nombre

ELEMENTOS EN ESTE KIT

ENLACE

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

También puedes comprarlos por separado en los siguientes enlaces.

INTRODUCCIÓN DEL COMPONENTE

ENLACE DE COMPRA

Placa SunFounder R3

BUY

Módulo Controlador de Motor L9110

-

Motor TT

-

Construye el Circuito

El módulo controlador de motor L9110 es un módulo controlador de motor de alta potencia para conducir motores DC y motores paso a paso. El módulo L9110 puede controlar hasta 4 motores DC, o 2 motores DC con control de dirección y velocidad.

Conecta los cables entre el módulo L9110 y la placa R3 según el diagrama a continuación.

Módulo L9110

Placa R3

Motor

A-1B

5

A-1A

6

B-1B(B-2A)

9

B-1A

10

OB(B)

Cable negro del motor derecho

OA(B)

Cable rojo del motor derecho

OB(A)

Cable negro del motor izquierdo

OA(A)

Cable rojo del motor izquierdo

../../_images/car_21.png

Programación

1. Haz que el coche avance

Basado en el cableado anterior, sabemos que los pines 5 y 6 se utilizan para controlar la rotación del motor derecho y los pines 9 y 10 para la rotación del motor izquierdo. Ahora escribamos un script para hacer que el coche avance.

Después de seleccionar la placa como Arduino Uno, cambia a Modo de Carga y escribe el script según el siguiente diagrama.

../../_images/1_test1.png

Haz clic en el botón Upload Code para subir el código a la placa R3. Cuando se complete, verás que los dos motores del coche se mueven hacia adelante (si pones el coche en el suelo, se moverá hacia adelante en línea recta, pero puede que el coche vaya en curva porque la velocidad de los dos motores es un poco diferente).

Si no ambos giran hacia adelante, pero ocurren las siguientes situaciones, necesitas reajustar el cableado de los dos motores.

  • Si ambos motores giran hacia atrás al mismo tiempo (el motor izquierdo gira en el sentido de las agujas del reloj, el motor derecho gira en sentido contrario), intercambia el cableado de los motores izquierdo y derecho al mismo tiempo, OA(A) y OB(A) se intercambian, OA(B) y OB(B) se intercambian.

  • Si el motor izquierdo gira hacia atrás (rotación en el sentido de las agujas del reloj), intercambia el cableado de OA(B) y OB(B) del motor izquierdo.

  • Si el motor derecho gira hacia atrás (rotación en sentido contrario a las agujas del reloj), intercambia el cableado de OA(A) y OB(A) del motor derecho.

2. Creación de bloque

Para que el script sea más limpio y fácil de usar, aquí ponemos todos los bloques que controlan el movimiento hacia adelante en un bloque, y cuando se usa, simplemente llama a este bloque directamente.

Haz clic en Make a Block en la paleta My Blocks.

../../_images/1_test31.png

Introduce el nombre del bloque - forward y marca Add an input, establece el nombre de la entrada a speed.

../../_images/1_test32.png

Arrastra y suelta los bloques que controlan el avance de los coches en forward, ten en cuenta que necesitas añadir el parámetro - speed a los pines 6 y 9.

../../_images/1_test33.png

Llama al bloque creado en el bloque [Forward] - forward. En el modo de subida, el bloque [When Arduino Uno starts up] debe añadirse al principio.

  • El rango de velocidad de rotación del motor es 100 ~ 255.

../../_images/1_test3.png

3. Ajustando la velocidad de los motores

Dado que puede haber una ligera diferencia en la velocidad de los 2 motores, lo que resulta en que el coche no pueda moverse en línea recta, podemos dar a los motores izquierdo y derecho diferentes velocidades para mantener el coche moviéndose en línea recta tanto como sea posible.

Dado que mi coche se mueve lentamente hacia el frente derecho, aquí reduzco la velocidad del motor izquierdo.

../../_images/1_test2.png