1 00:00:07,540 --> 00:00:23,019 en una galaxia dominada por un imperio tirano una joven heroína rebelde queda atrapada en 2 00:00:23,019 --> 00:00:28,660 un compartimento técnico de una nave imperial sin acceso a comunicaciones tradicionales con 3 00:00:28,660 --> 00:00:34,259 solo su arma láser y un pequeño robot mcqueen con un micro bit debe ingeniárselas para enviar 4 00:00:34,259 --> 00:00:40,039 una señal que sus compañeros rebeldes puedan recibir, descifrar y actuar. Su única esperanza 5 00:00:40,039 --> 00:00:45,380 de rescate es enviar un mensaje de auxilio a través de un antiguo canal codificado por 6 00:00:45,380 --> 00:00:51,280 el que solo se pueden enviar unos y ceros. Recordó que con códigos QR se pueden mandar 7 00:00:51,280 --> 00:00:56,399 mensajes, pero era demasiado complicado para el sistema que tiene y hay que pensar en otra 8 00:00:56,399 --> 00:01:01,640 cosa. Entonces recordó cómo funcionaban los códigos de barras, secuencias de unos 9 00:01:01,640 --> 00:01:08,840 y ceros que unidas componen un código o un mensaje pero falta tecnología o no el robot 10 00:01:08,840 --> 00:01:14,400 mcqueen junto con dos sensores de infrarrojos normalmente usados para los sigue líneas se 11 00:01:14,400 --> 00:01:20,659 puede utilizar para más cosas uno de los sensores nos puede servir como marca de reloj para indicar 12 00:01:20,659 --> 00:01:27,319 cuando hay un dato en el otro sensor y el otro es el que lee los unos y los ceros que conforman 13 00:01:27,319 --> 00:01:33,700 la información de esta forma en la parte izquierda tenemos franjas alternas del mismo tamaño y en la 14 00:01:33,700 --> 00:01:41,200 derecha franjas de tamaño similar pero unas negras y otras blancas que se irán almacenando para que 15 00:01:41,200 --> 00:01:47,379 cuando lleguen a los 8 bits se conviertan en un valor decimal que después pasaremos al código 16 00:01:47,379 --> 00:01:53,439 asti y se mostrará en pantalla a la vez que se envía por el canal de comunicaciones y gracias 17 00:01:53,439 --> 00:01:59,500 a eso, consiguen rescatarla. Con exiguos medios, nuestra heroína ha conseguido mandar a sus 18 00:01:59,500 --> 00:02:13,069 compañeros la palabra HELP. El reto consiste en programar a McQueen para que lea un código de 19 00:02:13,069 --> 00:02:17,889 barras con un mensaje codificado, usando dos sensores sigue líneas adicionales. Según se 20 00:02:17,889 --> 00:02:23,210 vaya leyendo, irá mostrando las letras en el display del microbit. ¿Cuáles son los conocimientos 21 00:02:23,210 --> 00:02:29,409 previos? Hace falta saber programación por bloques en MakeCode, fundamentos del sistema binario, 22 00:02:29,409 --> 00:02:32,129 Conocimiento de la codificación ASCII 23 00:02:32,129 --> 00:02:35,590 Manejo básico del robot McQueen y sensores sigue líneas 24 00:02:35,590 --> 00:02:37,250 Y además, trabajo en equipo 25 00:02:37,250 --> 00:02:39,129 Los objetivos de la actividad son 26 00:02:39,129 --> 00:02:42,449 Comprender el sistema binario y su aplicación en la tecnología digital 27 00:02:42,449 --> 00:02:46,050 Diseñar y programar algoritmos que interpreten información binaria 28 00:02:46,050 --> 00:02:49,009 Utilizar sensores para detectar señales del entorno 29 00:02:49,009 --> 00:02:53,030 Y fomentar el trabajo en equipo y la resolución de problemas de manera autónoma 30 00:02:53,030 --> 00:02:59,310 Para lograrlo, utilizaremos una placa microbit, el robot McQueen y dos sensores sigue líneas adicionales 31 00:02:59,310 --> 00:03:08,370 Además, usaremos una extensión que convierte nuestro robot en un teclado Bluetooth con el que enviaremos las pulsaciones de teclas a un ordenador, tablet o al móvil. 32 00:03:08,530 --> 00:03:22,090 En los materiales imprimibles de la situación de aprendizaje hay un PDF con la imagen de arriba, en la que vas a encontrar por una parte las barras de lo que denominamos el reloj, que son barras alternas del mismo tamaño, blancas y negras. 33 00:03:22,090 --> 00:03:30,889 En la parte inferior tenemos la codificación de los datos. El dato va en el mismo tamaño que el de arriba, pero si es 1 o 0 va cambiando. 34 00:03:31,210 --> 00:03:33,050 Posición de los sensores de infrarrojos. 35 00:04:02,009 --> 00:04:07,189 Para poder programar las funcionalidades de McQueen necesitamos instalar la extensión McQueen. 36 00:04:07,189 --> 00:04:21,730 Para ello vamos a entrar en MakeCode, le damos a extensiones, buscamos por la extensión MacWin, elegimos la primera que nos aparece y nos instala la extensión con una serie de instrucciones nuevas. 37 00:04:26,339 --> 00:04:33,620 Y también vamos a necesitar la extensión que nos permite enviar pulsaciones de teclas por Bluetooth desde el microbit. 38 00:04:33,620 --> 00:04:58,889 Y lo vamos a hacer con la extensión BLE HID. Vamos a buscar esa extensión, nos pregunta que si queremos quitar otras extensiones, le decimos que sí, se instala y nos añade una serie de instrucciones que vamos a usar más tarde, como es la del envío de teclas. 39 00:04:59,509 --> 00:05:04,889 También tenemos el movimiento del ratón, Gamepad y otros servicios de multimedia. 40 00:05:05,350 --> 00:05:11,490 Existen algunas incompatibilidades con el Bluetooth, por lo que si no te funciona la primera, debes consultar la web de la extensión. 41 00:05:11,850 --> 00:05:34,639 En el programa tenemos 5 bloques, al iniciar, al presionar el botón A y las funciones Cuéntame y Escribe Info, además de una nota para ayudarte a entender el programa. 42 00:05:34,639 --> 00:05:42,290 Al encender el robot, definimos las variables y constantes que vamos a utilizar a lo largo de todo el programa 43 00:05:42,290 --> 00:05:49,889 Las constantes, llevan el prefijo en guión bajo, nos permiten interpretar correctamente las lecturas de los sensores 44 00:05:49,889 --> 00:05:58,089 Mientras que las variables, velocidad, guión bajo, lo que sea, contienen la velocidad de los motores izquierdo y derecho 45 00:05:58,089 --> 00:06:03,250 Como son motores de corriente continua convencionales, cuyo rendimiento puede ser diferente 46 00:06:03,250 --> 00:06:08,930 ajustamos individualmente estas velocidades para compensar posibles desequilibrios en su 47 00:06:08,930 --> 00:06:15,209 comportamiento. Esta calibración es esencial para lograr desplazamientos rectos. Además conviene 48 00:06:15,209 --> 00:06:21,009 tener en cuenta que el nivel de carga de las pilas influye directamente en la capacidad de giro de 49 00:06:21,009 --> 00:06:27,329 los motores afectando a su potencia y por tanto el rendimiento general del robot. En este caso 50 00:06:27,329 --> 00:06:37,050 hemos usado pilas AAA de 1300 mAh. Este bloque se ejecuta cuando pulsamos el botón A. La lectura 51 00:06:37,050 --> 00:06:44,889 del robot no va a comenzar hasta que se pulse el botón A. Aquí le indicamos al robot que solo se 52 00:06:44,889 --> 00:06:51,209 ponga en marcha cuando pulsemos el botón A. Primero ponemos el strip en rojo y seguidamente llamamos 53 00:06:51,209 --> 00:07:00,470 a la lectura de los datos. La función uno más va guardando los bits y cuando llegan a ocho los 54 00:07:00,470 --> 00:07:07,230 convierte en axi. Esta función lo que hace es que va creando una cadena con los bits que va leyendo 55 00:07:07,230 --> 00:07:15,550 hasta que llegan a ser ocho y en ese momento hace una llamada de binario a decimal. Esta es la 56 00:07:15,550 --> 00:07:20,189 función de binario a decimal. A ella le llega un parámetro con la cadena de bits que ha leído el 57 00:07:20,189 --> 00:07:25,850 robot y convierte ese dato de binario a su correspondiente en decimal y muestra en la 58 00:07:25,850 --> 00:07:31,490 pantalla del micro bit primero el número binario y después el carácter ASCII correspondiente. 59 00:07:32,449 --> 00:07:38,430 Función lectura. Esta es la función principal donde se produce el movimiento del robot y la 60 00:07:38,430 --> 00:07:45,230 lectura de los sensores interpretando las marcas según corresponde. Primero muestra unos puntos en 61 00:07:45,230 --> 00:07:51,509 pantalla y después pone los LEDs RGB en blanco para empezar su movimiento que continuará hasta 62 00:07:51,509 --> 00:07:56,129 que pulsemos el botón B. En el bucle se ponen en marcha los motores a la velocidad igual o 63 00:07:56,129 --> 00:08:00,990 diferente que hemos asignado en las variables constantes del inicio. En el proceso vamos a 64 00:08:00,990 --> 00:08:08,089 usar dos sensores cuya lectura se guardará en las variables reloj y dato. Además para saber si es el 65 00:08:08,089 --> 00:08:14,389 momento de leer el dato cuando cambia el reloj de negro a blanco guardamos previamente el reloj en 66 00:08:14,389 --> 00:08:21,250 la variable reloj anterior. Solo cuando el reloj anterior está en negro y el reloj está en blanco 67 00:08:21,250 --> 00:08:27,189 vamos a leer el dato en el otro sensor. Primero encendemos el led rojo izquierdo y paramos los 68 00:08:27,189 --> 00:08:36,210 motores. Si dato está en negro encendemos el led rojo derecho y pasamos a la función 1 más 1 1. Si 69 00:08:36,210 --> 00:08:43,450 está en blanco apagamos el led izquierdo y enviamos un 0 a la función. Si el reloj anterior está en 70 00:08:43,450 --> 00:08:49,929 blanco y el reloj está en negro significa que hemos entrado en una banda de control y no hay 71 00:08:49,929 --> 00:08:56,169 que leer datos. Existen varias pausas, la primera de un milisegundo es para avanzar un poco después 72 00:08:56,169 --> 00:09:02,830 de comprobar que estamos sobre una banda con información y de esta forma evitar un poco la 73 00:09:02,830 --> 00:09:09,049 deriva de los motores. La segunda es más bien didáctica y de autorregulación o ajuste. 74 00:09:36,139 --> 00:09:37,139 Chau.