Mostrando entradas con la etiqueta software libre. Mostrar todas las entradas
Mostrando entradas con la etiqueta software libre. Mostrar todas las entradas

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.  


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, diciembre 05, 2010

Wikileaks

Wikileaks no es un wiki al uso. El lector no puede editar y modificar la información que allí se publica como ocurre en la Wikipedia. A groso modo, Wikileaks es una especie de portal donde, fundamentalmente, se publica información sobre los comportamientos "no éticos" de los gobiernos. La información colgada en la web, en modo sólo lectura, es una cantidad ingente de filtraciones de documentos oficiales "secretos" que los propios implicados en los gobiernos como trabajadores, espías, militares y alguna que otra oveja negra, envían a Wikileaks para su publicación. Supongo que lo hacen porque consideran que hay ciertos temas que deben hacerse públicos para que el mundo los conozca, a pesar de los riesgos que ésto conlleva. En principio "los papeles" se publican sin interpretar, tal cual, aunque parece que se eliminan algunos nombres para no poner en peligro su seguridad. A continuación es la prensa convencional  la que procesa, traduce y selecciona la información, para después divulgarla de forma sencilla para el público.
Las grandes ventajas de la informática que provocaron la revolución tecnológica del siglo XX, fueron la velocidad de procesamiento y  la capacidad de replicar archivos. Intentar separar el proceso de copia de la propia informática es como querer electricidad sin magnetismo, ying sin yang, etc... Si a todo esto le añades una buena red de comunicación mundial, como es internet, y la intrínseca necesidad de subversión del ser humano, se puede liar parda tal y como ha ocurrido en estas últimas semanas.
Creo que no nos pilla de sorpresa que los gobiernos actúen de forma poco ética e hipócrita para conseguir su objetivos que, en muchos casos,  no coinciden con los de los ciudadanos pero la verdad es que uno siente placer al leerlo de primera mano.
Como no podía ser de otra forma, habrá venganza. Los gobiernos se pasan por el forro de los cojones el estado de derecho que ellos mismos nos imponen, y actúan fuera de su propia ley, la misma que aplican con rigor cuando la incumple cualquier hijo de vecino.
Los propios servidores de Wikileaks están sufriendo en carnes (o mejor dicho en semiconductor) la ira gubernamental y están siendo atacados continuamente para bloquear el acceso del público en general. Parece ser que para hacer esto no necesitan una orden judicial.
Como internet, a día de hoy, sigue siendo un foro libre, para vencer el bloqueo se abren continuamente mirrors y nuevas direcciones. Si te apetece echar un ojo a Wikileaks puedes encontrar URLs alternativas en: http://savewikileaks.net/another-wikileaks-address/

Aquí adelanto unas cuantas que funcionan hoy:

  1. http://120310wl.frezeb.webfactional.com/
  2. http://195.214.241.98/
  3. http://213.251.145.96
  4. http://213.251.145.96/
  5. http://213.251.145.96.nyud.net/
  6. http://46.59.1.2
  7. http://46.59.1.2/
  8. http://46.59.1.2.nyud.net/
  9. http://79.159.1.172/wikileaks/
  10. http://85.88.21.139/
Si te quieres implicar un poco más, en la siguiente web tienes unos buenos consejos:



martes, noviembre 30, 2010

Manifiesto por una red neutral

Los ciudadanos y las empresas usuarias de Internet adheridas a este texto manifestamos:

  1. Que Internet es una Red Neutral por diseño, desde su creación hasta su actual implementación, en la que la información fluye de manera libre, sin discriminación alguna en función de origen, destino, protocolo o contenido.
  2. Que las empresas, emprendedores y usuarios de Internet han podido crear servicios y productos en esa Red Neutral sin necesidad de autorizaciones ni acuerdos previos, dando lugar a una barrera de entrada prácticamente inexistente que ha permitido la explosión creativa, de innovación y de servicios que define el estado de la red actual.
  3. Que todos los usuarios, emprendedores y empresas de Internet han podido definir y ofrecer sus servicios en condiciones de igualdad llevando el concepto de la libre competencia hasta extremos nunca antes conocidos.
  4. Que Internet es el vehículo de libre expresión, libre información y desarrollo social más importante con el que cuentan ciudadanos y empresas. Su naturaleza no debe ser puesta en riesgo bajo ningún concepto.
  5. Que para posibilitar esa Red Neutral las operadoras deben transportar paquetes de datos de manera neutral sin erigirse en “aduaneros” del tráfico y sin favorecer o perjudicar a unos contenidos por encima de otros.
  6. Que la gestión del tráfico en situaciones puntuales y excepcionales de saturación de las redes debe acometerse de forma transparente, de acuerdo a criterios homogéneos de interés público y no discriminatorios ni comerciales.
  7. Que dicha restricción excepcional del tráfico por parte de las operadoras no puede convertirse en una alternativa sostenida a la inversión en redes.
  8. Que dicha Red Neutral se ve amenazada por operadoras interesadas en llegar a acuerdos comerciales por los que se privilegie o degrade el contenido según su relación comercial con la operadora.
  9. Que algunos operadores del mercado quieren “redefinir” la Red Neutral para manejarla de acuerdo con sus intereses, y esa pretensión debe ser evitada; la definición de las reglas fundamentales del funcionamiento de Internet debe basarse en el interés de quienes la usan, no de quienes la proveen.
  10. Que la respuesta ante esta amenaza para la red no puede ser la inacción: no hacer nada equivale a permitir que intereses privados puedan de facto llevar a cabo prácticas que afectan a las libertades fundamentales de los ciudadanos y la capacidad de las empresas para competir en igualdad de condiciones.
  11. Que es preciso y urgente instar al Gobierno a proteger de manera clara e inequívoca la Red Neutral, con el fin de proteger el valor de Internet de cara al desarrollo de una economía más productiva, moderna, eficiente y libre de injerencias e intromisiones indebidas. Para ello es preciso que cualquier moción que se apruebe vincule de manera indisoluble la definición de Red Neutral en el contenido de la futura ley que se promueve, y no condicione su aplicación a cuestiones que poco tienen que ver con ésta.

La Red Neutral es un concepto claro y definido en el ámbito académico, donde no suscita debate: los ciudadanos y las empresas tienen derecho a que el tráfico de datos recibido o generado no sea manipulado, tergiversado, impedido, desviado, priorizado o retrasado en función del tipo de contenido, del protocolo o aplicación utilizado, del origen o destino de la comunicación ni de cualquier otra consideración ajena a la de su propia voluntad. Ese tráfico se tratará como una comunicación privada y exclusivamente bajo mandato judicial podrá ser espiado, trazado, archivado o analizado en su contenido, como correspondencia privada que es en realidad.

Europa, y España en particular, se encuentran en medio de una crisis económica tan importante que obligará al cambio radical de su modelo productivo, y a un mejor aprovechamiento de la creatividad de sus ciudadanos. La Red Neutral es crucial a la hora de preservar un ecosistema que favorezca la competencia e innovación para la creación de los innumerables productos y servicios que quedan por inventar y descubrir. La capacidad de trabajar en red, de manera colaborativa, y en mercados conectados, afectará a todos los sectores y todas las empresas de nuestro país, lo que convierte a Internet en un factor clave actual y futuro en nuestro desarrollo económico y social, determinando en gran medida el nivel de competitividad del país. De ahí nuestra profunda preocupación por la preservación de la Red Neutral. Por eso instamos con urgencia al Gobierno español a ser proactivo en el contexto europeo y a legislar de manera clara e inequívoca en ese sentido.

Difúndelo...

martes, mayo 04, 2010

Día contra el DRM (Gestión de derechos digitales)

Hoy día 4 de mayo de 2010 hay movilización en Internet contra el DRM (sigla en inglés de digital rights management). Se trata de un sistema que llevan los dispositivos digitales con contenidos sujetos a derechos de autor, léase películas, música, software en general, etc ... para restringir su uso y copia.
El tema es que todos los sistemas de encriptado con DRM son un truño y, a día de hoy, no han aguantado ni un asalto al universo hacker. Lo que sí hacen es joder bastante al que paga por un DVD original porque se da la paradoja de que, la mayoría de las veces, no se puede reproducir el new-brand-flamante plástico y no queda más remedio que adoptar la vía rápida y descargar la susodicha peli de Internet.
Así son los lumbreras de la industria. Cosas de la vida.


Interesante link: 
http://quidam.cc/02-04-2010/por-que-no-puedo-ver-este-dvd-en-gnulinux

pd. Voy por Lost 06x13

lunes, enero 19, 2009

Aportación a Molinux 4.2

Mi pequeño granito de arena a Molinux 4.2 viene a raíz del odioso problema de instalación de la distribución en los Toshiba L300 repartidos a los docentes. Después de bucear un buen rato por la red encontré una solución al tema del mal funcionamiento de la Wifi. Lo posteé en el foro de molinux y también aquí. El equipo de Molinux lo ha incluído en un paquete específico llamado molinux-toshiba-support. El script ha quedado mucho más profesional y elegante que el que yo hice para salir del paso (1 línea ;-) ) pero el fondo es el mismo, fijar la tasa de transferencia a 12Mb. Se puede encontrar, una vez instalado el paquete, en /etc/network/if-up.d con el mismo nombre con el que lo bauticé fix_8198rltk :-). Como los desarrolladores de Molinux son muy majos, me lo comunicaron cuando lo lanzaron y a mí, esta tontería, me ha hecho mucha ilusión, la verdad.
Como este post tiene un aura positiva sobre el negro asunto de los Toshiba, dejaré para otro día de terapia la reflexión sobre política, informática y educación que tanto me atormenta. Ahora marcha la Wifi (al menos con WEP) y no se reinicia cuando no toca. Ya se puede usar.


#!/bin/sh -e

# don't run the fix while bringing up the loopback device
[ "$IFACE" != "lo" ] || exit 0

# list of supported interfaces
ifaces=`iwconfig 2>1 | egrep "^\w+" | grep -v "no wireless" | cut -f1 -d " "`

for wlan in $ifaces; do
if [ x"$IFACE" = x"$wlan" ]; then
iwconfig $wlan rate 12M fixed
fi
done

exit 0