SmartCar. Dentro del curso Microbit+SmartCar

SmartCar

Micro:BIT se queda un poco triste si no se "mueve", pero hay que tener en cuenta que en la robótica el movimiento se paga:

La placa de micro:BIT no incorpora movimiento, por eso cuesta tan poco, pero si quieres este extra tienes que pagar (casi el doble de lo que cuesta micro:BIT). Aún así el conjunto sale más barato que mBot.

Este kit viene con sensor de ultrasonidos, sensor de sigue-lineas y la placa motorbit que se inserta la micro:BIT además de tener altavóz y salidas a puertos por si se quiere añadir servos por ejemplo. Para más información de esta placa consultar esta web.

Montaje

El paquete viene con unas piezas listas para montar que no requieren especial destreza DYC, lo único "difícil" es que hay que soldar los cables a los motores (4 pequeñas soldaduras).

El sensor sigue-lineas y el sensor ultrasonidos se puede poner en cualquier pin, pero en este curso lo fijaremos en:

Con un poco de paciencia se hace muy bien

Nosotros no somos comerciales, luego ésto mejor que no :

Conexión con Makecode

Para tener las instrucciones específicas, hay que entrar en Makecode https://makecode.microbit.org/#editor entrar en AVANZADO en EXTENSIONES y buscar la extensión MOTORBIT instalar, y ya está tenemos instalado las funciones específicas de este coche:

Reto 1 Musica

SmartCar tiene incorporado un altavoz ya en el puerto P0 por lo tanto no es necesario hacer cocodrilos o papeles de aluminio como hemos visto anteriormente.

Vamos a hacer un programa que al pulsar el botón A suene música etc...

Descripción del programa

Es simplemente que si presiono el botón A pues que suene y salgan iconos por la pantalla:

Puedes probarlo en este simulador

Y aquí lo tienes para descargar:

Sensor distancia

Al poner la extensión micromotor se añade la instrucción de sonar que está en otro apartado:

Este sensor, en nuestro kit lo conectaremos en PIN 10 aunque puede estar conectado en cualquier otro. Además recomendamos crear una variable (por ejemplo "distancia") y poner las unidades de medida en cm que son más intuitivas. Esta instrucción se pone al principio del bucle y sólo hay que utilizar la variable distancia:

El sensor de distancia funciona igual que los sónares: Uno "ojo" es realmente un altavóz que emite un sonido con frecuencia alta (ultrasonido, por eso no lo oímos) y el otro "ojo" es un micrófono que recibe ese pulso. El circuito electrónico calcula la distancia con la diferencia de tiempo en emisión y la recepción del eco, igual que los rádares, sónares...

via GIPHY

O incluso los murciélagos, delfines...

via GIPHY

Reto 2 Me quedo a 5cm

El siguiente reto es que el microCar se quede a 5cm

ATENCIÓN vamos a poner el sensor de ultasonidos en el PIN 10

Solución

La solución se encuentra en esta página https://www.elecfreaks.com/learn-en/motor_bit_smart_car_case_02/

El proyecto te lo puedes descargar aquí

Reto

Que empiece parado y que se aleje si ponemos la mano, o sea, intenta cogerme

Reto 3 Evitar obstáculos

¿Cómo no? lo pide a gritos ! vamos a hacer un roomba

Descripción del proyecto

Empezamos el programa que al iniciar vaya recto:

Luego hacemos el bucle "para siempre": * El sensor no funciona muy fino, hay veces que da 0 falsos por lo tanto el bucle si ponemos una condición si es mayor de 5 y es menor de 10 para quitarnos estos falsos positivos de obstáculos. * si encuentra obstáculo, que pare un poco, que recule y que gire * cada instrucción anterior con una pequeña pausa, cuanto más grande sea la pausa más reculará, girará etc.. * si no encuentra obstáculo que siga recto

Aquí lo tienes en editor

Reto

Si te fijas sólo gira a la derecha. Modifica el anterior programa para que gira a la derecha o a la izquierda de forma aleatoria.

Sigue-lineas

El sigue-lineas son dos sensores que están colocados debajo del robot

Por unificar criterios, los conectaremos en P3 y P4

Cada sensor tiene dos leds, uno emisor y otro receptor. El receptor recoge la luz reflejada, si hay debajo algo que no refleja la luz (por ejemlo una línea negra) entonces manda OFF en caso contrario ON

OJO VA AL REVÉS es decir * cuando hay linea negra es OFF * cuando no hay linea es ON

por lo tanto queremos:

Esto se llama CONFIGURACIÓN PULL-UP (pincha aquí para saber más) luego lo primero que tenemos que hacer es configurar estos sensores como PULL-UP con estas instrucciones (han traducido UP como subir):

Están un poco escondidas:

Y luego crear unas variables por ejemplo izquierda y derecha dentro del bucle que lean esos sensores. El resto del código sólo utilizaremos estas variables:

Reto 4 Seguir la línea

Otro reto que pide a gritos este sensor:

Consejo: en clase, antes de atacar con este reto, aconsejamos otro más sencillo como que el robot se mueva y si encuentra línea que se pare, este reto lo puedes ver aquí

Descripción del programa

Al empezar configuraremos los sensores en PULL-UP tal y como hemos explicado:

Luego entramos en el bucle donde simplemente dice:

El programa tiene la pega que si aumentamos la velocidad, pierde la línea.

Evidentemente hay muchas versiones y mejoras, por ejemplo aquí pero ésta https://makecode.microbit.org/_U3VP8JhVTXaJ es desde luego la versión más sencilla.

Reto 5 Mando a distancia

Esta vez vamos a utilizar dos micro:BITs

Descripción del programa

Microbit que hace de mando

Este microBIT hay que alimentarlo con pilas o utilizando una batería típica de móvil.

El mando se inicia en un grupo (en este caso el 222) y simplemente realiza lo siguiente: * Si se pulsa A manda un 1 y lo visualizo * Si se pulsa B manda un 2 y lo visualizo * Si se pulsa A+B manda un 3 y lo visualizo

El programa te lo puedes descargar aquí:

Microbit que está en SmartCar

Al iniciar el programa asigna este microbit al mismo grupo de radio que el mando y además asigna una nueva variable con valor 0

Al recibir un número lo asigna a esa variable y además lo muestra:

Y establecemos un bucle por siempre que :

El proyecto te lo puedes descargar aquí :