jueves, 28 de mayo de 2015 (Hace 172 dias)

Llevaba tiempo queriendo instalar un interruptor así y me ha costado lo mio, porque a mis nulos conocimientos de electrónica se suma la poca documentación que he encontrado sobre estos dispositivos, pero bueno, el que la sigue la consigue y probando conseguí hacerlo funcionar.
Estas son las tripas de mi circuito (otro día pongo el esquema y explico como funciona) al que le acabo de añadir un micro-interruptor con dos posiciones (esa cosilla azul-celeste del centro).

Tripas del sensorTripas del sensor

La idea es la siguiente: una vez que me llevo el sensor de movimiento al monte poder alternar el funcionamiento del dispositivo entre varias opciones preseleccionadas y predefinidas en el código sin tener (como hasta ahora) que andar modificando y recargando el código en el ordenador antes de salir de casa de acuerdo a lo que fuese hacer en ese uso. Con este interruptor de dos posiciones se obtienen cuatro combinaciones posibles: interruptores ON/ON, ON/OFF, OFF/ON, OFF/OFF.
De este modo podemos precargar con cuatro modos de funcionamiento y alternar entre ellos en cualquier sitio y momento tan solo cambiando un interruptor (eso sí, muy pequeño, hace falta un boli para alcanzarlo).
El esquema es muy sencillo, solo necesitáis 1 resistencia de 1kΩ por cada interruptor (en el esquema he usado dos piezas cuando en realidad es una pieza+dos interruptores, para el caso esto es indiferente).

Esquema interruptorEsquema interruptor

Con esto instalado bastaría el código que lee los interruptores al inicio sería :int pinConmutadorA = 6;
int pinConmutadorB = 5;
void setup() {
int conmutadorAVal = digitalRead(pinConmutadorA);
int conmutadorBVal = digitalRead(pinConmutadorB);
if (conmutadorAVal == 1 && conmutadorBVal == 1) { int modoConmutadores = 1;}
if (conmutadorAVal == 1 && conmutadorBVal == 0) { int modoConmutadores = 2;}
if (conmutadorAVal == 0 && conmutadorBVal == 1) { int modoConmutadores = 3;}
if (conmutadorAVal == 0 && conmutadorBVal == 0) { int modoConmutadores = 4;}
}

Los interruptores los compré en Electrónica Embajadores a 0,6 €.

jueves, 21 de mayo de 2015 (Hace 179 dias)

De vez en cuando grabo algún vídeo ó secuencia de fotos del que me gusta extraer fotogramas y crear/componer un GIF animado, muchos los he ido colgando por aquí. Un GIF animado es una pieza gráfica especial, singular, a medio camino entre la fotografía y el vídeo, sin la perfección y nitidez de una ni la toda la información visual/sonora del otro pero con un espacio propio dentro del cual funciona mejor y supera a ambos en simpleza y capacidad visual.
Llevaba tiempo queriendo integrarlos en el blog. Como galería independiente me parecía algo excesivo así es que finalmente he optado por modificar el código que gestiona la galería de Fotografías (alojadas en Flickr) para que integre ahora además los GIFS animados que alojados en Picasaweb. En adelante, la galería de fotos estará un poco más animada.

papamoscas.gifpapamoscas.gif

Un GIF es un formato de archivo de imagen reducido a 256 colores que contiene uno o varios fotogramas. Estos fotogramas son interpretados de forma nativa por cualquier navegador web y reproducidos de forma cíclica (normalmente, no tiene porqué ser así) sin necesidad de aplicaciones extras como pueden necesitar los archivos de vídeo.
Para realizar un GIF animado hay cienes y cienes de herramientas. En GNU/Linux podéis hacer un GIF animado directamente desde un vídeo con FFMPEG o MENCODER, pero para hacer un buen GIF animado, cíclico y optimizado en color y peso lo mejor es crearlos a partir de una pila de imágenes con IMAGEMAGICK.

Sigue leyendo…

domingo, 17 de mayo de 2015 (Hace 183 dias)

Cambiemos Murcia es un partido político que se presenta a las municipales en Murcia. Este partido político fue impulsado por los firmantes de un manifiesto (La ciudad que amamos y queremos), al que se fueron sumando personas de diferentes movimientos políticos (Podemos, Equo, IU…). Al final, por diferentes motivos, solo ha quedado IU dentro, porque Equo y Podemos abandonaron el barco (también muchos de los impulsores del manifiesto). Se ha criticado que Equo y Podemos no se hayan sometido a la voluntad expresada en las últimas asambleas (las que conformaron la candidatura municipal).
Sin entrar a analizar esos procesos asamblearios, solo quiero comentar unos aspectos que muchas de las que opinan en torno a este proceso de confluencia olvidan. Comenzaré diciendo que Cambiemos Murcia no apoya a Podemos. Esto quiere decir que no va a pedir el voto para nuestra formación política. ¿Es este el problema? No, este es el síntoma. El voto no es lo más importante. Lo importante es que no apoyar a Podemos hoy es no apoyar un modo de entender la alternativa política alejado del bipartidismo, un modo de organizarse que no le debe favores a nadie, porque no tiene deudas con nadie, y a una gente que viene de diferentes realidades, con el objetivo de cambiar el panorama político que se nos ofrece desde hace más de treinta años.
Hay quien habla de “la asamblea” Sigue leyendo…

viernes, 8 de mayo de 2015 (Hace 192 dias)

La siempre impresionante voz de Constantino Romero leyendo poema de Leonard Cohen, muy apropiado para estas fechas de reflexión en que entramos.

La plastilina tuvo su momento de auge en las escuelas de bachiller hace muchos años, era EL ELEMENTO principal de la clase de manualidades. Después ha decaído mucho hasta quedar como algo antiguo y obsoleto. O quizás es sólo una mala impresión por mi parte, la verdad es que no entro a un aula de manualidades desde hace … joder, como pasa el tiempo.

El caso es que es un producto extremadamente útil y que no debería faltar en la mochila de campo del fotógrafo naturalista. ¿Para qué sirve? pues para todo.
Con una pelota buena de plastilina sujetas un flash en cualquier sitio, pegas un cable donde no se vea, hace funciones de cinta aislante, tapas un agujero, sujetas una flor del viento, sostienes una rama o como en la imagen te fabricas un parasol para el móvil, se adhiere a casi cualquier superficie, es extremadamente fácil de quitar y poner, con un simple paño quitas cualquier huella/resto.

Parasol plastilinaParasol plastilina

La diferencia entre la imagen de arriba y la de enmedio está en la imagen de abajo, un sencillo parasol, auto-adherente y adaptable a cualquier condición.

sábado, 2 de mayo de 2015 (Hace 198 dias)

Bueno, esto es una pequeña ayuda de escritorio especialmente útil cuando tienes que manejar decenas ó centenas de vídeos en batería.
Periódicamente salgo al monte a recoger los vídeos/imágenes de las cámaras de fototrampeo que tengo repartidas. Depende del tiempo que pase entre visitas, de la configuración de las cámaras, de lo animado que esté el monte, etc.. pero habitualmente me suelo traer de vuelta en el teléfono tranquilamente 200 o 300 vídeos de 10-30 segundos. Toca visionarlos tranquilamente en el ordenador, por si se me hubiese escapado algo y clasificar/desechar el material. Normalmente descarto casi el 70%-80% de los vídeos que se graban.
La rutina de trabajo sería «por defecto» algo como: abrir la carpeta contenedora, reproducirlos en batería, memorizar nombre, volver a la carpeta, borrar, continuar con la lista de reproducción. Gracias a MPLAYER podemos hacer esto tan fácil como: reproducir lista de vídeos, borrar vídeo, pasar al siguiente.

MPLAYER, es un reproductor de vídeos/audio que dispone en su configuración de un modo esclavo que es tremendamente útil. Este modo esclavo (slave) permite a otras aplicaciones/scripts interactuar con la reproducción en curso de MPLAYER. El reproductor «escucha» este archivo y ejecuta los comandos recibidos tal y como haría desde su propia interfaz. Esto permitiría por ejemplo pausar/silenciar una película cuando se reciba un correo electrónico, o como en nuestro caso borrar el archivo que se esté reproduciendo tan solo como pulsar la tecla DEL.

Activar modo esclavo

Lo primero es activar el modo esclavo en MPLAYER. Para esto editamos (o creamos si no existe) el archivo config ubicado en la carpeta local de Mplayer ( ~/.mplayer/config ).
Añadimos las siguientes dos líneas: slave=1
input=file=/home/tu-usuario/.mplayer/tuberia

A continuación abrimos un terminal y creamos la tuberíamkfifo /home/tu-usuario/.mplayer/tuberia

Con esto basta para que cada vez que se inicie MPLAYER permanezca «a la escucha» de este archivo. Ahora durante la ejecución de una película podríamos pararla escribiendo en un terminal:echo "pause" > /home/tu-usuario/.mplayer/tuberia

Asignar función a la tecla

Edita el archivo de MPLAYER acceso rápidos de teclado ( /home/tu-usuario/.mplayer/input.conf ) y añade la línea:DEL run /home/tu-usuario/.mplayer/borrarActual

Script de eliminación de archivo en reproducción

Ahora creas el script que se ejecutará cada vez que pulsemos la tecla DEL durante la reproducción de un video/audio en MPLAYER, crea un archivo de texto en /home/tu-usuario/.mplayer/borrarActual con el siguiente contenido:#!/bin/sh
mplayerPID=$(pidof mplayer)
if [ "$(echo ${mplayerPID}|wc -w)" -ne 1 ] ; then exit 1; fi
IFS=$'\n'
for archivo in $(lsof -p ${mplayerPID} -Fn | grep -i -E -w 'avi|mp4|mp3|mov|mpg|ogg|3gp' | sed 's/^n//g') ; do
tuberia="/home/tu-usuario/.mplayer/tuberia"
if test -w "${archivo}" ; then
if [ -p "$tuberia" ]; then
echo "pt_step 1" > "$tuberia"
else
mkfifo "$tuberia"
fi
kioclient move "${archivo}" trash://
fi
done

Haz ejecutable el archivo con chmod +x /home/tu-usuario/borrarActual

El script busca el PID de mplayer en ejecución (sale si no hay solo 1 PID). Con este PID averiguamos la ruta del archivo en reproducción. Pasa al siguiente de la lista y mueve el archivo a la papelera (mejor que hacer RM, por si metemos la pata).

Cuaderno de campo es un blog desarrollado y mantenido por Trebol-a y en el que escriben Trebol-a, Miguel, Merche y Mónica
Si quieres saber algo más sobre los autores acude a la página acerca-de, si quieres contactar con alguno de nosotros hazlo a través de contactar ó de Google+

Creative Commons: Todo el contenido de la web (imágenes, textos, vídeos, a excepción de aquellas obras de otros autores enlazados por Cuaderno de Campo) se acoge a los términos expresados en la licencia Creative Commons