domingo, 31 de julio de 2011

Afinando la guitarra con la barrera óptica.

 

Aprovechando la barrera óptica que armé para medir la velocidad de la flecha, sin muchas variantes podemos hacer una buena prueba midiendo la frecuencia de resonancia de las cuerdas de una guitarra.

clip_image002

De nuevo quiero aclarar que estos trabajos son didácticos, para aplicar conceptos y verificar en la práctica fenómenos físicos, estimulan y entusiasman, seguramente muchos me dirán que con un micrófono y un osciloscopio pueden medir también la resonancia y es correcto.

Colocar el láser se ponía incómodo, por eso decidí usar los diodos emisores de infrarrojo que saque de la placa del Mouse, los transparentes, la ventaja que tienen es que son bien planos y se pueden fijar a una superficie que se desplaza por debajo de las cuerda. El receptor es el mismo de la prueba con la flecha

clip_image004

El terminal mas bajo en el interior del plástico es el positivo, como acá puede verse tiene una lente para concentrar los rayos infrarrojos

clip_image006

El código para el arduino también es el mismo que usamos antes.

Con un soporte ponemos por debajo de la cuerda el led infrarrojo y por encima el receptor

clip_image008

El led esta fijo con cinta tipo Scotch, observe que la parte donde está la lente va hacia arriba

clip_image010

Aca el dispositivo montado.

Los led infrarrojos estimulan muy bien al sensor aunque estén a bastante distancia (5 o 6 cm)

Una vez montado y puesto en marcha el arduino, vamos a grabar el archivo con los datos en RealTerm, como comenté en trabajo de medición de velocidad de una flecha.

Se va a Port, elegir 115200 baudios y Com3, dar Change

Deben aparecer en la pantalla negra del programa las dos columnas de datos, los milisegundos y la intensidad de la señal que recibe el sensor.

Se ajusta moviendo el led hasta obtener la mayor lectura posible, una vez hecho esto se corre hasta dejarlo exactamente por debajo de cuerda que se va a medir.

Ahora vamos a Capture en RealTerm y le damos un nombre al archivo, por ejemplo Quinta y activamos con Start: Overwrite. Hacemos sonar la cuerda elegida y cerramos el cuadro de dialogo con Stop Capture.

Bien ya tenemos el archivo de datos y lo visualizamos con Kst2, Se abre Data Wizard, se busca el archivo que obtuvimos con RealTerm, “Quinta”, vamos a Configure… allí desmarcamos Read field names from lines, y elegimos Space/tab delimited, damos Ok y next, aparecen 2 columnas, pasamos la columna 2 a la derecha y next, , siguientes dos pantallas, next y finish, Para los que aún no tienen el arduino y quieren ir familiarizándose con el soft, dejo un archivo de datos con las ondas de la Quinta cuerda (La misma de las fotos de este documento), pueden bajarlo de acá, para ir practicando.

Si todo fue bien debemos obtener una gráfica como esta:

clip_image012

Con el mouse seleccionamos una zona, puede ser cualquiera

clip_image014

De esta manera podemos ir agrandando la secuencia de ondas hasta el tamaño que creamos conveniente y que nos permita medir cuantos ciclos hay por ejemplo en 20 milisegundos

clip_image016

Como puede apreciarse cada 20 mSeg hay 1.5 ciclos, (fijarse entre los 66840 y 66860 mSeg ), con este dato podemos calcular que esa cuerda resuena a 75 ciclos por segundo o sea 75 Hz.

A mi guitarra la he afinado yo, que no tengo oído ni para tocar el timbre, está mal afinada, ya que esa frecuencia podría bien corresponder a la sexta cuerda.

Los valores que encontré para una guitarra afinada son los siguientes:

Cuerda

Frecuencia en Hz

Primera

329

Segunda

247

Tercera

196

Cuarta

146

Quinta

110

Sexta

82

Alguno con más habilidad para programar arduino puede hacer que éste calcule la frecuencia y la muestre en el monitor o un display transformando el dispositivo en un afinador de guitarras electrónico

La gráfica que se obtiene de las cuerdas corresponde a la de una onda atenuada, tipo de gráfica que también se da con un fleje elástico sujeto a un extremo, es otra de las variantes en que se puede usar el dispositivo.

domingo, 24 de julio de 2011

Mejorando las prestaciones del microscopio óptico (3ra parte)

Resolución

Una de las formas de mejorar la resolución de un microscopio es elegir la iluminación adecuada.

La resolución es lo que nos permite ver dos puntos cercanos en una imagen por separado y no en una misma mancha, por ejemplo vamos en la ruta y vemos venir un automóvil a lo lejos con sus luces encendidas, al principio solo vemos una luz, a medida que se acerca llega un punto que distinguimos ambos faros, ese es el límite de resolución de nuestra vista en esas condiciones. Con el microscopio ocurre lo mismo, hay tres factores que intervienen en la resolución de un microscopio, la calidad del objetivo es una, la refracción de la muestra que se mejora notablemente empleando aceite de inmersión y la longitud de onda de la luz  de iluminación, cuanto mas corta sea mayor será la resolución, sabemos que en el espectro visible, el rojo es la onda mas larga y el violeta la mas corta, por tanto si iluminamos con una lámpara rica en rojos, la resolución será mas pobre que si iluminamos con una luz azul.

Como ilustración he conseguido los espectros de la luz solar, la luz blanca de led y la luz halógena

 

todos

Imagen tomada de:

http://www.hondask.es/foro/showthread.php?2404-xenon-rosa/page2 

Como puede apreciarse la luz de Led tiene una buena componente de luz azul, no así la luz de halógeno, la que además, tiene un consumo considerable y una buena porción de infrarrojos que aumentan la temperatura, en verano se hace notar esta particularidad

La reforma de mi microscopio LOMO, este microscopio es muy antiguo tiene mas de 30 años y además tiene una buena campaña de uso, originalmente traía una lámpara de 25W que se conectaba directamente a 220v sin transformador, lo que a mi gusto lo hacía peligroso (electrocución) y la iluminación era de tono amarillento, traía un concentrador hecho con una lente convergente. 

resolucion 006 []

resolucion 007 []

Se puede ver a simple vista el amarillo de la luz

resolucion []

Con una linterna de leds, para el trabajo utilicé una igual que esta, pero de color azul

resolucion 002 []

En aluminio tornee una pieza que encaja justo en la base del microscopio

resolucion 003 []

En la parte superior encaja la linterna a la que le he cortado una parte

resolucion 008 []

Acá puede verse la luz bien blanca.

 resolucion 009 []

El pobre microscopio esta bastante castigado, lleva 30 años ininterrumpidos de trabajo

La fuente, para no estar alimentando con pilas, construí una sencilla fuente que suministra 3v a 2 A regulados

resolucion 004 []

resolucion 005 []

El diagrama de la fuente es básicamente el de este página, el tansformador que usé es de 6v 2A. Y el transistor final en lugar del 2n3055 usé otro que tenía.

http://www.proyectopic.com.ar/circuitos_e/fuente/Fuentereg.htm

fuente

No hay que pensar que este cambio en la iluminación va a producir un cambio sustancial en la calidad, sin embargo si puedo asegurar que hay mejor nitidez que con la luz original.

sábado, 16 de julio de 2011

Midiendo la velocidad de una flecha con un Mouse viejo y el arduino

Muy cierto es que de muchas formas se puede medir la velocidad de una flecha, pero esta me parece una muy buena y aplicando moderna tecnología

Este práctico esta inspirado en un trabajo de dos capacitadores del INET (Instituto Nacional de Educación Tecnológica), Leo Monti y Javier Maldonado, muchas gracias y a no reclamar derecho de autor.

Midiendo la velocidad de la flecha que interrumpe una barrera óptica

clip_image002

clip_image004

clip_image006

Como pueden ver para algo sirven los libros je je..

clip_image008

Para hacerlo necesitaremos los siguientes materiales, (además de una ballesta o un rifle de aire comprimido), la placa arduino que ya les comenté es una interesantísima herramienta (ver acá) un mouse viejo del tipo a bola, un puntero láser y soportes la pc y un par de software que se pueden bajar de la red.

Se preguntarán para que el mouse? Bueno en las plaquetas de la electrónica de estos aparatos que todo buen juntamugre debe guardar celosamente, hay dos sensores infrarrojos que en este caso vamos a usar como sensores de luz.

clip_image010

clip_image012

Aquí están marcados los dos sensores que posee, sacamos la placa completa del ratón y la vamos a alimentar directamente de la placa arduino, si se fijan ambos sensores (los negros con la pinta verde), tienen delante una rueda, al sacar la plaqueta esa rueda queda en la caja del Mouse, ahora frente al sensor queda una especie de plástico transparente que es un diodo emisor de infrarrojos, para nuestro trabajo usaremos el sensor de la derecha asi que con un soldador sacamos led (el transparente) eso nos dejará libre la pasada para estimular con un puntero láser el fotodiodo, que asi se llama.

Para no entrar en líos vamos a alimentar toda la placa, en casi todos los mouses que desarmé el cable azul es el positivo y el verde el negativo, pero para estar mas seguros vamos a ver el capacitor electrolítico (esta indicado en la imagen anterior) que esta inmediatamente sobre el sensor que vamos a usar, este tiene marcado sus patas asi no le erramos, sacamos de la pata positiva un cable rojo y de la negativa uno negro la salida que sensará la luz la sacaremos soldando un cable a la pata izquierda del fotodiodo en esta imagen puede verse bien

clip_image014

Una vez hecho esto nos quedan 3 cables, el rojo (positivo) el negro (negativo) y un tercer cable que es la salida del sensor en este caso verde.

Para que funcione mejor deberemos colocar toda la placa en una caja de cartulina negra dejando un orificio por donde entre un pequeño tubo plástico negro como se ve en la figura

clip_image016

clip_image018

En la foto se ve la placa arduino sobre el protoboard sujeta con una bandita de goma y la caja negra donde sobresale el caño plástico que deja una entrada al sensor. También sujeta con bandita.

Las conexiones, el rojo a los 5V de la placa arduino, el negro a GND y la salida del sensor al pin A0.

El código para el arduino es este:
/*
Barrera de luz
*/
// to the pins used:
const int analogInPin = A0; // acá entra el cable que viene del fototransistor
int sensorValue = 0; //
//int outputValue = 0; //
unsigned long time;
void setup() {
Serial.begin(115200);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// print the results to the serial monitor:
//Serial.print("Time: ");
time = millis();
Serial.print(time);
Serial.print(" ");
Serial.println(sensorValue);
}

Una vez cargado el código en el monitor serial (ajustados los baudios a 115200) podemos ver dos columnas, la primera marca los milisegundos y la otra los valores que ve el sensor. Algo así:

1418719   87

1418721   87

1418722   88

1418724   87

1418725   87

Bueno que hacemos con eso, nos vamos a bajar de la red dos programas, el RealTerm, y el Kst2 , el primero es el que fabrica el archivo para que el Kst luego lea las columnas de datos.

Instalamos los software

Con la tarjeta arduino conectada corremos Realterm, vamos a Port

clip_image020

clip_image022

Se cambian los baudios a 115200 y la com a 3 y se pica Change.

Si todo va bien deberemos ver las dos columnas, con los milisegundos y lo que e sensor ve, en este caso 0

Luego pasamos “Capture”

clip_image024

En File escribimos el nombre del archivo que va a contener los datos, en este caso “prueba2” picamos sobre Start Overwirite.

clip_image026

Aparece esta pantalla y se detiene el paso de datos, sin embargo esta grabando, asi que con el programa en este estado haremos las pruebas (lanzar la flecha que pase justo sobre la barrera óptica).

Una vez terminamos picamos stop Capture, y nos queda ya el archivo prueba2 con todos los datos.

Ahora abrimos:

clip_image028

clip_image030

Picamos sobre Wilzard

clip_image032

Buscamos el archivo prueba2

Ahora picamos Configure

clip_image033

Ponemos los valores como muestra la imagen y pulsamos OK

clip_image035

Acá nos aparecen las dos columnas del archivo, elegimos columa2 y la pasamos al lado derecho

clip_image037

Ahora Next

clip_image039

En Create from field, elegimos Columna 1 y el resto como indica la imagen, seguimos con Next (Esto parece complicado pero es muy sencillo una vez que lo hacemos varias veces)

clip_image041

Ultima entrada, podemos dejar tal cual, picamos Finish para que aparezca la curva

clip_image043

Bueno esta es la curva, entre 345000 350000 milisegundos vemos una línea que es la pasada de la flecha por la barrera óptica, el KST permite ampliar el sector y asi poder ver cuanto tiempo duró la pasada

clip_image045

Bueno vemos que la pasada de la flecha duró 6 milisegundos, desde 346936 hasta 34942

Como usamos los datos

Largo de la flecha: 16 cm

Distancia de la punta de la flecha al rayo láser: 9cm

Tiempo medido con el dispositivo: 0.006 seg

El peso de la flecha es de: 6.07gr

Calculando velocidad

Velocidad= ∆e/∆t= 0.16m/0.006 seg= 25m/seg

Si bien el dato parece insignificante, y mi ballesta es de juguete en el espacio de 9 cm alcanzó una velocidad de 90Km/h!!!!

Calculando aceleración:

aceleración= (Vfinal)^2-(Vinicial)^2/2 *distancia

a=(25m/seg)^2-(0m/seg)^2/ 2 *0.09m= 3472 m/seg^2

Esa aceleración equivale a 354 G, un ser humano es capaz de soportar en el mejor de los casos hasta 18 G, es decir si existiera un aparato que pudiera lanzar a una persona con la misma fuerza proporcional al de la ballesta de juguete no sobreviviría

Calculando energía cinética:

E=mv^2/2

E= 0.006Kg * (25 m/seg)^2/2 = 1.87 Julios

Otra prueba con el mismo dispositivo pero usando un rifle de aire comprimido, con un balín un poco mas largo para que pueda hacerse la lectura, el balín normal era muy corto y excedía la sensibilidad del sensor (posiblemente mejorando el código podría lograrse pero estoy muy verde aún en esto)

clip_image047

El rifle de aire comprimido

clip_image049

clip_image051

Los proyectiles, el balín de aluminio de 4 cm y la flecha de la ballesta

Los datos que obtuve con el rifle de aire fueron los siguientes:

Datos:

Largo del balín: 4.1 cm

Distancia desde la punta del balín al rayo láser: 45.5 cm

Peso del balín: 2.41gr

Tiempo medido con el dispositivo:

clip_image053

El tiempo fue de 3 milisegundos

Se pueden hacer los mismos cálculos que antes.

Se pueden medir velocidades de vehículos, bengalas, o cañas voladoras y otras cosas que se nos puedan imaginar.

miércoles, 6 de julio de 2011

La placa ARDUINO

Hace unos días recibí una placa arduino que compré por ebay, muy económica U$A 20 incluído el envío y el cable de conexión a usb. Esta placa es de código abierto y hardware libre con un microcontrolador te la podes armar si queres, aunque como es tan económica casi no conviene, arduino es una plataforma que sirve para infinidad de proyectos, puede trabajar online o alimentada por una fuente externa sin necesidad de que esté conectada a la PC. En la red se puede encontrar mucha información al respecto, utiliza un tipo de programación basada en Processing/Wiring , yo se muy poco de programación sin embargo en un par de días y en forma intuitiva he logrado hacer varios programitas, entre los cuales esta uno para completar el Termometro electrónico de fácil construcción que esta descrito en este mismo blog y más aún transformarlo en un termostato electrónico que puede servir para mantener temperaturas de una estufa de cultivo, de un baño maría o lo que fuera o simplemente para acotarlo de tal manera que indique que una persona tiene fiebre

Como recién estoy comenzando con este tema solo agregaré algunas fotos de la placa y como se trabaja con los paneles protoboard que son muy prácticos para hacer proyectos de electrónica sin usar el soldador y de forma experimental.

termometroarduino 001 (Medium)

Esta es la placa Duemilanove en la parte superior los pines digitales y el la inferior salidas de tensión y pines analógicos. El chip largo es el Atmega328 de32kb, en la parte superior izquierda el cable USB y en la inferior izquierda la entrada para fuente3 externa

termometroarduino 002 (Medium)

Este es un panel protoboard este tiene cuatro secciones la superior y la inferior marcadas con líneas rojas y azules, esos pines están todos conectados en forma horizontal, se los usa para la alimentación, rojo positivo y azul negativo. En la parte central hay dos secciones separadas. Cada columna de 5 pines está eléctricamente unida.

termometroarduino 003 (Medium)

El montaje del termómetro electrónico, el cable de pintas verdes va a los 5v de la placa arduino, el negativo no se ve y esta unido a la fila de donde sale el cable gris de pintas amarillas que es uno de los terminales de la sonda, el blaco de pintas azules es el otro de la sonda que puede verse con su diodo terminal, el cable blanco de pintas negras va al pin0 ananalógico del arduino y la resistencia de 2k2 va entre los 5v y la entrada analógica y la sonda

termometroarduino 004 (Medium)

En esta se ve todo el enredo de cables.

termometro

Con un programa Frizzing puede dibujarse como en este caso. Muy simple no?

termometroarduino 005 (Medium)

La pantalla de la netbook , al costado superior izquierdo la pantalla del monitor serie marcando los mV que entrega el sensor y la temperatura. El código en la pantalla del programa del arduino.

El programa IDE del arduino puede bajarse gratis de http://www.arduino.cc/es/ también hay ejemplos y mucha información.

El programa para el termómetro electrónico lo dejo en el siguiente enlace.

// These constants won't change. They're used to give names
// to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)

void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
pinMode (13, OUTPUT);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin/1024)*4.9; // convierte a mV
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
// change the analog out value:
analogWrite(analogOutPin, outputValue);
int temperatura = (-.54054*sensorValue+375.675);
if(temperatura <=15)
digitalWrite(13,HIGH);
if(temperatura >=17)
digitalWrite(13,LOW);
// print the results to the serial monitor:
Serial.print("mV = " );
Serial.print(sensorValue);
Serial.print(" Temp = ");
Serial.println(temperatura);
// wait 10 milliseconds before the next loop
// for the analog-to-digital converter to settle
// after the last reading:
delay(1000);
}

Puede que no sea lo más prolijo este código, ya que lo reformé de uno de los ejemplos que trae el soft arduino, pero funciona muy bien, lo he programado para que encienda el LED del pin 13 con menos de 15 grados y corte a los 17, pero puede variarse cambiando las siguientes líneas:

if(temperatura <=15) // valor en que enciende el led en pin 13

digitalWrite(13,HIGH);

if(temperatura >=17) // valor en que apaga el led en pin13

digitalWrite(13,LOW);

Obviamente esa señal de encendido y apagado del pin digital 13 del arduino puede usarse para con una electrónica adecuada para que pegue y despegue un relay y de esa forma mantener con una resistencia la temperatura de un recinto, (una incubadora o estufa).

A animarse con arduino que es una herramienta muy interesante.