jueves, 4 de noviembre de 2010

Conexión arduino + SharpDevelop!!!

Hace algún tiempo había publicado como conectar arduino con visual studio, ahora le toca el turno a SharpDevelop. Una opción libre para el desarrollo en C# y otros lenguajes.

1. Descarga el SharpDevelop.

2. Luego de tenerlo instalado vamos a crear una nueva solución, del tipo: Aplicación WPF, a la cual se le asigna un nombre en mi caso SerialPort.

3. Creamos una interfaz para este caso, se tienen cuatro botones: buttonOpen, buttonOn, buttonOff, buttonClose. Cada uno permite realizar respectivamente(conexión, encender led, apagar led y cerrar la conexión).

4. Cuando se presione un botón ocurre un evento el cual se ejecuta. Por ejemplo si se quiere abrir la conexión:

void Button1Click(object sender, EventArgs e)
{
//configuring the serial port COM7
serialPort1.PortName="COM7";
serialPort1.BaudRate=9600;
serialPort1.DataBits=8;
serialPort1.Parity=Parity.None;
serialPort1.StopBits= StopBits.One;
//opening the serial port
serialPort1.Open();
}

O para enviar la orden de prender y apagar enviamos un carácter: p (Prender), a(apagar).

void Button2Click(object sender, EventArgs e)
{
serialPort1.Write("p");
}

void Button3Click(object sender, EventArgs e)
{
serialPort1.Write("a");
}

El programa desarrollado en Arduino, lee el byte enviado y lo interpreta en código ASCII.

//Arduino SharpDevelop
int ledPin = 13; // LED connected to digital pin 13
int incomingByte = 0; // for incoming serial data

// The setup() method runs once, when the sketch starts

void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
// read the incoming byte:
incomingByte = Serial.read();

if(incomingByte != -1)
{
Serial.println(incomingByte);
if(incomingByte == 112)//p
{
digitalWrite(ledPin, HIGH);
}
else if(incomingByte == 97)//a
{
digitalWrite(ledPin, LOW);
}
}
}

El código es el siguiente:

https://sites.google.com/site/prgramsvarius/


Conversor de Temperatura en Labview

Conversor de Temperatura

jueves, 7 de octubre de 2010

Programa en Vivo: Corto Circuito

El día 14 de Octubre de 2010 se llevará a cabo el primer programa en vivo de la empresa planetaduino  sobre el mundo del open hardware.

cortoCircuitoEvent 

Luego el día 16 de Octubre de 2010 planetaduino dictará el taller : Bit y Voltio, en la Universidad Autónoma de Manizales con un valor de $ 20.000, bastante económico para los quieren meterse en el mundo del open hardware.

 

cortoCircuitoEvent2

Para más información: http://www.planetaduino.com/site/2010/10/bit-y-voltio/

miércoles, 6 de octubre de 2010

Led Cubo de 3x3x3 con Arduino

Hace un mes publique dos videos de mi Led Cubo de 3x3x3. Fue un proyecto que hace algún tiempo deseaba realizar.

DSC00868

Los elementos usados son:

  • 12 Resistencias de 220 Ohmios
  • 3 Transistores 2N3904
  • 27 Leds
  • 1 Arduino (Atmega328)
  • 1 Baquela
  • Cables 
  • Cautín, Pasta para Soldar y Estaño
  • Librería para Arduino LedCube

Para poder realizar un buen trabajo, primero se tuvo que hacer una plantilla que permitiera acomodar los leds de manera que sea fácil soldarlos. Los agujeros realizados con el taladro, deben permitir fijar los leds para que no se muevan durante la soldadura. La distancia entre los leds es de 2 centímetros.

DSC00847

Después de acomodar los leds en la plantilla vamos a doblar los cátodos (es la parte negativa del led, se puede identificar por: la que tiene la parte aplanada en el borde del led o la más corta de las dos, dentro del led es la de mayor tamaño) , de cada led de manera que formen un ángulo de 90 grados.

Ahora empezamos a soldar. Para que se facilite soldar los cátodos de los leds deben apuntar hacia adentro del cubo, dejando los ánodos hacia afuera. Utilice unos  caimanes para que mantengan unidos ciertos puntos mientras se uno los puntos soldados.

DSC00849

DSC00852

Ahora realizar el mismo procedimiento 2 veces más, para obtener un resultado como el que se muestra en la siguiente imagen:

DSC00854 

Para probar que cada led esta funcionando correctamente, probamos con una pila de 3v, la prueba debe mostrar al led encendido.

Luego de tener los tres niveles separados, es hora de juntarlos. Usando la misma plantilla colocamos uno de los niveles en ella, usando algunos caimanes sostenemos el segundo nivel con el puesto en la plantilla. En este caso soldamos son los ánodos de los leds. Por último unir el tercer nivel y soldamos las conexiones a los transistores.

DSC00859

Para el circuito cada uno de los niveles tiene una conexión que va a los transistores los que controlan que nivel se prende y cada una de las columnas se conecta a un pin del Arduino. Cuando el nivel está conectado con la tierra, cada uno de los LEDs en ese nivel puede ser accionado de manera individual a través de uno de los otros nueve pines de Arduino.

DSC00861

DSC00862

Teniendo la parte de electrónica lista, solo hace falta el programa que controle las secuencias que se quieren mostrar. Para este fin descargue la librería LedCube la cual se agregó a la la carpeta libraries del arduino. Trae una carpeta con un ejemplo el cual se puede cargar al arduino y probar el correcto funcionamiento del cubo 3x3x3.

Dejo un link el cual me guió por el proceso y donde se puede descargar la librería para el software del cubo.

Link: http://www.instructables.com/id/LED-Cube-and-Arduino-Lib/

jueves, 30 de septiembre de 2010

Video Prueba PCB

Como hacer PCB de forma sencilla

Los PCB o en inglés (Printed Circuit Board), permiten el montaje en una baquela de componentes electrónicos que por medio de pistas se conectan.

Para comenzar debo decir que hay bastantes formas de hacer PCB en casa, pero esta es la forma como yo construyo mis circuitos. Esto gracias a mi buen amigo Julián G, quien fue la primera persona que me mostro el procedimiento que voy a mostrar.

1. Se debe imprimir en papel brillante o propel en impresora de laser los circuitos realizados previamente en alguna herramienta de diseño (Eagle mi preferido), si no se tiene una impresora de laser se puede ir a una papelería donde la impresión llevando la hoja cuesta unos $ 750 pesos.

2. Limpiar la superficie de cobre para que no tenga impurezas, se puede usar un lijita muy suave puede ser 600 0 400, después lavar con agua, jabón y una esponja y en lo posible luego de estar seca, no tocar con las manos, esto es para evitar que las huellas queden en el circuito.

3. Luego acomodamos en la baquela los circuitos impresos de forma que queden largos, para que por el lado posterior se peguen con un poquito de cinta. Esto evita que se muevan cuando se empieza a aplanchar.

DSC00906

4. Planchamos hasta que se visualice el circuito, eso es al rededor de 20 minutos. NO dejar la plancha encima de la baquela pues el calor produce que se dilate y se dañe. DSC00086 DSC00087 5. Remojamos la baquela luego de aplancharla para quitarle el papel. De modo que quede de la siguiente forma:

DSC00908 6. Cogemos una coquita de plástica en la cual ponemos el circuito para arrojar el cloruro encima de este, en este paso se debe de ser muy cuidadoso pues se puede lastimar o dañar la ropa con la que se esta haciendo el circuito. Es recomendable usar guantes, delantal y tapabocas.

DSC00909

7. Se calienta agua, la cual es vertida encima del cloruro, en lo posible con mucha delicadeza para evitar salpicaduras que manchen la ropa y que sean perjudiciales para la salud. Luego cerramos la coquita para agitarla hasta que solo queden las pistas y el cobre restante halla desaparecido. Esto es mejor hacerlo con una rica malteada de fresa.

DSC00911 8. Luego de un buen rato de estar agitando la coquita el resultado debe ser como la siguiente foto:

DSC00915 9. Luego de retirar la baquela se lava con agua fría, y con una lijita se raspan las vías de los circuitos como se muestra en la foto.

DSC00916

10. Luego se vuelve a lavar con agua se seca y queda lista la baquela para recortarla con un mango-sierra. Para pulir los lados luego de cortar los circuitos use un esmeril . El siguiente paso es la perforación de lo agujeros para los componentes, los que posteriormente se hace la soldadura de los componentes y queda listo para probar.

DSC00108

Para la aplicación de este método decidí probar con un circuito de diseñe. El objetivo del circuito es encender de forma alterna un conjunto de leds que producen un efecto luminoso. La velocidad varía al cambiar es estado del potenciómetro. En las siguientes imágenes se puede ver el esquema, la baquela luego de realizarle el proceso anteriormente explicado, y el resultado final.

image

image DSC00918

DSC00937

JS -2: Tricks and tips

El objecto global de JS es el window. una varaible vive dependiendo de su scope.