Libro: Computación Física en Secundaria

Hola chicos,

Después de bastante tiempo de trabajo ya he conseguido publicar mi primer libro donde hago un resumen de los trabajos y proyectos de mis clases con arduino, processing, scratch y otros…

Portada: Computación Física en Secundaria

Portada: Computación Física en Secundaria

El libro ahora mismo esta disponible solo desde lulu.com (que es la editorial) tanto en pdf como en papel:

http://www.lulu.com/product/tapa-blanda/computación-física-en-secundaria/6218641?productTrackingContext=center_search_results

También se han hecho eco en el conocido blog BricoGeek:

http://blog.bricogeek.com/noticias/arduino/libro-de-computacion-fisica-con-arduino-en-espanol/#more

Add comment 21 gener 2010

Efectos visuales con Arduino y Processing – Se abre el telón

Os presento este proyecto que en un principio se planteo como reclamo de acceso a un bar musical de unos amigos.
Tomando como base una pantalla LCD de 32 ” me plantee hacer algo divertido que hiciera interactuar a los clientes de ese local. La idea es crear una imagen fija en pantalla (en mi caso use una imagen de un telon de teatro retocada y escalada con Photoshop), asi cuando la persona se aproximara al sensor, cerca de la pantalla, el “telon” se abrira dejando ver la imagen que monitoriza la webcam (en este caso a la misma persona que se aproxima, pero la camara se puede colocar en otro lugar para que de lectura de otra imagen p. ej.).
Las herramientas fueron: una placa de Arduino, un sensor de proximidad, una webcam y logicamente un PC portatil que gestionara todo aquello. Asi de facil.
A nivel de software, use la version de Arduino 0014 y Processing en su version 1.06 pero que las ultimas versiones 0017 y 1.09 respectivamnente supongo que seran mas estables y con mas librerias. Tambien es necesario el soft WinVDIG, un parche de QuickTime para el reconocimiento de la webcam por parte de Processing.
Lo podeis descargar en estos links:
- http://www.eden.net.nz/7/20071008/
- http://a.parsons.edu/ ~ getFrame / estudiantes / Jacqueline / src / WinVDIG.exe
Aqui viene cuando me enrollo con la exposicion del proyecto:
- Instalaremos el soft WinVDIG en el PC. En este caso de 1ª prueba, yo use la webcam del portatil. Al ejecutar WinVDIG
una vez instalado, te da lectura de la webcam. Lo puedes cerrar una vez probado.
- “Pincharemos” el sensor en la placa de Arduino. Yo use el pin analogico cero (0) pero se puede usar otro, solo hay que
referenciarlo en el codigo.
- Conectamos Arduino al PC buscamos que puerto COM ha sido adjudicado para la placa (COM 10, p. ej.)
- Tecleamos el codigo que os doy a continuacion. Es un codigo muy sencillo, simplemente es para que Arduino monitorice
el sensor que mas tarde usara Processing.

int valA;
void setup ( ) {
Serial.begin (9600);
}
void loop ( ) {

valA = valA *0.7 + 0.3* analogRead (0); // aqui con esa formula

// “redondeo” la señal del sensor, usando el pin 0
Serial.println (valA);

}

- Clickeamos el comando para monitorizar la señal del sensor en el soft de Arduino (para probar que el sensor recibe señal
y Arduino recibe valores). He de decir que el sensor que yo use era muy inestable y tuve que ponderar la señal, aun asi,
no me ayudo mucho. Recomiendo un sensor de buena calidad.
- Llegados aqui, ya podemos cerrar el soft de Arduino. Ahora la señal de Arduino la gestionara Processing.
- Ejecutamos Processing y tecleamos el codigo siguente:

import processing.video.* ;
import processing.serial.* ; // importa las libreria de comunicaciones
Serial puerto ;
int numPixels ;
Capture video ;
int valorA ;
PImage foto ; // aqui integramos la variable de las imagenes
PImage foto1;
PImage foto2 ;
void setup ( ) {
size ( 800,600 ) ; // aqui la resolucion de la pantalla
video = new Capture( this, width, height, 24) ;
numPixels = video.width * video.height ;
loadPixels ( ) ;
println ( Serial.list ( ) ); // aqui imprime todos los puertos serie
puerto = new Serial ( this, Serial.list ( ) [ 0 ], 9600 ) ; // ojo, aqui es donde

//marco el pin 0 que usa Arduino
puerto.bufferUntil(10);
foto = loadImage ( “Telon.png” ) ; // selecionamos las imagenes que vamos a

//usar
foto1 = loadImage ( “izq_telon.png” ) ;
foto2 = loadImage ( “der_telon.png” ) ;
}

void draw ( ) {
if (video.available ( ) ) {
video.read ( ) ;
video.loadPixels ( ) ;

for ( int i = 0 ; i < numPixels ; i++ ) {
color col = video.pixels [i] ;
int r = int ( red (col ) ) ; // aqui las variables de color. Si variasemos sus

//valores, la imagen tenderia a ser mas rojiza, azulada, etc
int g = int ( green (col ) ) ;
int b = int ( blue (col ) ) ;
pixels [i] = color (r,g,b) ;
}
updatePixels ( ) ;
}

image ( foto1, 90 -valorA ,0 ) ; // aqui centramos en la pantalla las imagenes

//que tendran movimiento
image ( foto2, 380 +valorA ,0 ) ;
image ( foto, 0, 0 ) ; // como vereis la imagen que esta estatica mantiene las

//cordenadas X / Y a 0
}

void serialEvent (Serial puerto) {
String cadena = puerto.readStringUntil ( 10 ) ;

if (cadena ! = null ) {

cadena = trim (cadena ) ;
valorA = int (valorA*0.7+ int (cadena)*0.3 ) ;
println (valorA) ;
}
}

- Es importante que nombreis en el codigo de Processing el puerto y el pin que usa Arduino para que funcione
correctamente, es importante tambien que las imagenes del “telon” o las que vosotros useis esten en la misma carpeta del
proyecto de Processing, si no sera imposible que Processing las reconozca y dara error de codigo.
- Como podreis leer en el codigo, he dado una resolucion de pantalla de 800×600. Las imagenes del “telon” deben
estar en la misma resolucion. Vosotros podeis variarlas segun vuestras necesidades y los formatos de pantalla/monitor
con los cuales trabajeis.
- Ejecutamos Play en Processing y … deberia salir la imagen del “telon” que se abre cuando aproximamos algo al sensor.
- De no ser asi repasar los pasos y releer los codigos (sobretodo el tema de puertos y pin en Arduino, puede que tengais
que variar los de “mis” codigos para que se adapten a vuestros equipos).

Debo agradecer la ayuda de Marco de http://www.marfonline.com/ (es una maquina).

Espero no haberme enrollado mucho y que le saqueis partido a esta idea tan simple pero que puede dar mucho juego en diferentes campos, como publicidad en escaparatismo o  video-vigilancia en seguridad p. ej.

Un saludo.

Yusup K

La inestabilidad de la imagen se debe a la baja calidad del sensor usado y a la influencia de un fluorescente situado sobre el equipo.

2 comments 13 desembre 2009

RFid a Arduino

Modul RFID

Modul RFID

Aqui teniu un pdf que explica com fer funcional un modul RFID de id innovations amb arduino:  RFID

Add comment 22 setembre 2009

Els mòduls Xbee

Aquí tenu un pdf amb els esquemes i el programa per com fer servir un modul xbee amb arduino o processing: xbee

Modul Xbee
Modul Xbee

Add comment 22 setembre 2009

Mas inventos con Arduino y instrumentos MIDI: Zheremino

Video demostración de Zheremino (Theremin óptico con Arduino)

Continue Reading 1 comment 30 agost 2009

Una màquina que es capaç de replicar-se a si mateixa.

A la web es poden trobar els planols i com fer-la.

http://reprap.org/bin/view/Main/WebHome

Add comment 15 juliol 2009

Reunión 30-06-09

He decidido escribir un pequeño resumen de nuestro encuentro y colgarlo en una cuenta de gmail. La cuenta es arduinaires@gmail.com y el passwd es el mismo del wordpress pero con un cero.

Add comment 1 juliol 2009

Convertint els servos en servos de rotació continua.

Ja he acabat de fer probes amb els servos nous. Es terriblement facil convertir-los en servos de rotació continua:

1.- Treure els 4 cargols llargs de la part de darrera.

2.- Treure els 4 o 5 engranatges blancs i recordar la seva posició, per desprès tornar-los a muntar.

3.- Tallar una punxa quadrada que sobre surt.

4.- Limar un tope que te l’engranatge blanc mes llarg.

5.- Tornar a muntar tot.

Modelcraft-TOP-Line-ES-05-Mini-Servo

P.D: La diferencia que tenen respecte als parallax son els polsos. treballen a una amplitut diferent. (s’han de fer probes)

Add comment 26 juny 2009

Panells solars.

He trobat uns panells solars força economics que hem donen 6v i 200mA. Quan acabi d’endreçar els informes i preparar les altres activitats que haig de finalitzar, ho portaré un dia i intentem alumimentar un arduino. Crec que la circuiteria es facil i podem fer servir una pila recargable de 9v per carregarla amb les plaques i per alimentar l’arduino.

Solar_Panel

Add comment 24 juny 2009

Arduino en el sector industrial

Me estreno en el blog para comentaros mi última experiéncia con Arduino.

Como antecedentes decir que estoy trabajando dentro del sector industrial y nos apareció un problema con una maquina: un fallo en la regulación de velocidad de un gran motor hidráulico. Este motor incorporaba un sensor de velocidad que entrega una salida de 4 a 20mA, un valot típico en el mundo de la industria.

Gracias a tener un Arduino a mano hemod podido diagnosticar de forma fiable y sobretodo económica el problema de velocidad. Añadí una resistencia de 100 Ohms a la salida del sensor de velocidad, así obtenia una tensión de hasta 2 Voltios que la podia medir por una de las entradas analógicas de Arduino. Y tan fácil como leer este valor cada 200 milisegundos, enviarlo por el USB (El colmo de la programación simple) y registrarlo con un ordenador con el programa DataLogger (gratuito:  http://www.eltima.com/products/rs232-data-logger/ ) . Luego los datos los leí con excel y tube una gráfica la mar de chula.

Con la gŕafica registrada desde Arduino durante varios minutos pudimos comprobar que la velocidad tendia a inestabilizarse, aunqué a ojo no hubiesemos sido capaces de ver nada.

Salut!

3 comments 23 juny 2009

Previous Posts


Enllaços

Fotos de Projectes

Imagen041

Imagen030

More Photos