Saltar la navegación

RETOS MAQUEEN

00

Armando a Maqueen

Partes incluidas en el kit, imagen por DFRobot

Piezas de tu kit micro:Maqueen :

  • 2 rines de plástico blanco
  • 2 llantas de silicón
  • Portapilas para 3 pilas tamaño AAA (no incluidas)
  • Placa principal con dos motores y conector para micro:bit
  • Sensor ultrasónico
  • Cinta doble cara

¡Vamos a armarlo!

1.- Inserta las llantas de silicon en los rines de plástico cuidando que las ranuras coincidan en cada uno de los espacios, si no entran, prueba volteando y ajustando la llanta hasta que coincidan las ranuras, tanto de la goma de silicon como del rin con el eje del motor.

Imagen por DFRobot

2.- ¡Hora de pegar!
Retira el papel protector de un lado de la cinta doble cara y pégala en la parte posterior del portapilas, esto ayudará a que no se mantenga suelto mientras aprendes con tu Maqueen.

Por DFRobot

3.- Retira el papel protector de la cinta doble cara del otro lado y adhiere la base al soporte de los motores.

Por DFRobot

4.- Conecta el portapilas a la placa principal del Maqueen. Nota: es importante que no lo conectes directamente al micro:bit ya que estarías alimentando con mayo voltaje la placa y podrías dañarla.

Por DFRobot

5.- Coloca el portapilas en posición vertical

Imagen por 330ohms

6.- Conecta tu micro:bit (no incluido en el kit Maqueen)

Imagen por 330ohms

7.- Coloca el sensor ultrasónico en esta orientación:

Imagen por 330ohms

8.- ¡Listo! ?

Imagen por 330ohms

Conoce tu nuevo micro: Maqueen

Aquí vienen todas las cosas que hacen al Maqueen algo genial. ¡Conócelo!

Por DFRobot
  1. Sensor de línea: 2 sensores digitales blanco y negro (Niveles alto y bajo)
  2. Buzzer: Tonos y música para tu proyecto
  3. Infrarrojo: Receptor infrarrojo para controlar tu Maqueen (Decodificador NEC)
  4. LEDs indicadores frontales: 2 LEDs color rojo difuso
  5. LEDs RGB multicolor de ambiente: 4 LEDs capaces de hacer hasta 16 millones de colores
  6. Sensor de distancia ultrasónico: 1SR04, SR04P (5V)
  7. Conector para comunicación I2C: sólo funciona con 3.3V
  8. Puertos para servomotor: 2 líneas
  9. Expansor para pines digitales multipropósito
  10. Conector para micro:bit

Especificaciones técnicas

¡Vamos a ponernos más específicos!
Parámetros oficiales de DFRobot

  • Voltaje de alimentación: 3.5V a 5V DC (Tres pilas AAA o una batería de lítio 3V a 3.7V)
  • Interfaces Gravity (P1, P2)
  • 2 Micro-motores de engranajes de metal con relación 1:150, 133rpm, controlados por PWM
  • Brackets para los motores con insertos M3
  • Dimensiones: 81mm x 85mm x 44mm/3.19in x 3.35in x 1.73in
  • Masa: 75.55gr

Movimiento con micro: Maqueen

La manera en la que le diremos a nuestro robot cómo tiene que moverse será a través de bloques de programación en la plataforma de Microsoft MakeCode, lo primero que tenemos que hacer es abrir el siguiente enlace: https://makecode.microbit.org/ y presionar en «New Project» (nuevo proyecto).

Utiliza un cable Micro USB para conectar tu micro:bit a tu computadora

Antes de empezar, vamos a vincular nuestro micro:bit con nuestra computadora, conectamos nuestro micro:bit y abrimos el menú del engrane en la parte superior derecha de nuestra pantalla y seleccionaremos «Pair device».

Después, hacemos click en el botón verde de «Pair device» en la ventana que nos salió:

Ya casi terminamos, solo queda seleccionar el micro:bit conectado a tu computadora y hacer click en «Conectar» en el menú que te muestra tu navegador, nosotros usamos Google Chrome:

¿Cómo programar?

Vamos a aprender los componentes básicos del entorno de programación gráfica:

(A) Simulador de micro:bit: te da una vista en tiempo real de cómo se ejecutaría tu programa en un micro:bit, puedes interactuar con los botones virtuales y puedes ver que se está mostrando en la matriz de LEDs virtual

(B) Botón para descargar el programa; tiene dos funcionalidades, ya que tengas listo tu código puede generar un archivo para que lo copies a la memoria del micro:bit o puede descargar el programa directamente al micro:bit y ejecutarlo sin que tengas que hacer nada más ? (si has seguido las instrucciones hasta aquí, tu computadora ya está lista para esta opción)

(C) Aquí está la casilla de texto en donde le pones nombre a tu programa

(D) Encuentra en este menú todos los bloques de funciones compatibles con tu micro:bit y con tu Maqueen

(E) Bloque principal «on start» serán los bloques de código que se ejecuten primero en cuanto tu micro:bit sea conectado, solo se ejecutarán una vez

(F) Bloque principal «forever» serán los bloques de código que se ejecuten continuamente en tu micro:bit hasta que sea desconectado o presiones el botón «RESET» en la parte posterior, este botón no borrará tu código de la memoria del micro:bit pero hará que la ejecución de tu código comience de nuevo y desde al principio (usualmente en el bloque «on start»)

Botón «RESET» en la parte posterior en tu micro:bit

Importar archivos importantes para tu Maqueen

Ya conocemos como conectar tu micro:bit al entorno para programar y los componentes básicos de programación con bloques, ahora configuraremos el entorno para que el micro:bit pueda hablar con la placa principal del Maqueen, el primer paso es hacer click en el menú del engrane en la parte superior derecha y luego hacer click en el botón «Extensions»:

En la ventana copiaremos y pegaremos la siguiente dirección en la caja de texto: https://github.com/DFRobot/pxt-maqueen posteriormente, haremos click en buscar y seleccionaremos la ventana que dice «maqueen»:

¡Eso es todo!
La página te regresará al editor de bloques y añadirá nuevos bloques interesantes especialmente diseñados para tu Maqueen:

Algunos de los bloques para tu Maqueen

¿Unos pasos de baile? ?
Vamos a crear nuestro primer programa, moveremos los motores del Maqueen para que avance dos segundos hacia adelante, posteriormente gire dos segundos a la derecha, dos segundos a la izquierda y dos segundos hacia atrás, sencillo, ¿no?

Dentro de los bloques especiales para Maqueen busca el bloque que diga «Motor»:

El bloque «Motor» tiene 3 características que podemos configurar:

  1. Motor que queremos mover
    • Las opciones son M1 y M2, siendo M1 el motor izquierdo y M2 el motor derecho
  2. Dirección en la que girará el motor (dir)
    • CW (Clockwise) – El motor girará en sentido en el que giran las manecillas de un reloj.
    • CCW (Counterclockwise) – El motor girará en sentido contrario en el que giran las manecillas de un reloj.
    • (imagen por Difference Between)
  3. Velocidad del motor
    • Nuestro motor tiene 255 niveles diferentes de velocidad, siendo 0 el mas lento o motor detenido y 255 el más rápido.

Vamos a hacer que nuestro micro: Maqueen gire hacia adelante:

Usaremos el bloque «forever» para hacer que nuestro código se ejecute en nuestro micro:bit de manera continua, primero arrastraremos desde el menú «Maqueen» dos bloques «Motor», necesitamos que ambos motores giren en la misma dirección para que nuestro Maqueen avance hacia adelante, definimos el motor izquierdo como M1 y el derecho como M2, con la misma dirección «CW» y a máxima velocidad «255».

El bloque «pause»
Nuestro Maqueen tiene un poderoso procesador y puede ejecutar tareas a una velocidad muy rápida, muchas veces necesitamos apreciar las acciones que realizan nuestros programas o simplemente hacer que duren un tiempo específico, este bloque nos permite decirle al micro:bit que haga una pausa antes de que ejecute el siguiente bloque.

Para ser más específicos, podemos decirle a nuestro micro:bit el tiempo exacto en milisegundos (ms), vamos a aprender que 1000 milisegundos equivalen a 1 segundo, 2000 milisegundos a 2 segundos, 3000 milisegundos a 3 segundos y así sucesivamente. ?

Habíamos acordado que haríamos que nuestro Maqueen avanzara hacia adelante cada 2 segundos, entonces definiremos un bloque «pause» con el valor de 2000 ms para que mueva ambos motores en la misma dirección durante ese tiempo antes de girar a la derecha.

¡Ahora para la derecha!

Dentro del bloque «forever» nuevamente vamos a arrastrar dos bloques «Motor», esta vez no importa la dirección del motor derecho, ya que para girar necesitamos mover un solo motor, el motor izquierdo a máxima velocidad (255), finalizamos con un bloque «pause» para 2 segundos. Seguro pudiste notar que el motor derecho no tiene velocidad (0) por lo que permanecerá detenido.

¿Giramos a la izquierda?

Repetiremos los mismos bloques pero esta vez haremos que el motor izquierdo quede detenido y el derecho lo configuraremos a girar a máxima velocidad (255), ¡no te olvides del bloque «pause»! ?

¡Vámos para atrás!

Esta vez necesitamos que ambos motores giren a la misma velocidad pero en dirección contraria, porque esta vez iremos de reversa, nota que cambiamos el parámetro «dir» a «CCW», en dirección contraria a las manecillas del reloj.

¡Ya terminamos!

vamos a hacer que nuestro Maqueen se detenga por completo, empezará desde al principio una vez pasados 2 segundos porque todos nuestros bloques se encuentran dentro del bloque «forever».

¿Qué tal quedó?

Seguidor de línea con micro: Maqueen

Maqueen tiene sensores especializados en su parte inferior que le dicen si la superficie refleja luz o no. Estos sensores utilizan dos componentes básicos: un LED que emite luz infrarroja y un fototransistor.

Como seguramente lo has escuchado, el ojo humano no puede ver la luz infrarroja, pero no todo acaba ahí, puedes verla a través de la cámara de un teléfono (que no tenga filtro infrarrojo iPhone).

Usando nuestro teléfono, al encender el Maqueen, podemos ver los dos LEDs infrarrojos emitiendo luz: (a nuestra cámara esa luz parece ser un tanto violeta)

Los dos LEDs infrarrojos debajo de nuestro Maqueen, tono violeta

Esa luz es usualmente reflejada por las superficies blancas y absorbida por las superficies color negro (o líneas negras), el fototransistor al lado del LED infrarrojo es el encargado de sensar esos cambios entre blanco y negro, de esta manera podemos dirigir a Maqueen para que siga una línea.

Maqueen posee dos sensores con dos fototransistores y dos LEDs infrarrojos para saber hacia que dirección debe girar, la meta principal es mantener la línea en medio de los dos fototransistores y así Maqueen siga la trayectoria.

Te mostramos cómo se ve una pista de un seguidor de línea:

El ancho de pista ideal para nuestro Maqueen es de 15mm aproximadamente

¿Cómo mantenemos a Maqueen dentro de la línea?
Antes de comenzar, te mostraremos los bloques que utilizaremos para sensar la línea:

Los bloques «Read Patrol» nos regresan un valor según la lectura del sensor, un 1 para superficies blancas o reflejantes y un 0 para superficies oscuras o no reflejantes.

Si colocamos nuestro pequeño robot sobre la pista podemos tener 4 casos:

1.- Ambos sensores detectan superficies reflejantes:

Dentro nuestro bloque «forever» colocaremos un nuevo bloque de sentencia; «if» este bloque nos ayudará a definir una condición, algo así como «Si el sensor izquierdo detecta algo (if Read Patrol PatrolLeft = 1) y (and) el sensor derecho detecta algo también (Read Patrol PatrolLeft = 1), entonces (then) moveremos a Maqueen a la derecha poniendo el motor izquierdo a máxima velocidad (255) y el motor derecho lo detendremos poniéndole velocidad (0)» con esto lograremos que nuestro Maqueen gire a la derecha hasta que los sensores cambien de condición.

2.- Sólo el sensor derecho está detectando una superficie reflejante:

En este caso si el sensor derecho detecta que no está dentro de la línea y el izquierdo si lo hace, giraremos a la izquieda para alinear de nuevo al Maqueen y este entre en una nueva condición, el caso 3.

3.- El sensor izquierdo detecta una superficie reflejante:

En este caso volveremos a alinear a Maqueen girando hacia la derecha, hasta entrar en el caso 1 o el caso 2, poniendo el motor izquierdo a toda velocidad y el derecho detenido.

4.- Ambos sensores están detectando la línea:

Este caso se cumplirá únicamente cuando el Maqueen se encienda y lo tengas en tu mano o en el caso de que entren ambos sensores en contacto con la línea, detectando ambos superficies no reflejantes.
Haremos que el Maqueen avance hacia adelante hasta que se cumpla cualquier otro caso.

¿Qué tal quedó?

Para asegurar que nuestro Maqueen siga la línea de manera fluída observa que hemos aislado por tí el caso 2 y el caso 3 en «if» separados, seguido de volver a evaluar el caso 1, cuando los sensores de Maqueen están totalmente alineados con la línea y añadiendo el bloque «else» en el caso de que si la condición se deja de cumplir pueda continuar ejecutándose el código y Maqueen siga buscando la línea.

¡Imprime tu pista de seguidor de línea!
Deberás imprimir 6 hojas tamaño carta en total, no te olvides de pedir ayuda a un adulto para configurar tu impresora, necesitamos que imprima con los márgenes más pequeños como sea posible y que sea impresión a tamaño real.

Descárgala aquí:

¡Encuentra aquí el código de este tutorial listo para correr en tu Maqueen!: https://bit.ly/31SiC9G (haz click en «Editar» para modificarlo y tener una interfaz más amigable).

Luces LED multicolor con micro: Maqueen

Maqueen tiene 4 LEDs RGB muy brillantes que pueden hacer ¡hasta 16 millones de colores diferentes! Los puedes encontrar en la parte de abajo, como pequeños rectángulos blancos.

Dentro de cada LED hay 3 LEDs más pequeños; Rojo, Verde y Azul y dependiendo de la intensidad luminosa de cada uno será el color final que podrás apreciar.

Como puedes observar, la combinación de luz visible RGB (Red, Green, Blue) crea tres colores más; Cyan, Magenta y Amarillo, además de que justo al centro, donde se juntan los tres colores, se forma el blanco.

En el disco de arriba puedes apreciar lo que mencionábamos anteriormente, al variar la intensidad de los 3 colores principales podemos generar muchas más combinaciones de colores, ahí se muestran 12 combinaciones de colores diferentes.

Anuncio
RaspberryPi

Cada LED en nuestro Maqueen tiene 255 niveles de intensidad por cada uno de sus LEDs internos; Rojo, Verde y Azul, de ahí los ¡16 millones de colores! (exactamente 255 x 255 x 255 = 16,581,375 de colores‬)

Los LEDs en nuestro Maqueen son de tecnología Neopixel de Adafruit por lo que son muy fáciles de usar y son realmente brillantes.

¿Cómo se programan?

Cada LED tiene un pequeño chip, este chip se encarga de encender cada uno de los LEDs internos, también les proporciona las condiciones ideales de funcionamiento, nuestro micro:bit hablará con ese chip mediante algunos parámetros que vamos a definir más adelante.

El pequeño chip dentro en cada uno de los LEDs de Maqueen, imagen por Adafruit

Además de que el chip tenga esas ventajas para nuestros LEDs, ofrece algo más, usando un solo cable podemos conectar muchísimos LEDs y además controlar cada uno de manera independiente, en este caso, tenemos 4 en nuestro Maqueen.

Antes de empezar a definir los colores tenemos que inicializar el set de 4 LEDs Neopixel en nuestro Maqueen, como solo necesitamos que esto se haga una vez, vamos a ponerlo en el bloque «on start»:

Del menú de variables, tomamos el bloque «set» y seleccionamos «item».
Selecciona del menú de bloques, el bloque «Neopixel» y ponlo dentro del bloque «set», como tenemos 4 LEDs en nuestro Maqueen, pondremos 4 en la pequeña caja de texto.

Así hemos definido ya todo lo que se necesita para configurar los LEDs, ahora programaremos un barrido de todos los colores que se pueden hacer con estos LED’s, saltaremos de color en color pasando por los 255 niveles de intensidad, para esto, utilizaremos el bloque «repeat – do». Antes de empezar, vamos a definir los niveles de los 3 LEDs principales (RED, GREEN y BLUE) de cada LED Neopixel en el nivel 0 para el Rojo y el Verde y máximo nivel de intensidad para el Azul, dentro de nuestro bloque forever, usa un bloque de variable «set».

Toma un bloque «repeat-do» y colócalo después de los bloques «set», este bloque se encargará de repetir un conjunto de bloques dentro de si mismo las veces que se definan en la caja de texto después de «repeat», como queremos pasar por todos los niveles, pondremos que queremos repetirlo 255 veces.

Ya que definimos previamente el LED Azul con máxima intensidad, vamos a ir disminuyéndola y al mismo tiempo vamos a comenzar con el rojo desde intensidad 0 hasta su nivel máximo 255. Definamos que queremos cambiar con el bloque «change» la variable «RED» en pasos de 1 para aumentar su intensidad en cada repetición, al igual que al mismo tiempo disminuir en 1 la intensidad del LED Azul (-1).

Por último colocamos de los bloques «Neopixel» el bloque «show color», seleccionamos «item» y colocamos los tres colores.

Al último colocamos un bloque «pause» con valor de 1ms, esto lo haremos por estabilidad, ya que el micro:bit es mucho más rápido que los LEDs.

¡Ya terminamos!

Ahora vamos a pasar al verde, tal como los bloques anteriores, vamos a disminuir ahora el rojo y aumentar el verde en pasos de 1.

Finalemente, pasamos de nuevo al azul y disminuimos el verde para así haber pasado por los 16 millones de colores que pueden generar nuestros LEDs Neopixel.

¿Qué tal quedó?

Sensor de distancia con micro: Maqueen

En algunas ocasiones es útil detectar objetos y medir distancias con un sensor. El más común y más utilizado para esta tarea es el sensor ultrasónico HC-SR04, el que viene incluido en tu micro: Maqueen.

El funcionamiento de este sensor se basa en la propagación de las ondas sonoras.

Cuando uno habla produce vibraciones que se dispersan en el medio en donde hablamos, en este caso el aire.

Las ondas sonoras al chocar con un objeto rebotan y se propagan en direcciones distintas dependiendo del objeto y la distancia. Cuando usas el sensor ultrasónico pasa lo mismo que con tu voz, las vibraciones que produce se expanden y rebotan, de modo que, dependiendo de cuánto se tardó en regresar la onda, es la distancia que tiene el sensor al objeto.

¿Sabes cómo funciona la ecolocalización?
Bajo la misma idea que te acabamos de exponer, la naturaleza tiene técnicas similares, los murciélagos la utilizan para encontrar comida y para evitar chocar con algún objeto que sus ojos no hayan podido ver, al igual que algunos cetáceos y bueno, la tecnología implementada en submarinos está basada en el mismo principio.

Checa más información sobre la ecolocalización en Ask a Biologist

El sensor HC-SR04 los hace de la misma manera, por un lado tiene un altavoz especial que envía ráfagas de alta frecuencia que no puede percibir el oido humano, (alrededor de 40kHz), y en el receptor detecta cuando esas ondas regresan, de modo que toma la diferencia de tiempo y la convierte en un pulso que se pueda interpretar, la longitud de dicho pulso será la distancia que hay al objeto.

¿Cómo se programa?
Tu micro: Maqueen ya tiene todos los circuitos necesarios para hacer funcionar el sensor HC-SR04, basta con un solo bloque para obtener la distancia.

Empieza por poner un bloque «forever» desde el menú de bloques básicos:

Después coloca un bloque «show number», este bloque mostrará un número en la matríz de LEDs en tu micro:bit, si el número es más grande que la matriz o tiene números decimales, se mostrará en una marquesina que se mueve de derecha a izquierda, puedes encontrar el bloque en bloques básicos:

Por último ve al menú especial de bloques para Maqueen y selecciona el que dice «sensor unit [cm]»:

¡Ya quedó!
Arrastra ese bloque dentro del bloque «show number» y listo, con esto decimos al micro:bit que muestre la lectura del sensor en la matriz.