Desarrollar productos interactivos es una tarea multidisciplinaria. Está relacionado con el diseño industrial, la programación, la experiencia del usuario y las habilidades de diseño gráfico. Arduino es una plataforma de hardware fácil, pero las cosas se complican cuando el software está involucrado en el proyecto, incluso si hay muchas herramientas para la creación de aplicaciones.
Quizás la parte mas complicada de cualquier proyecto que quieras hacer es la integración del Arduino con una computadora. Lo primero que te preguntaras y por que quisiera alguien hacer esto ? la respuesta en muy sencilla porque quieres manejar tu proyecto en Arduino desde una computadora o porque necesitas que Arduino envíe algún dato a una aplicación en tu computadora. Por ejemplo desde mi computadora quiero prender una luz o quiero que Arduino me envié la temperatura dentro del refrigerador.
Pero Arduino solo puede enviar datos en serie y la computadora los podría recibir por un puerto serie (Ejemplo USB), pero luego como diablos los interpreto o uso en alguna aplicación ? pues la respuesta es que se requiere un "driver" algo al medio que sirva de traductor en ambas direcciones. Aquí las opciones son múltiples por ejemplo:
Esta librería JAVA es una compilación de código que establece la comunicación del puerto serie. El archivo se llama RxTxcomm.jar descarga la versión adecuada a tu computadora.
La buena noticia es que el IDE de Arduino esta escrito en JAVA y se comunica con Arduino por el puerto serie gracias a esta librería, de manera que si ya se instalo el IDE no sera necesario que instale nada mas. playground
void setup () { Serial.begin (9600); } void loop () { Serial.println ("Hola mundo"); delay(1000); }
Si quieres ser independiente la IDE, debes copiar rxtxSerial.dll en c:\Windows\System32
Es una librería JAVA de código abierto para el control y la coordinacion de Arduino compuesta de varias librerías:
Es una aplicación que usa la Liberia gráfica SWING de JAVA, que soporta un lindo interfaz gráfico (GUI), con cajas de texto, botones, listas desplegables y tablas.
Involt es un framework que integra Arduino con HTML + CSS + JavaScript + jQuery que trabaja sobre Node-webkit. Puede conectar vía USB o Bluetooth 2.0
//Botón simple que envía al pin 5 el valor 255 //HTML <div class='ard button' pin='P5' value='255'>Clic aqui</div> //CSS <div class='ard button P5 value-255'>Clic aqui</div> //jquery $(this).pinDefine('P5').sendValue(255);
Otro ejemplo de uso seria este:
//Muestra valor de pin A0 <div class="ard show A0"></div>
Para mas detalles consultas las referencias
Es un protocolo asincrono de comunicaciones. La transmisión de datos Wiegand usa tres hilos. La línea para enviar los unos lógicos o DATA1, la línea para hacer lo propio con los ceros lógicos o DATA0 y la línea de masa de referencia de ambos o GND. Los niveles que se usan son ó Bajo, a nivel de GND, o Alto a +5V o VCC. En estado de reposo, o sea: sin transmitir, la línea de GND es exactamente lo que es GND y siempre está en bajo y ya no nos referiremos más a ella, y las líneas DATA1 y DATA0 están en alto, a nivel de +5V ó VCC. Para transmitir un Bit 1 lo que se hace es mandar un pulso a Bajo, normalmente de 50 us de duración, por la línea DATA1, mientras DATA0 permanece en Alto. Para transmitir un Bit 0 lo que se hace por el contrario es mandar un pulso a Bajo, también de la misma duración 50 us, por la línea DATA0, mientras ahora es DATA1 la que permanece en Alto. Normalmente la separación entre cada pulso y el siguiente es de unos 2 ms. Como puedes ver, y a diferencia de los protocolos mencionados anteriormente, los dos tipos de Bits, ceros y unos, son transmitidos de forma idéntica aunque por líneas distintas.