martes, 28 de mayo de 2019

Profundiza 8: Drones

Al terminar la sesión 7 a unos alumnos se les ocurrió algo: Si ya sabemos construir y programar coches controlados por bluethoot, incluso mejorarlos con funciones concretas para hacer carreras… ¿por qué no aprendemos cómo funciona un dron para intentar construir uno y programarlo?

Hemos dejado un espacio de dos semanas para que los alumnos/as investiguen los tipos de dron que existen y qué módulos necesitamos para incluirlos en el chasis. Además, se han adquirido los elementos esenciales que durante este tiempo han determinado que necesitaremos para maquetar uno:
- Micro motores y hélices.
- Un acelerómetro que nos proporcionará el ángulo de inclinación del sistema.
- Un dron didáctico para observar su funcionamiento mediante la investigación.


Hemos visto los tipos de drones que existen, y con dos de ellos en las mesas del taller, hemos hecho un esquema de su funcionamiento y hemos determinado los módulos necesarios para que se mantengan en el aire en una posición estable.


La primera tarea que hemos hecho ha consistido en programar el acelerómetro que poseen estas máquinas: para ello hemos tomado el ángulo de inclinación X e Y que el módulo 6050 nos ofrecía para visualizarlo por el puerto serie. Con la condición "IF", bastante trabajada en sesiones anteriores, hemos programado el giro de un motor de dron en función del ángulo de inclinación medido:



Hemos afinado la respuesta del motor según las observaciones hechas de los drones que hemos probado en el patio del Centro... aún queda mucho para poder realizar uno funcionalmente completo pero, los alumnos/as se han quedado con la tarea de pensar en diseños de carcasas de drones y la forma de programarlos para el curso que viene.


¡Gracias a tod@s por haber participado en Profundiza 2019!


Foto tomada desde nuestro dron en el patio del Centro

martes, 7 de mayo de 2019

Profundiza 7: Carreras de Bluethoot

La sesión anterior nos gustó tanto que el mismo alumnado ha pedido en la sesión del 7 de Mayo mejorar la programación Bluethoot de sus coches.

El objetivo ha sido echar una carrera entre los equipos, para lo que hemos hecho un circuito en el patio con obstáculos.



Los ajustes han consistido concretamente en añadir nuevas funciones a los botones de la aplicación del móvil, y ajustar la velocidad de cada eje del coche para afrontar mejor las rectas y curvas del circuito. Principalmente se ha mejorado la escritura analógica en los motores para el ajuste del ancho de pulso con el que giran las ruedas.

A pesar de todo... sólo ha habido un ganador: ¡incluso intercambiando los coches!

lunes, 6 de mayo de 2019

PROFUNDIZA 6: Módulos bluethoot

En la sesión del día 6 de Mayo hemos permitido los móviles en el insti: vamos a emparejarlos con el módulo Bluethoot que lo conectará a Arduino.

Hemos introducido el módulo explicando cómo se emparejan los dispositivos y cómo se comunican con la placa a través de la comunicación serial.

Tras alimentar el módulo, hemos realizado el emparejamiento con el móvil. A continuación hemos instalado una aplicación en la que se nos ofrecen distintas pantallas con botones y otras formas de interacción (a través de los sensores de inclinación del mismo) y se han sincronizado el carácter que envían por el puerto serie con el programa en C que se ha redactado en el IDE de Arduino.

Así, hemos asignado las letras "a" para avanzar, "i" izquierda...


Una vez en marcha, a varios grupos se les ha ocurrido la idea de incluir el modo "turbo" asignando un botón en el que la velocidad de lo motores sea la máxima.

¡Hemos echado carreras por los pasillos del instituto!




lunes, 22 de abril de 2019

PROFUNDIZA 5: Sensores de ultrasonidos

En la sesión del día 22 de Abril hemos dado un paso más: ahora nuestro robot esquiva objetos.

Para ello hemo empleado el sensor HC-SR04 y mediante unas cuantas líneas en C hemos aprendido a guardar en una variable la distancia en centímetros desde el dispositivo a un obstáculo:

  digitalWrite(PinTrig, LOW);
  delayMicroseconds(2);
  digitalWrite(PinTrig, HIGH);
  delayMicroseconds(10);
  digitalWrite(PinTrig, LOW);
  unsigned long tiempo = pulseIn(PinEcho, HIGH);
  distancia = tiempo * 0.000001 * VelSon / 2.0;
 

Mientras se montaban los sensores y se ajustaban las condiciones en las que el robot retrocedía o avanzaba (hemos incluido rangos de aproximación, y un grupo ha decidido incluso memorizar el número de aproximaciones a objetos), algunos equipos han retocado su diseño 3D de la carcasa del sensor. ¡Hemos combinado dos colores en la impresión!


martes, 9 de abril de 2019

PROFUNDIZA 4: IMPRESIÓN 3D

En la sesión del 9 de Abril hemos diseñado algún que otro complemento para nuestro robot. En este caso, hemos descargado un modelo de carcasa para el sensor de ultrasonidos desde Thingiverse, concretamente este.

Pero nosotros no somos nada conformistas: hemos decidido personalizar la pieza. Tras descargarla en formato STL, la hemos abierto en Tinkercad y hemos añadido una personalización a la misma. Así que nos ha quedado una pieza un tanto draconiana:


Tras ello, nos hemos dispuesto a calibrar y cambiar el filamento de las impresoras 3d que tenemos en el taller. Hemos decidido imprimir la pieza en rojo y negro, usando las dos máquinas en paralelo: una para el soporte (en rojo, y activando con el software CURA los soportes), y otra para la carcasa modificada (hemos buscado en CURA la orientación perfecta para no tener que usar soportes):



Y el resultado final... ¡ha sido impresionante! Aunque hay que retocar cierto aspecto del diseño de la pieza para que el soporte rojo no choque con los "cuernos" añadidos, realizaremos varias copias para personalizar el resto de coches. 




jueves, 28 de marzo de 2019

PROFUNDIZA 3: DETECTANDO Y MEMORIZANDO CRUCES

En la tercera sesión (25 de Marzo) hemos dado una vuelta de tuerca a nuestro proyecto: los cuatro equipos han modificado el programa en C de forma que ahora los robots ¡deben salir de un laberinto!

Para ello hemos introducido el concepto de variable y hemos añadido dos leds que indican en qué cruce se encuentran los chasis, de forma que la actuación de cada uno de ellos será distinta en función del punto del laberinto donde se encuentren.

Ha sido difícil, pero al final hemos conseguido el reto...

PROFUNDIZA 2: SIGUIENDO UNA LÍNEA

En la sesión del 18 de Marzo hemos instalado los sensores de infrarrojos y los cuatro grupos han pasado a la programación en C directamente.

¡Nos hemos sorprendido de la facilidad de uso de este lenguaje para tod@s!

Con las condiciones  "if" y las instrucciones "digitalRead" hemos conseguido seguir una línea en el pasillo del insti. Eso sí... la curva final, tan pronunciada, ha sido todo un reto...


PROFUNDIZA 1: COMENZANDO EL ROBOT

En esta primera sesión de Profundiza del IES Alhendín (5 de Marzo), hemos comenzado instalando los drivers de potencia a los chasis de los coches que vamos a diseñar durante este proyecto.

Hemos formado 4 equipos que instalarán los drivers que alimentarán los motores y que personalizarán su construcción en función de la base de la que dispongan y los tipos de motores (¡algunos tienen más reducción que otros!)

Finalmente, se programará una secuencia básica a través de la aplciación Mblock, aunque alguno de los grupos se ha aventurado a usar ya el lenguaje C y el IDE  de Arduino para evitar los problemas de retardo que se generan el aplicaciones Scratch.



sábado, 23 de marzo de 2019

Proyectos prácticos con Arduino: Sesiones 1 y 2

Tras montar las bases de los robots e integrar los drivers de potencia, hemos programado usando Mblock una secuencia básica de movimiento con escritura analógica para control de velocidad. La calibración ha sido necesaria para que no se desviaran demasiado.


En la segunda sesión hemos programado en C su interacción con una línea a través de los módulos de infrarrojos (TCRT 5000):