Cambio un poco la tónica de este blog para compartir con vosotros los recuerdos de 4 horas de programación en C++ que han sido verdaderamente majestuosas.

La historia comienza con un profesor de la universidad buscando voluntarios entre uno de los subgrupos de mi curso de matemáticas. Dos de mis compañeros (y grandes amigos) aquí decidieron apuntarse, y Alberto, uno de ellos, al darse cuenta que habían sido los únicos, me facilitó la información acerca de esto. Tras un par de "con dos cojones" y un "la vida es demasiado corta como para perderse esto" estaba apuntado a este curioso experimento.

El objetivo era partir de una base de programación en C++ y llegar a ser capaces de implementar un programa que simulase el cerebro de un robot explorador. Y todo esto en cuatro horas, con una tarjeta ARDUINO y unas piezas robóticas LEGO.

En la primera sesión de dos horas aprendimos a manejar motor, sensor de contacto, de ultrasonidos, de luz, a saber manejarnos con los puertos de la tarjeta y a articular instrucciones en el ordenador para poder controlarla. Lo que no sabe el profesor que nos ayudó es que también aprendimos a hacer un putiferio con las luces LED, aprendimos que no se puede crear luz negra (sombra, vamos) y que si algo no te funciona, simplemente apágalo y vuélvelo a encender.

Antonio Luis aprendió también que las líneas estilo "else { if {" no son legibles (aunque se muestra reacio a ponerlo en práctica).

En la segunda sesión utilizamos todo lo aprendido en la primera y trabajamos con el robot completo.

Alberto empezó con la parte más divertida.
El objetivo final era hacer que el robot se moviese, que frenase y retrocediese si chocaba, y que fuese capaz de detectar objetos en la distancia aparte de evitarlos calculando previamente la vía más segura de avance. Además, debía mostrar con una luz verde - roja si chocaba o no, aunque decidí que estaría más molón que emitiese también una luz amarilla cuando detectase un enemigo. (Y así lo hicimos).

Hay muchos experimentos y por tanto muchos vídeos, os dejo con uno de los mejores, cuando tratábamos de volver loco al robot encima de la mesa.


Todos los vídeos están disponibles en HD

Durante estas dos últimas horas se escucharon algunas frases dignas de recordar, destaco algunas (de las que me acuerdo, vaya).

- "No hemos tocado nada, solo lo hemos conectado y ha empezado a darle vueltas la cabeza como la niña del exorcista".
- "Eh, eh, el sangrado de código, que luego Javier nos regaña".
- "¡Pero pon el sostenido! -¡Es que se ponen dos! -¡Pues pon los dos y borra uno! -¡Es que se borran los dos!" Entonces nos coge el profesor el ordenador, cierra el programa, lo vuelve a abrir, y se arregla por arte de magia.
- "Eh, ¡que nos atropella los bollos!".
- "Este bicho necesita un sensor de precipicios".
- "¿Por qué a mí no me detecta el robot? - Porque no tienes alma".
- "Antes queríamos que saliese amarillo y ha salido azul, ahora que esperamos que salga violeta va a salir amarillo. - Es el mejor argumento que he oído en mi vida; esto va a funcionar porque yo quiero que funcione". La última fue la respuesta del profesor.
-"Podría pasarme horas viendo cómo explora el cacharro este".
-"El robot tiene esclerosis". Frase causada por no ajustar bien el ángulo de giro del sensor de ultrasonidos y desplazarse con la cabeza mal puesta.
-"Deberíamos ponerle un botón de autodestrucción, o ponerle la velocidad al máximo, a ver si explota".
-"Yo inicializo los dos motores estos, el tercero seguro que se inicializa por inercia".
-"Suponiendo que esta sea la izquierda..."

Como sé que anheláis ver cómo quedó, disfrutad del último vídeo.

En pantalla completa es muuuuuuuucho mejor.

Porque C++ sirve para algo más que para hacer pinos de asteriscos, leñe.



Leave a Reply