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.

Lista de verificación para páginas web

Esta actividad surge a raiz de esta noticia leida aquí. Un equipo de la Universidad de Connecticut, en Estados Unidos, realizó un estudio en el que los mejores lectores de de las clases de séptimo curso de distintas escuelas situadas en distritos con ingresos bajos, tenían que evaluar la fiabilidad de una página web, en este caso, una página  dedicada a un animal conocido como pulpo arbóreo del noroeste del Pacífico, creada, en 1998, por alguien conocido como Lyle Zapato, imaginamos que a modo de broma. A los niños no se les dijo que la información fuese cierta, sino que se les pidió que evaluasen si era cierta. Pues bien, el 87,5% de los chicos de séptimo juzgó la página web como fiable y más de la mitad llegó a calificarla como muy fiable. El pequeño grupo de estudiantes que dijo que la información no era creíble, procedía de la misma escuela y acababan de participar en una clase que les enseñaba a sospechar de la información online, en la cual se usaba, precisamente,  este mismo ejemplo del pulpo arbóreo.

En la escuelas se fomenta que los niños busquen información de la red por ellos mismos pero no se les enseña a evaluar la fiabilidad de la información que leen allí. Por eso, he creado una herramienta para hacer una evaluación sistemática de páginas web. Se trata de una lista de verificación con 14 preguntas sobre la autoría del sitio web, las fuentes de la información mostrada, las citas, los enlaces, el tipo de lenguaje empleado, su intencionalidad… Las preguntas se deben contestar una vez que se haya leído la página y se tenga una idea general sobre su contenido. En total se otorgan 20 puntos, de tal manera que cuantos más puntos reciba una página, más fiable es su contenido.

En principio, se puede hacer la evaluación con el profesor con una serie de páginas de ejemplo, para después intentar que sean los propios niños los que hagan el test cada vez que busquen información en internet. La idea es intentar que los niños aprendan en qué tienen que fijarse para saber qué hace fiable la información publicada en cualquier medio, no necesariamente digital. A continuación presento las preguntas con la puntuación correspondiente. Una página con una puntuación menor del 50% (10 puntos) no es nada fiable. Si ese fuera el caso, es mejor buscar otra fuente de información. Por debajo de 60% (12 puntos) hay dudas sobre la veracidad de los contenidos o la intencionalidad de la página y habría que intentar cofirmarlos con fuentes externas.

  1. ¿Están el autor o la organización responsable de la página claramente identificados? Sí: 1 punto; No: 0 puntos.
  2.  ¿Hay algún enlace o alguna otra forma de contactar con el autor? Sí: 1 punto; No: 0 puntos.
  3. ¿Se puede distinguir si el objetivo de la página es ofrecer información, dar una opinión o vender algún producto?  Sí: 2 puntos; No: 0 puntos.
  4. ¿Está el contenido de la página escrito o revisado por algún experto? Sí: 2 punto; No: 0 puntos.
  5. ¿El contenido es original o, en caso de que no lo sea, están las fuentes claramente identificadas? Sí: 2 puntos; No: 0 puntos.
  6. ¿Se puede verificar la información con enlaces, referencias, bibliografías u otras fuentes dignas de crédito? Sí: 2 puntos; No: 0 puntos.
  7. ¿Hay errores tipográficos obvios o palabras mal escritas u otros signos de dejadez? Sí: 1 punto; No: 0 puntos.
  8. ¿Está clara la fecha de publicación de la información o existen indicios de que se hace un intento de mantener la página actualizada? Sí: 1 punto; No: 0 puntos.
  9. ¿Hay información que contradice la que ya conocías o la que te llega por otras fuentes? Sí: 0 punto; No: 1 puntos.
  10. ¿Tienen las  imágenes los créditos correspondientes? Sí: 1 punto; No: 0 puntos.
  11. ¿La página utiliza un lenguaje inapropiado o provocador? Sí: 0 punto; No: 1 punto.
  12. ¿Se puede saber si la página tiene publicidad y en ese caso distinguirla de los contenidos? Sí: 1 punto; No: 0 puntos.
  13. ¿Se puede confirmar la información con fuentes externas? Sí: 2 puntos; No: 0 puntos.
  14. ¿Hay otros medios, digitales o no, que citen esta página? Sí: 2 puntos; No: 0 puntos.

Para facilitar la evaluación, he creado este test online:

Lista de verificación para páginas web (test online)

Con este siestema, la página sobre el pulpo de los árboles del noroeste del Pacífico (“The Pacific Northwest tree octopus“) puntúa con un 50%, mientras que el sitio “Mundo desconocido“, que tiene una factura impecable aunque hace afirmaciones muy arriesagadas sin dar referencias o citar fuentes fiables, obtiene un 45%. La página de “La ciencia es bella“, sin embargo, es clasificada como fiable por nuestro sistema con un 85%, al igual que el sitio de la NASA en español que obtiene un 100% de fiabilidad.

A %d blogueros les gusta esto: