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+ |
También puedes comprarlos por separado en los siguientes enlaces.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
---|---|
- |
|
- |
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 |
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.
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.
Introduce el nombre del bloque - forward y marca Add an input, establece el nombre de la entrada a speed.
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.
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.
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.