La plataforma contiene dos motores con ruedas que podemos programar para que el robot se desplace. Vamos a ver cómo programar a microbit para realizar desplazamientos en línea recta y giros.
BLOQUES
Sección Mbit_Robot
Pulsando en esta sección accedemos a los bloques para programar los movimientos del coche.
Bloque CarCtrlSpeed
El coche se mueve a la velocidad indicada.
Pulsando en la flecha podemos seleccionar distintos sentidos de giro de los motores:
Forward:
Back:
Turn left:
Turn right:
Stop:
Rotate left:
Rotate right:
Avanza hacia adelante
Retrocede marcha atrás
Gira a la izquierda
Gira a la derecha
Para
Vuelta a la izquierda
Vuelta a la derecha
PROGRAMACIÓN
Probamos cada una de las instrucciones relacionadas con el movimiento del vehículo. Para que el coche se mueva no debemos olvidar poner detrás de cada instrucción de movimiento un tiempo de espera que será el tiempo que el vehículo estará realizando cada movimiento antes de cambiar de dirección
Ampliar el coche microbit añadiéndole servomotores tanto de 180º como de rotación continua.
Un servomotor de 180º es un motor cuyo eje se posiciona en un ángulo concreto que le indiquemos por programación.
Identificados con la serigrafía J2, J3 y J4, localizamos en la placa un conjunto de pines que podemos utilizar para la conexión de servomotores tanto de rotación continua como de 180º. Cada salida J tiene asociados 3 pines: GND, V y datos. Conectaremos los servomotores respetando la regla de colores:
Conector Coche Microbit
Negro
Rojo
Amarillo
Cable Servomotor
Marrón
Rojo
Naranja
GND
5V
DATOS
BLOQUES
Bloque Servo_Car
En la sección Mbit_Robot localizamos el bloque Servo_Car. Este bloque lo utillizaremos para indicar al coche el ángulo en el que queremos posicionar al servomotor.
Servomotor contínuo:
Si value = 0, el motor girará contínuamente en un sentido
Si value = 180, el motor girará contínuamente en sentido contrario
Si value = 90, el motor se para
Servomotor 180º:
El servomotor se posiciona en el ángulo que se indique, entre 0 y 180º
La salida S1 del bloque Servo_Car se corresponde con el pin J2 del coche
La salida S2 del bloque Servo_Car se corresponde con el pin J3 del coche
La salida S3 del bloque Servo_Car se corresponde con el pin J4 del coche
Bloque al presionar el botón A / B
Microbit incluye en a propia placa dos pulsadores serigrafiados como A y B. Utilizamos este bloque para indicar a la placa que cuando alguien presione un pulsador concreto qué acciones debe realizar.
PROGRAMACIÓN
1. El pulsador A hace girar el motor en un sentido y el B en sentido contrario
El coche microbit contiene un sensor ultrasonido cuya finalidad es la detección de obstáculos frente al coche.
Para utilizar el sensor ultrasonido, se recomienda alimentar el coche con una batería externa.
A continuación programaremos microbit para realizar lecturas del sensor ultrasonido.
BLOQUES
Sección Mbit Sensor
En esta sección encontraremos módulos específicos para la lectura de los sensores del coche
Para leer la distancia calculada por el sensor ultrasonido hasta el obstáculo más cercano, utilizaremos el módulo Ultrasonic, indicando en Trig el pin 14 y en Echo el pin 15
PROGRAMACIÓN
1. Micro:bit muestra una cara contenta si detecta un obstáculo cerca
Para crear la estructura lógica del programa utilizamos un bloque condicional que localizaremos en la sección Logic.
El operador de comparación < lo localizarás en la misma sección.
Programaremos el coche microbit para que circule sobre una línea negra de cinta aislante sin salirse sea cual sea el trazo del recorrido.
En su base, el coche microbit dispone de dos sensores capaces de detectar líneas negras sobre un fondo blanco. Para realizar la lectura del sensor de línea y programar el robot en base a los datos del sensor, utilizaremos los siguientes bloques
BLOQUES
Sección Mbit_Robot
Pulsando en esta sección accedemos a los bloques para programar el coche.
Line_Sensor direct
Este bloque lo utilizamos para comprobar si un sensor está encima de una línea negra o blanca.
Tendremos que indicar cual de los dos sensores estamos leyendo (left o right) y si evaluamos la línea blanca o negra (white o black)
Sección Lógica
Los robots tienen la capacidad de tomar decisiones en función del entorno que les rodea. Para poder crear esa capacidad de decisión disponemos de bloques en la sección de lógica que nos ayudarán a programar la inteligencia del robot
Si ... entonces ...
En el hexágono "verdadero" introducimos una condición. Si la condición se cumple, se realizarán los bloques que introduzcamos a continuación. Si posteriormente queremos añadir un grupo de instrucciones "si no", pulsamos en +
Si ... entonces ... si no...
En el hexágono "verdadero" introducimos una condición. Si la condición se cumple, se realizarán los bloques que introduzcamos a continuación. Si no se cumple se realizarán los bloques que introduzcamos a continuación del si no
Unión de condiciones
Podemos utilizar operadores lógicos para unir varias condiciones
Y
La evaluación de la unión de las condiciones es verdadera si ambas condiciones lo son
O
Para que la evaluación de la unión de las dos condiciones se verdadera, basta con que una de las dos condiciones que se unen se cumpla
PROGRAMACIÓN
1. Encender los LEDS en color blanco si algún sensor está sobre una línea blanca
Evalúa el estado de los dos sensores de línea
Si el sensor izquierdo está sobre la línea blanca, o el sensor derecho está sobre la línea blanca, entonces mostrará una luz blanca en los leds.
Si no (es decir, si ningún sensor está sobre una línea blanca) entonces mostrará una luz roja en los leds
Mientras que el coche se encuentre sobre una línea negra, avanzará en línea recta. Cuando el coche detecta que uno de los sensores está sobre una zona blanca, rectifica su dirección girando ligeramente hacia el lado contrario al sensor.
El coche microbit incluye en su parte delantera 3 LEDs RGB de tipo SMD que pueden iluminarse con luces de diferentes colores. A continuación veremos los bloques necesarios para su programación
BLOQUES
Sección Neopixel
En esta sección encontraremos los bloques necesarios para la programación de los 3 LEDs RGB incorporados en el frontal del coche
Estructura de LEDs
Dentro de la sección Mbit_robot encontraremos el bloque RGB Car Program que utilizaremos para gestionar los 3 LEDs RGB
Bloque set pixel color
Pertenece a la sección Neopixel y su función es configurar el color de la luz de cada uno de los 3 RGBs de la placa.
Para poder utilizarla con los LEDs RGB del coche, en lugar de strip, utilizaremos el bloque RGB Car Program que se encuentra en la sección Mbit_Robot.
Bloque Show
Una vez configurado el color del LED RGB SMD, utilizaremos este bloque para encender el LED. No olvides incluir la estructura RGB Car Program en lugar de strip
Bloque clear
Apaga los LEDS RGB SMD de la estructura de LEDs RGB Car Program
PROGRAMACIÓN
1. Enciende cada LED de un color diferente
Utilizaremos el bloque set pixel color
Para encender un led, indicaremos el número del LED (0, 1, 2) y el color de la luz (seleccionar desde el desplegable).
Una vez configurado el color, con el bloque Show encenderemos el LED del color seleccionado.
El coche microbit incluye dos LEDS RGB a cada lado de la placa que podemos programar.
Programaremos los leds para que muestren luces de diferentes colores
BLOQUES
Sección Mbit_Robot
En esta sección encontraremos los bloques necesarios para programar el coche microbit
Bloque RGB Car Big2 value off
Cambia el color de la luz de los dos RGB laterales. Pulsando en la flecha que hay junto a off, podremos seleccionar el color que queramos de entre los que se ofrecen. Si seleccionamos off, los leds se apagarán.
Bloque RGB Car Big Value
Enciende los LEDS RGB con un color personalizado. Crea luces de color mezclando los colores rojo, verde y azul en la cantidad que quieras (de 0 a 255) para obtener cualquier tono de la gama de color.
En la esquina superior derecha, pulsa sobre el icono del engrane y selecciona extensiones
En el cuadro de búsqueda, introduce la siguiente URL https://github.com/bjdagurobot/bjdg_microbitCar_en
Aparecerá un cuadro con la librería del kit DG-Cat. Pulsa sobre él y se agregan nuevos bloques al proyecto que facilitarán la programación del kit.
Conecta la placa BBC micro:bit en el coche y en el PC con el cable USB – mini USB
Entre los bloques de programación, concontrarás algunos agrupados en secciones que comienzan con Mbit. Esos serán los bloques que utilizaremos para programar cada uno de los componentes que contiene el coche microbit
Vamos a programar nuestro coche para que circule en linea recta durante 2 segundos.
Pinchamos el icono del coche verde.
Arrastramos el bloque necesario para que circule en línea recta.
Pinchamos en »Básico» y arrastramos el bloque de pausa.
Realizamos la siguiente programación:
Pinchamos en »Descargar», abajo a la izquierda.
Abrimos nuestra carpeta de »Descargas», localizamos nuestro archivo y pinchando en el botón derecho del ratón, cargamos en micro:bit.
Esperamos a que el programa se cargue.
Conectamos una batería de litio en nuestro coche micro:bit y accionamos el conmutador del coche (hacia la derecha).
Aun siendo una placa de reducido tamaño, micro:bit tiene un gran potencial gracias a los 25 pines que se integran en su base y al desarrollo de clacas y sensores compatibles.
Este es el caso del coche microbit. Consiste en una placa con sensores y motores totalmente compatible con microbit.
Conectando la placa a la base del coche ampliarás las funcionalidades de tu placa, sin complicados cableados, convirtiéndola en un coche autónomo que poder programar.