Coches robóticos con Arduino

Este año, mi centro ha organizado una competición internacional de robots. (Si quieres saber más, sigue el enlace).

El caso es que hemos preparado mucho material didáctico para los alumnos. Aunque este blog parezca abandonado, el Wiki lo sigo actualizando y ampliando. Todo el material que yo he preparado está en él.

Nuestro robot es un poco diferente al más común que podemos encontrar basado en Arduino. Para empezar, utilita el Arduino Motor Shield Rev.3 de la marca Arduino y el sensor Pololu QTR-8RC para el sigue líneas. Además de un chasis fabricado casi a medida. Pero por lo demás, los apuntes de cómo programarlo son igualmente útiles.

Aquí os dejo mis apuntes:

En el sigue líneas, tenemos algo realmente especial que es la telemetría y el ajuste del PID por Bluetooth.


Usando LXD para prácticas

Este año estoy usando LXD para que los alumnos hagan las prácticas de Sistemas Operativos y de Servicios en Red. La manera en que lo tengo organizado es la siguiente:

  • En cada aula hay un servidor que hace de proxy y da DHCP a los PC del aula. Este no es demasiado potente, ya que sólo es la puerta de enlace al exterior.
  • Tengo un servidor más potente (i5 i 8GB) que hace de servidor de LXD. Este tiene 15 contenedores (15 alumnos en segundo) y cada uno de ellos 3 contenedores en «Nesting».
  • Cada uno de los 15 contenedores tiene asignada por DHCP, gracias al servidor de proxy, una IP que acaba en el número de asiento del alumno. Por ejemplo, el alumno 12 tiene la IP que acaba en 212.
  • Los alumnos tienen un usuario y contraseña para entrar a su contenedor por SSH.
  • Los alumnos son administradores de ese contenedor y pueden modificar los ‘subcontenedores’ o instalar programas.
  • Una vez dentro de los contenedores que ellos administran, pueden crear servidores y clientes o lo que necesiten.
  • De esta manera yo siempre tengo acceso a todo por SSH y porque administro el servidor que los contiene. Entre los turnos de mañana y tarde hemos llegado a tener más de 90 contenedores en marcha. El disco duro es el cuello de botella en mi caso, ya que sólo van lentos en el arranque.

Ventajas:

  • Ellos no tienen que hacerse máquinas virtuales y llenar el disco duro de su ordenador.
  • Se puede controlar todo el trabajo desde una terminal.
  • Puedo hacer exámenes y corregirlos sin que me tengan que enviar la máquina virtual o los ficheros de configuración. Puedo probar directamente que funciona.

Inconvenientes:

  • No pueden llevarse fácilmente en trabajo a casa. Aunque pueden acceder de forma remota siempre que les abras el puerto.
  • No se pueden hacer contenedor de Windows.

Si queréis saber más, en este enlace tengo apuntes de cómo se ha configurado todo.

El módulo «Sistemas Informáticos»

El año pasado me tocó impartir el módulo «Sistemas Informáticos» del ciclo superior de DAM (Desarrollo de Aplicaciones Multiplataforma). Se trata de un módulo de 5 horas en el que se debe enseñar hardware (desde la teoría de los computadores hasta reparar un PC), sistemas operativos, seguridad, redes y Shell script.

Como se puede deducir, es una barbaridad para solo 5 horas a la semana durante un curso. Además, es un ciclo superior en el que se espera que adquieran un buen nivel. Yo suelo decir a mis alumnos que van a dar los 2 cursos del ciclo de grado medio comprimidos en un solo módulo.

El año pasado me fue bien, en gran parte por el buen nivel de la mayoría de alumnos. Pero sigo dándole vueltas a cómo enfocar la enseñanza de toda la informática menos la programación en tan poco tiempo.

Sigue leyendo