martes, mayo 28, 2013

Cilindro neumático con Arduino y Edubásica

Os pongo un adelanto de la nueva unidad que estamos preparando para el manual de www.practicasconarduino.com
Se trata de realizar un simple movimiento de vaivén de un cilindro de doble efecto con dos finales de carrera.

Aquí va el vídeo:

lunes, mayo 27, 2013

Prácticas con Arduino

Hace unos meses publiqué junto a tres compañeros profesores de Tecnologías un manual de prácticas con la controladora Arduino para 4º curso de ESO. Todo surgió de un grupo de profesores y amigos interesados por la electrónica, la informática y la docencia; básicamente compañeros de tertulias animadas con cerveza, mucha moral y buen humor.
 Nuestra experiencia docente nos hizo ver que los conceptos que se estudian durante el curso no se aprenden sin un enfoque fundamentalmente práctico de la asignatura. Por ello surgió la idea de plantear el curso mediante un currículo integrado sustentado en la controladora libre Arduino. De esta manera los alumnos podrían aprender los conceptos reglados del currículo de 4º curso de secundaria mediante la realización de prácticas y proyectos. Fruto de un intenso trabajo y apoyado en nuestra experiencia docente publicamos el manual de prácticas.
 Para facilitar la iniciación a esta magnífica controladora libre, se diseñó una tarjeta cuya finalidad era la de extender las capacidades de Arduino o "Shield" bautizada como Edubásica que ofrece la posibilidad de manejar motores DC, activar relés, encender LEDs, leer LDR sin necesidad de realizar montajes externos.
En el manual los capítulos están organizados por áreas temáticas y, aunque el tema de Arduino está muy manido en internet, hemos intentado seleccionar y recopilar proyectos que fueran fáciles de asimilar por los alumnos. Algunos de ellos requieren la tarjeta Edubásica y otros simplemente una Arduino y unos cuantos componentes electrónicos.

El manual está disponible libremente para su descarga en la web http://www.practicasconarduino.com/ y se puede obtener en formato pdf o en versión para iPad (cosas del guión) desde iTunes.
El manual es un documento vivo al que iremos añadiendo capítulos mejorando los existentes y, poco a poco, lo iremos implementando para todo tipo de formatos.

Si os gusta el tema de Arduino, la investigación y el cacharreo no dudéis en descargarlo, ¡no tiene desperdicio!
¡Ah! y no os olvidéis de contarme vuestras experiencias.  


domingo, diciembre 30, 2012

Apoya a la Free Software Foundation

Como suele ser habitual por estas fechas la Free Software Foundation suele montar una campaña para recaudar fondos para financiarse. Uno de los objetivos del año que viene (2013) es conseguir parar el proyectos como el "Restricted Boot" de Microsoft que pretende llegar a un acuerdo con los fabricantes de hardware para que diseñen BIOS que no permitan la instalación de otro sistema operativo que no se el Windows 8 para salvaguardar, según ellos, la seguridad de los equipos. O sea que si no es suficiente que al comprar un ordenador te obliguen a pagar la licencia de MS-Windows, ahora te será imposible instalar otro sistema operativo. Además parece que este asunto se va a hacer extensivo a tablets y móviles. Un asco, vamos.
Si hay una organización con peso y legitimidad suficiente para hacer ruido mediático en contra de abusos de los lobbies tecnológicos ésta es la Fundación por el Software Libre (www.fsf.org), pero obviamente, como cualquier organización sin ánimo de lucro depende de las donaciones de empresas y particulares así es que, si puedes aportar algo de dinero o directamente hacerte socio, colaborarás por una buena causa en pro de la libertad de uso de los medios tecnológicos. Como se puede ver en su web, además de la mencionada campaña "Stop restricted boot" y muchas otras, la FSF mantiene los repositorios de todo el software GNU. Gracias a ellos podemos disfrutar de multitud de utilísimos programas. Algunos ya los estás usando sin darte cuenta cuando te conectas a internet, están en tu router y servidores en la nube que te dan servicio usando programas libres GNU. Además la FSF es el garante del cumplimiento de la licencia libre GPL v3 evitando que se cometan abusos y que nadie se apropie de forma indebida de la autoría del software libre.

En fin, si puedes echar un cable a la causa del software libre contribuirás a construir un mundo mejor.


sábado, octubre 27, 2012

Plataforma de formación del profesorado de Castilla La Mancha con Firefox

La formación de los docentes de Castilla La Mancha se va a realizar a partir de ahora mediante cursos online. Se ha habilitado una plataforma para poder seguir dichos cursos pero su acceso presenta problemas si quieres entrar con el navegador Firefox. He preparado un video-tutorial para ilustrar el procedimiento para importar los certificados necesarios una vez que has accedido a la intranet, ahí va:




jueves, junio 07, 2012

Udacity: Democratización de la enseñanza.


Hace unos meses descubrí la plataforma de formación gratuita online www.udacity.com. Ya conocía sus antecedentes con el curso de inteligencia artificial publicado por la universidad de Standford e impartido por el profesor Sebastian Thrun, ahora co-fundador de Udacity, pero no tenía una opinión formada al respecto. Esta vez, con Udacity, decidí enrolarme en uno de los cursos para probar el método de enseñanza y la experiencia ha sido muy positiva. Es la máxima expresión de la democratización y universalización del conocimiento de nivel universitario. Cuando entras en la plataforma, simplemente echando un vistazo al resumen de los cursos y el índice de contenidos te entran unas ganas locas de seguirlos ¡TODOS!.


    Los cursos están muy bien planteados. La metodología consiste en usar el aprendizaje por tareas, es decir, se centran en un objetivo inicial como por ejemplo diseñar un vehículo autónomo (sin conductor), programar un buscador de internet, diseñar un navegador web, etc... y así, en base a esa tarea, se va construyendo el conocimiento. Los cursos se desglosan en capítulos audiovisuales de corta duración (no sobre pasan los 4 minutos en general) de nivel progresivo con muchos ejemplos y ejercicios. Todo está en inglés pero la mayoría de los vídeos permiten añadir subtítulos. Si eres capaz de leer inglés se pueden seguir bastante bien, además puedes matar dos pájaros de un tiro y practicar el idioma. Los profesores son de primer nivel y eso se percibe desde el primer momento. Además se nota que hay una buena planificación, un buen equipo detrás y un buen sponsor (Google).
    La duración de cada curso, cuando yo lo hice, era de siete semanas y la última semana se empleaba en hacer el examen final. Este examen es el que te da acceso (si lo superas) al certificado del curso. Yo decidí matricularme en el curso "Intro to Computer Science: Building a Search Engine (CS101)" para conocer mejor la plataforma y la verdad es que no quedé nada decepcionado, todo lo contrario. El curso te atrapa de principio a fin. Utiliza el lenguaje Python para programar el motor de búsqueda y, a pesar de ser un curso de introducción a la programación, aparecen conceptos de profundidad en cuanto a buenas prácticas en programación (el capítulo dedicado a tablas hash y diccionarios me pareció sublime). La única pega que le vi al curso en su momento es que los objetivos semanales me parecían difíciles de cumplir si compatibilizas el curso con trabajo y familia. Una semana se quedaba corta a pesar de tener experiencia como programador. A mí el examen me pilló en vacaciones de Semana Santa. Ahora el sistema ha cambiado y puedes llevar tu ritmo de aprendizaje sin miedo a que el curso caduque. Cada 8 semanas se plantea un examen para poder tener la oportunidad de obtener el certificado.
     Bueno, éstas han sido mis impresiones de esta magnífica plataforma. Si eres autodidacta como yo, Udacity te va a parecer un filón. En un principio todos los cursos están relacionados con la programación pero ya se están abriendo a otras disciplinas. En el momento de redactar este artículo ya han colgado un curso de introducción a la Física y otro de Estadística. También, por las últimas noticias, se intuye que van a ampliar los cursos para proporcionar material de nivel de enseñanza secundaria.
En fin, el futuro de la formación está en este tipo de plataformas. Yo como profesor cada día lo tengo más claro, las nuevas tecnologías nos han abierto una puerta a otra dimensión donde el buen material para formarse está accesible para todos. A partir de ahora los límites los pones tú.

Si estás en esta onda, yo no me lo perdería.

Este es el bonito certificado que te envían si pasas el curso:


miércoles, mayo 23, 2012

Tacómetro para proyecto de aerogenerador (Arduino y Tecnologías para educación secundaria).

Hace tiempo que quería hacer un proyecto que integrara y reutilizara algún tipo de maqueta con partes móviles, la placa Arduino y algún elemento transductor sencillo para alumnos de ESO y no se me fuera mucho tiempo en ello. En casa tenía una maqueta didáctica distribuida por CEBEK y en el aula una compañera estaba haciendo un proyecto con los alumnos para trabajar el tema de mecanismos que consistía en la fabricación de un aerogenerador con distintos elementos mecánicos. Así decidí montar un tacómetro para medir las revoluciones por minuto del rotor utilizando un relé Reed, la controladora Arduino y uno de los programas de ejemplo que vienen en el IDE de Arduino que detectan el cambio de estado en una entrada digital... así de sencillo. Paso a describir e ilustrar el proyecto por si alguien le interesa montárlo en casa o en el aula:

PROYECTOS DE TECNOLOGÍAS CON ARDUINO:
"Tacómetro para maqueta con elementos rotativos de bajas revoluciones"

Aprenderás a : 

Medir las revoluciones por minuto de tus proyectos de Tecnologías que incluyan partes rotatorias. Como ejemplo de esta práctica se ha utilizado un aerogenerador pero el principio de funcionamiento hace que sea aplicable a cualquier otro proyecto similar como norias, tiovivos, etc…


Necesitarás: 
  • Placa Arduino.
  • Placa protoboard.
  • Imán ligero y de pequeño tamaño (similar a los que se adhieren en las neveras).
  • Relé Reed. 
  • Resistencia 10 K. Cable rígido de conexión protoboard.
  • Ordenador personal para monitorizar la salida.
  • Proyecto de tecnologías ya montado y funcional (en nuestro caso la maqueta de un aerogenerador). 
Descripción del proyecto: 

 Mediante esta práctica se pretenden medir las revoluciones por minuto (RPM) del rotor de una maqueta que simula el movimiento de un aerogenerador. Se han utilizado dos modelos para realizar las pruebas. Uno es el modelo didáctico comercial de CEBEK y el otro aerogenerador corresponde a un modelo construido por alumnos de tercero de ESO con materiales del aula taller. Hay que tener en cuenta que la maqueta no realiza la función de generación de energía mediante la fuerza de viento, como corresponde a un aerogenerador, sino que simplemente provoca el movimiento del rotor para simular el efecto del viento. Para ello se suministra la corriente necesaria al motor eléctrico bien mediante una una placa solar o bien mediante una pila en cada caso. Para realizar la detección de cada vuelta se utiliza un imán adherido a una de las palas que gira solidario a ella y un detector magnético, en este caso un relé Reed. Cada vez que el imán se posiciona frente al relé, debido a su campo magnético, provoca el contacto de los terminales del relé poniendo en conexión un canal de lectura digital de la tarjeta Arduino con una tensión de 5 voltios. Esta acción provoca que la tarjeta reconozca un nivel lógico alto que, mediante la un sencillo programa, realizará un conteo de vueltas y la medida de las revoluciones por minuto del rotor.

 Montaje:

 Se ubica el relé Reed sobre la parte superior y el imán se pega a una de las palas del aerogenerador, de forma que cuando pase la pala por la parte superior del aerogenerador, imán y relé queden enfrentados. Así el campo magnético del imán permite cerrar los contactos del relé Reed.


Figura 1 (detalle cabeza aerogenerador relé -imán)

Las conexiones eléctricas se realizarán con el apoyo de la placa protoboard según el esquema que se adjunta. Se conecta la resistencia en configuración “pull-down”, es decir, cuando el imán está enfrentado al relé éste se cierra (ON) y conecta la entrada digital a una tensión de +5 V. En ausencia de imán el relé permanece abierto (OFF) y la entrada digital quedará conectada a masa (GND) a través de la resistencia de 10K.

 Figura 2 (esquema eléctrico - www.circuitlab.com )

Figura 3 (detalle conexiones protoboard)

 Programa:

Una vez configurados el pin 2 como entrada digital y la comunicación serie para poder monitorizar la salida, realiza de forma cíclica una lectura del puerto de entrada. Mediante una sentencia condicional comprueba si el estado ha cambiado. En el caso de que el cambio sea a un nivel alto (HIGH) incrementa en una unidad la variable que cuenta las vueltas. Con el apoyo de la instrucción millis() se puede calcular el tiempo que trascurre el rotor en dar una vuelta completa (tiempo_una_rev), por lo que mediante un sencillo cálculo podremos conocer la velocidad en revoluciones por minuto, como se indica en la siguiente línea del programa: rpm = 60000 / tiempo_una_rev;
A continuación se incluye el programa completo:

  /*
Programa basado en http://arduino.cc/en/Tutorial/ButtonStateChange (Examples ->; Digital ->; StateChangeDetection).
Tildes omitidas.
Detecta la conexion de los terminales de un rele Reed.
Se aplica para contar las vueltas de una maqueta aerogenerador mediante un
iman ubicado en una de las palas.
Circuito:


+5 V
o
|
|
|
o
  /
/ Reed Rele
|
|
|------> Pin 2 (Digital)
---
| |
| |  R = 10 KOhmios
| |
---
|
|
|
GND


created  27 Sep 2005
modified 30 Aug 2011
by Tom Igoe
modificado por Jorge Muñoz 15 Mayo 2012

This example code is in the public domain.

http://arduino.cc/en/Tutorial/ButtonStateChange

*/

const int  releReedPin = 2;
int vueltas = 0;
int estadoRele = 0;        
int ultimoEstadoRele = 0;  
long tiempo_anterior = 0;
long tiempo_una_rev = 0;
unsigned long tiempo_ahora;
long rpm;
void setup()
{
  pinMode(releReedPin, INPUT);
  Serial.begin(9600);
}


void loop() {
  // Lee el estado del rele
  estadoRele = digitalRead(releReedPin);
  // Compara el estado del rele con el estado previo
  if (estadoRele != ultimoEstadoRele) {
    // Si el estado ha cambiado incrementa el contador
    if (estadoRele == HIGH)
    {
      vueltas++;
      tiempo_ahora =millis();
      tiempo_una_rev = tiempo_ahora - tiempo_anterior;
      rpm = 60000 / tiempo_una_rev; // 1 minuto = 60000 ms
      Serial.println("Rele ON");
      Serial.print("vuelta ");
      Serial.println(vueltas);
      Serial.print("Tiempo por revolucion: ");
      Serial.println(tiempo_una_rev);
      Serial.print("Revoluciones por minuto: ");
      Serial.println(rpm);
    }
    else {
      // Si el estado actual es LOW pasa de ON a OFF
      Serial.println("Rele OFF");

      tiempo_anterior = tiempo_ahora;
    }
  }
  // Guarda el estado actual como ultimo estado
  ultimoEstadoRele = estadoRele;

}




 Práctica en funcionamiento:

domingo, enero 01, 2012

Feliz 2012

.-.   
                         .'   '.                   
              *         ( 2012! ) 
              /\         \     /
      /\     /o \   /\    '- -'
     / /    /_ _o\  \ \     "
     \ \__.'  '   './ /      '
      \___.---'---___/        )
         /    @    @_     __.'
        /  )     _   '   /_/
       ;_-'    _(,\__,) / /
         / \   \'uuuu' / /
       ,'   "", '---' ' /
      /       """,--, ,/
     /  /       '"\\\ ' 

         *************
         * HAPPY GNU *
         *   YEAR!   *
         *************



¡qué nos deparará este 2012! (the answer is blowing in the wind)
----------------
"Happy GNU Year" is copyright © 2011 Chris Webber. It is also licensed as a separate work under the Creative Commons Attribution-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
----------------

domingo, diciembre 11, 2011

Automating systems at FSF

El boletín de la FSF de noviembre viene con artículos interesantes. He elegido éste por tener un contenido más técnico y proporcionar información de los entresijos de los servidores de software GNU.

Como no podía ser de otra forma esta tradución se puede copiar, distribuir, modificar y publicar libremente  (aunque se agradecería una mención al autor original del texto en inglés así como del traductor).

Free Software Foundation Bulletin. Issue 19 - November 2011
Título original: Automating systems at FSF 
Autor: Ward Vandewege
Chief Technology Officer (Free Software Foundation)
Traducción: Jorge Muñoz Rodenas.

Los administradores de sistemas de la FSF han hecho un gran esfuerzo para consolidar nuestra infraestructura de servidores durante los pasados 12 meses. Hemos retirado más de una docena de servidores durante el proceso, y ahora alojamos la mayoría de nuestra infraestructura en tres potentes máquinas con varios núcleos en la CPU, abundante RAM y mucho espacio en los discos. Como quizá sepáis, utilizamos Xen para virtualizar nuestros servidores. La virtualización nos permite dividir de forma segura nuestros servidores en muchas máquinas virtuales, cada una dedicada a un número limitado de tareas.
También nos hemos embarcado en un viaje para automatizar las configuraciones de nuestros sistemas en la medida de lo posible. Hemos elegido Puppet, una herramienta de gestión y automatización de la configuración, para que nos ayude en esta tarea.
Una de las ventajas de Puppet es que se puede empezar con pequeñas configuraciones. Una vez que el sistema está bajo el control de Puppet, es fácil expandir la configuración a lo largo del tiempo y, por lo tanto, automatizarlo cada vez más. Empezamos con una configuración muy limitada que definía algunos ajustes comunes a todos nuestros sistemas -por ejemplo, asegurar que la configuración del servicio sshd sea segura. Puppet hace que sea fácil distingur reglas basadas en “hechos” sobre una máquina, como la versión del sistema operativo que está ejecutándose en ese momento, o si el sistema es un servidor físico o un máquina virtual. Cada sistema bajo el control de Puppet obtiene su propio texto de configuración, por lo que es posible hacer cosas específicas para una sóla máquina.
Aquí se indican algunas de las cosas que hacemos ahora con Puppet, en vez de a mano:

  • Instalar los paquetes apropiados, y sus configuraciones estándar de GNU/FSF.
  • Crear y gestionar cuentas de usuarios.
  • Distribuir claves públicas SSH y certificados SSL.
  • Actualizar las configuraciones de las herramientas de Xen en los servidores virtualizados.

Creamos nuevas máquinas virtuales con la herramientas de Xen, que recogen los paquetes de Puppet. Entonces añadimos la nueva máquina virtual a nuestra configuración de Puppet que recoge, a su vez, la configuración por defecto GNU/FSF sin trabajo adicional por nuestra parte. Ahorramos mucho tiempo en configurar las nuevas máquinas, y nuestra mente se queda en paz: todos nuestros sistemas bajo el control de Puppet tienen garantizada nuestra configuración estándar.
Actualmente estamos trabajando para alcanzar el objetivo de generar nuestra propia configuración de los sistemas de monitorización desde Puppet. Una vez concluído la mayoría de este trabajo, debería ser posible para Puppet saber, por ejemplo, www.gnu.org se ejecuta en un servidor web en el puerto 80. Con este conocimiento, Puppet puede ordenar, a nuestros servidores monitorizados, comprobar la disponibilidad de un servicio, todo ello sin la intervención manual de los administradores de sistemas.
Quería concluir este artículo con unas breves palabras de agradecimiento a Bernie Innocenti, que dejó la FSF por otro trabajo en septiembre. Le estamos extremadamente agradecidos por sus contribuciones cono administrador de sistemas de la FSF; él ha sido clave en la consolidación de servidores y en la costosa instalación de Puppet explicada anteriormente.




viernes, septiembre 23, 2011

RTVE la televisión de "todos"

Ha salido una noticia, parece ser que filtrada por los propios trabajadores de Radio Televisión Española, que denuncia que los consejeros de RTVE han votado a favor de poder acceder, ellos mismos, al sistema interno de gestión de noticias de la propia cadena (iNews creo que se llama) y poder editarlas. La gente se ha escandalizado y rápidamente han salido todos los políticos desmarcándose de esta votación. El tema es que esa capacidad otorgada a sí mismo por el consejo de administración le huele al personal a una forma de censura.
Sobre todo este revuelo hay una cosa que no acabo de entender, RTVE siempre ha sido un medio manipulado por el gobierno de turno, ofreciendo a diario información sesgada y parcial (al igual que todos los medios convencionales de cualquier color y signo). Si esto es algo que todos sabemos, intuimos y forma parte del inconsciente/consciente colectivo, ¿por qué se arma tanto ruido?
La estrategia es clara, cualquier cambio será el culpable del deterioro del medio que, antes de dicho cambio, era limpio y eficiente. Me descojono. Y que conste que la votación, si es para censurar, no me parece bien.
Algo parecido está pasando con el tema de la educación, el sistema ya estaba moribundo y "tocado", las nuevas medidas de recortes lo único que van a conseguir es hundirlo. Pero ésta es otra guerra.
Lo que se necesita es un cambio profundo estructural y ventilar las cortinas de humo que juegan al despiste y evitan que se hagan análisis sosegados, con inteligencia y honestidad.

pd. Como ejemplo ilustrativo, vía meneame.net, he encontrado un video muy interesante y bonico donde se dicen verdades como puños que no pudimos ver en RTVE muuuucho antes de la dichosa votación (que por cierto ya se ha rectificado, aquí lo cuenta la prensa convencional)


La respuesta censurada from LaVerdadOculta on Vimeo.

martes, agosto 23, 2011

Corto de misterio

Para cambiar de tercio vamos a ver un cómic bien simple y bien bonico, creo que a estas obras maestras hay que darle difusión. La imaginación no requiere de grandes programas de animación,... ¡A-le! a disfrutarlo: http://comic.naver.com/webtoon/detail.nhn?titleId=350217&no=20&weekday=tue

PD. Aunque esté en coreano tú dale a la ruleta del ratón hacia abajo.
Si alguien lo sabe traducir del coreano que lo publique...

Vía: http://www.meneame.net/story/piensalo-bien-antes-llegar-fin-esta-pagina-jap