Animación (II): zoótropo

El año pasado fui juez de una acalorada disputa entre dos niños de seis años. La cosa transcurrió así:

– Niño 1: Cristina, ¿verdad que los dibujos animados no existen?
– Cristina: Cierto, los dibujos animados no existen.
– Niño 1 (con cara de triunfo y satisfacción dirigiéndose a Niño 2): ¿Oiste? Ya te había dicho yo que los dibujos animados eran en realidad seres humanos disfrazados.

Me chocó que a esa edad, niños que pasan horas viendo dibujos animados, tuvieran tal confusión sobre su naturaleza. Desde entonces, he pensado maneras de mostrar los principios de la animación. Una manera es con la técnica de ‘stop motion’, que expliqué aquí. También es interesante el  funcionamiento del zoótropo.

El zoótropo es un dispositivo muy ingenioso que consiste en un tambor giratorio donde se disponen dibujos sucesivos de distintas fases de una acción animada (una persona caminando, por ejemplo). El tambor se hace girar de modo que al mirar por una serie de ranuras verticales, da la impresión de que las imágenes están en movimiento (hay ejemplos aquí). En esta actividad, voy a hacer un dispositivo que funcione de manera similar, pero en lugar de un cilindro giratorio usaré un tocadiscos y en lugar de rendijas emplearé una cámara web.

Las matemáticas

Los tocadiscos giran a una determinada velocidad, normalmente a 33 o 45 rpm (revoluciones por minuto). Eso significa que en 1 minuto dan 33 o 45 vueltas. Es decir, que en 1 segundo darán 33/60  (=0.55) o 45/60 (=0.75) vueltas, o, lo que viene a ser lo mismo, tardarán 1/0.55 (=1.82) o 1/0.75 (=1.33) segundos en dar una vuelta completa. Supongamos que dividimos el disco del tocadiscos en, por ejemplo, 18 secciones iguales (lo mismo que haríamos si queremos repartir una pizza entre 18 personas). Imaginemos ahora que hacemos un dibujo en cada una de esas secciones. Como el disco tarda 1.82 (o 1.33) segundos en dar una vuelta completa, en pasar de un dibujo a otro tardará ese tiempo dividido entre 18. Por ejemplo, un disco con 18 fotos a 45 revoluciones por minuto, al girar mostrará un dibujo cada 1.33/18 segundos, o sea, cada 0.074 segundos. Nuestro experimento consiste en sacar fotos exactamente al mismo ritmo al que aparecen tos dibujos. Tenemos que saber entonces el número de fotos que necesitamos sacar cada segundo. Si resulta que cada 0.074 segundos vemos un dibujo, necesitaremos 1/0.074 (=13.5) fotos cada segundo. Cada segundo tendríamos que pulsar 13. 5 veces el botón de la cámara, algo imposible de hacer a mano. Sin embargo, las videocámaras o cámaras web sí se pueden regular para hacerlo automáticamente.  Se trata simplemente de seleccionar los ‘frames’ por segundo, o fps, en el control de nuestra cámara.

En el caso general, si llamamos ‘vt’ a la velocidad del tocadiscos expresada en rpm (33 o 45 en los tocadiscos normales), ‘n’ al número de secciones en que dividimos el disco (18 en nuestro ejemplo) y ‘vc’ a la velocidad de la cámara en ‘frames’ por segundo, tenemos la siguiente relación: vc=(vt/60)*n.

El experimento

Vamos a dividir un circulo de cartulina del tamaño de un disco en 18 sectores (o sea, cada sección tendrá un ángulo de 360/18= 20 grados) y a  hacer un dibujo en cada parte. Los dibujos tienen que mostrar los momentos sucesivos de una determinada escena. Después hacemos girar el disco a 45 rpm, y tomamos imágenes con una cámara web que hemos regulado para que lea a 13.5 fps (también se puede usar una cámara de vídeo siempre que permita cambiar el número de frames por segundo). Al mirar el resultado nos dará la impresión de que los sectores no se habrán movido porque la cámara saca fotos al mismo ritmo que el tocadiscos.

tocadiscos

El resultado

Lo hacemos y resulta que en lugar de ver lo que esperamos, las figuras parecen desplazarse así:

Como sabemos que no nos hemos equivocado en los cálculos, suponemos que lo que ocurre es que el tocadiscos no gira exactamente a 45 rpm sino un poco más despacio. Los tocadiscos tienen un motor que mueve una correa y es normal que con los años y el uso esta correa se afloje haciendo que cambie ligeramente la velocidad de giro. Para conseguir el efecto deseado, debemos ajustar mejor la sincronización  de cámara y tocadiscos. Esto se puede hacer cambiando la velocidad de la cámara (yo lo intenté, pero es tedioso) o regulando la velocidad del tocadisco con una perilla que suele haber al efecto (mucho más práctico). Aquí hay que decir que la sincronización es muy complicada porque la frecuencia de giro tiene que ser determinada con muchísima precisión. Yo he consegiuido un resultado aceptable aunque inevitablemente hay momentos en que parece que la imagen ‘salta’ porque cámara y tocadiscos no van exactamente a la par.

En el siguiente vídeo muestro el resultado. En esta primera tentativa me he centrado más en la técnica del asunto y no tanto en la parte ‘artística’. De cualquier manera, esto último corresponde sobre todo a los niños.

La música del vídeo es “Paganini paga tot a Nono” de Pascal Comelade.

Sensor de temperatura con Arduino

En esta entrada voy a explicar como medir la temperatura con un sensor electrónico con Arduino y representarla gráficamente, en tiempo real, con Python.

Desde hace bastante tiempo vengo dándole vueltas a la idea de tener una estación meteorológica  en la (hipotética) clase para que los (hipotéticos) niños se familiaricen con los aparatos de medida y comiencen a trabajar con representaciones gráficas de datos, errores de medida, relaciones entre variables… además de con cuestiones básicas sobre meteorología. Aunque en el mercado hay estaciones meteorológicas no demasiado caras, fabricarla uno mismo tiene la ventaja, no sólo del bajo precio, sino de ser una forma de introducir cuestiones básicas de electrónica e informática. Por ahora comenzaremos midiendo la temperatura.

Nos va a hacer falta:

  • Un sensor de temperatura, que es un dispositivos que transforman los cambios de temperatura en cambios de señal eléctrica para ser finalmente procesada por un dispositivo  electrónico. En este caso, usaremos el TMP36. Este sensor es bastante preciso y muy sencillo de usar. Funciona con un rango de voltaje de 2.7V a 5.5V y viene calibrado directamente en grados centígrados (ºC). Cuesta 1.5 euros, aproximadamente.

Hay que tener en cuenta que con cada grado centrígrado el voltaje cambia 10 mV y que a la temperatura 0 le corresponde un valor de 500 mV.  Es decir:

Temperatura (grados) = (Temperatura (voltios) – 500/1000) / (10/1000)

o lo que es lo mismo:

Temperatura (grados) = (Temperatura (voltios) – 0.5) *100

Así, a un volaje de 700 mv (0.7 V) le corresponde una temperatura de 20 ºC.

  • Una placa de pruebas o protoboard. En realidad no es necesaria pero la usaremos porque es más fácil montar los componentes con ella.
  • Una placa Arduino Uno. Cuesta unos 20 euros pero la podemos usar para otra cosa cuando dejemos de utilizar la estación meteorológica.
  • Cables.
  • Un ordenador (da igual que tenga Linux, Mac OS o windows) en el que debemos instalar algunos programas. Se trata de software libre que se puede bajar gratuitamente de internet:
    • El software de Arduino.
    • El lenguaje de programación Python.
    • La librería numpy, para hacer cálculos científicos con Python.
    • La librería matplotlib, que nos permite hacer gráficas 2D con Python.
    • La librería pySerial, para acceder a los puertos serie de Arduino.

El montaje con Arduino es realmente sencillo. Sigue este esquema:

Esquema del montaje del sensor TMP36

Esquema del montaje del sensor TMP36 (la figura está hecha con fritzing)

Que en la placa se vería así:

Montaje con Arduino del sensor TMP36 (figura hecha con fritzing).

Montaje con Arduino del sensor TMP36 (figura hecha con fritzing).

La salida del sensor va a uno de los puertos analógicos del arduino. Para leerlo se escribe un  programa indicando el puerto con la salida y el factor de conversión de voltios a temperatura. Yo lo  he bajado de la página de Arduino así que no lo voy a copiar aquí. Con este programa, los datos de la temperatura irán aparaciendo en una ventana que se abre al pinchar sobre el botón de la derecha arriba de la interfaz de Arduino (el que tiene como una lupa, como se muestra en la figura):

interfaz_arduino

Finalmente, para hacer que los datos se vayan representando automáticamente en una gráfica a tiempo real, he creado el siguiente programa en Python:

Programa para medir la temperatura con Python (se puede bajar pinchado sobre la imagen).

Programa para medir la temperatura con Python

Para ejecutarlo, simplemente hay que escribir en el terminal:

>python temperatura.py

El resultado se puede ver en el siguiente vídeo. He hecho que la temperatura suba tocando el sensor y que baje acercando un cubo de hielo.

Animación (I): stop motion

En el siguiente vídeo he usado la técnica del stop-motion que consiste combinar una serie de fotografías de un elemento estático en distintas posiciones para simular movimiento. La idea es ir moviendo los objetos (figuras de plastilina,  modelos a escala, muñecos…) para grabarlos fotograma a fotograma, o foto a foto. Sólo hace falta tener una idea y un poquito de paciencia. Yo he usado las figuritas de acción del Santo y Blue Demon, dos ídolos de la lucha libre mexicana, que compré en su día por que me parecieron pintorescas. Los he puesto en un escenario estilo mexicano y los he hecho bailar al ritmo de Pérez Prado. Para este proyecto he sacado unas 200 fotos y las he combinado  usando el programa iMovie, pero lo mismo se podría hacer con el propio software de la cámara digital que se vaya a usar o con otros programas como el trakAx, el Movie Maker, o el Format Factory. Si las fotos se reproducen a una velocidad lo suficientemente rápida, el ojo no es capaz de darse cuenta del cambio de una imagen a otra. Este es el principio del cine.

Estos son los protagonistas en el escenario:

CIMG0210

La cámara se monta en un trípode para que el fondo quede siempre fijo y, entonces, se mueven un poco los muñecos y se saca una foto; se mueven otro poco, y nueva foto; movimiento, foto, movimiento, foto, movimiento foto… y así hasta conseguir la secuencia deseada.

Este es el resultado:

Robotizando un astronauta

En la entrada anterior contaba cómo hacer un muñeco – el “astronauta” – que se movía con un motorcito alimentado con una pila o con un pequeño panel solar. Ahora voy a usar una placa Arduino para controlarlo a través del ordenador, es decir, lo voy a robotizar. Ya no voy a necesitar ni la pila ni el panel solar porque el motor tomará la energía del propio ordenador. En un programa voy a escribir una serie de instrucciones para controlar el motor. Este caso es muy sencillo porque al haber sólo un motor lo único que va a poder hacer el robot es avanzar en un sentido. Desde el ordenador le puedo ordenar que camine o que se pare (¡por eso se llama ordenador!). Parece complicado pero realmente no lo es. Sobre el porqué de hacer proyectos de electrónica en primaria ya escribí también aquí.

Lo primero que hay que hacer es montar el circuito de la izquierda (aunque en mi caso he usado una resistencia de 33o ohmios en lugar de la de 2200 que se ve en el dibujo). Nos va a hacer falta, además de la placa Arduino, una resistencia, un transistor y un diodo. El transistor es un gran invento y gracias a él funcionan la mayoría de los dispositivos eléctrónicos que usamos a diario. En este caso va a amplificar la corriente para poder mover el motor. El diodo, por su parte, es un dispositivo que permite que la corriente pase sólo en un sentido. Esta función hace que actúe como interruptor y nos va a permitir encender y apagar el motor. Todo se conecta a un pin de la placa (en este caso el número 9 pero podría haber sido otro), a tierra y a la salida de 5 voltios de nuestro Arduino. El montaje se hace sobre una protoboard. En realidad se podría hacer sobre cualquier superficie pero la protoboard es muy cómoda porque al estar perforada nos permite hacer las conexiones con facilidad y usarla una y otra vez. Los prototipos de todos los aparatos electrónicos que usamos se montan inicialmente sobre una protoboard y sólo cuando se comprueba que todo funciona bien se construyen en serie. Por último la placa Arduino se conecta al ordenador con un cable USB. En el siguiente vídeo(*) se muestra cómo se montó el circuito:

El software del Arduino se baja de su web y se instala muy fácilmente. Después hay que escribir un programa de control. En la red hay también multitud de ejemplos y de ayudas para programar. Yo he hecho este programa sencillo (se puede ver más grande pinchando sobre la imagen):

Al final conecté el motor del astronauta a las salidas que había dejado en la placa. Simplemente le he puesto un cable más largo y le he cortado las conexiones que iban a la batería, al interruptor y a la placa solar. La pila en principio no hace falta pero se la he dejado para contrapesar y que nuestro robot no caiga hacia delante.

En este ejemplo, el motor funcionará con ciclos de 2 segundos y pausas de 0.1 segundos. O sea, se moverá así:

Si le cambio los valores del tiempo (“time_on” y “time_off“) por 2 segundos en ambos casos, nuestro astronauta andará 2 segundos y se parará otros dos. O sea, se moverá así:

Y ya está. Si quisiéramos que andase hacia atrás tendríamos que cambiar la polaridad del motor lo que se consigue simplemente intercambiando sus conexiones. Sin embargo, con el circuito que he montado no podríamos seleccionar un sentido u otro desde el ordenador. Para eso nos haría falta introducir lo que los electrónicos llaman Puente H. Pero vamos a dejarlo para otro día.

(*)La canción del vídeo es “In our talons” de The Bowerbirs.

Astronauta con panel solar

He montado este “astronauta” que se mueve con un motorcito alimentado con una pila o con un pequeño panel solar. Lo he encontrado en el catálogo de Cebekit, una empresa de kits educativos, especializados en la formación tecnológica. Este modelo en concreto costó unos 16 euros y fue un regalo para uno de mis sobrinos. Se pueden seguir las instrucciones (como he hecho yo) como ejercicio para desarrollar la visión espacial y la habilidad manual. Aunque, quizás, más interesante y económico sería, copiando inspirándonos en este modelo, comprar distintos componentes en una ferretería, fabricar la estructura con madera de balsa y plantear el reto de hacer un robot que pueda desplazarse. Seguro que los niños nos sorprenderían.

El siguiente vídeo(*) resume el proceso de montaje y muestra cómo funciona el dispositivo:

(*)La música es la del inicio de la canción “If I Could” de Sophie Zelmani.

El área del círculo

Ahora que sabemos calcular la longitud de la circunferencia, vamos a tratar de determinar el área de un círculo. Lo que vamos a hacer es dividirlo en sectores (por ejemplo de 30º cada uno) y reodenarlos para formar un rectángulo, que lógicamente tendrá el mismo área que el círculo. La superficie de un rectángulo se calcula simplemente multiplicando la longitud de sus lados así que sólo tendríamos que averiguar cuánto miden estos lados. Lo voy a mostrar en un vídeo casero que he hecho:

O sea, que el área de un círculo (que vamos a llamar A) se calcula multiplicando π por el cuadrado del radio (R): A=πR2

Niño que se da cuenta de todo: pero el lado largo del rectángulo no es exactamente recto.

Maestra: pues verdad, no es exactamente recto. Sin embargo, fíjate que si tomamos sectores (o triangulitos) más pequeños el borde sería un poco más recto. Con la cartulina no los podemos hacer infinitamente pequeños, pero sí nos podemos imaginar que llega un momento en que el borde  termina por ser realmente recto.

Ejercicio: explicar cómo construir el rectángulo a partir del círculo y pedir a los niños que traten de deducir su superficie.

Los que se acuerden de cómo calcular el área de un triángulo (base por altura partido por dos) encontrarán interesante este otro vídeo (más profesional):

El disco de Newton

Disco de NewtonIsaac Newton se dio cuenta de que la luz blanca, del Sol, se descomponía en los colores del arcoiris al hacerla pasar a través de un prisma de cristal, así que pensó que esos mismos colores pueden volver a unirse para formar la luz blanca. Para demostrarlo ideó un disco con sectores pintados de cada uno de los colores del arcoiris. Al hacerlo girar rápidamente, estos se combinan formando el color blanco.

En este caso yo lo pinté  igual que Newton (como se ve en la imagen de la izquierda, extraída de la wikipedia) aunque, por una confusión sobre el nombre de los colores, usé turquesa en lugar del llamado índigo que es en realidad añil en español. En definitiva, me quedó así: amarillo (un sector de 30º), verde (30º), azul (30º), turquesa (15º), violeta (30º), rojo (30º) y naranja (15º). Para hacerlo girar acoplé un motorcito con su pila y un interruptor, algo que Sir Isaac no pudo hacer porque en su tiempo aún no se habían inventado. En internet hay cientos de vídeos con esta misma experiencia pero yo voy a mostrar el que hice con lápices de colores para llevar a la “semana cultural”. En general fue motivo de asombro para los niños que lo vieron, algo que tengo que reconocer me asombró a mí también: a veces pensamos que los niños de hoy en día ya lo han visto todo y no es verdad. Así se ve el disco al girar:

Cohete

Este es un pcohete paso 2equeño cohete que hice con cartulina, un globo y cañitas, una actividad de las que se puede catalogar como “vieja como el mundo” y que me parece didáctica para niños pequeños. Surgió com trabajo para hacer con los de primero en la “semana cultural”, donde había que preparar un taller de un par de horas. Al final me tocó estar con niños mayores e hicimos un zoótropo, que quizás algún día ponga aquí. Aquí y aq he colgado el cohete que yo hice para que pueda ser usado como plantilla. Yo he puesto una cañita fina  por donde he pasado hilo de nailon y una más gruesa (con la fina la fuerza es insuficiente par impulsar el cohete) donde va el globo enganchado con un elástico.  Todo va pegado con cinta adhesiva y pegamento de barra normal y corriente.

Se trata de mostrar el principio de funcionamiento de un cohete, que se basa en la tercera ley de Newton: a cada acción corresponde siempre una reacción igual y contraria. En un globo inflado y cerrado la presión del aire actúa en todas las direcciones pero el globo no se mueve porque las fuerzas de las paredes se anulan con las fuerzas del aire. Si dejamos escapar el aire del globo, tendremos un chorro de moléculas de gas que sale a gran velocidad, provocando la correspondiente reacción que impulsa el cohete en sentido opuesto, o sea, hacia delante. En los cohetes de verdad ocurre lo mismo pero no hay globos sino cámaras de combustión donde además de combustible hay oxígeno.

Finalmente incluyo un vídeo, grabado con más pena que gloria, donde se ve el ingenio en funcionamiento: 3,2,1…

A %d blogueros les gusta esto: