jueves, 28 de agosto de 2014

Arduino - Comunicación con el PC

Usaremos un Arduino Mega 2560 para nuestra introducción a las comunicaciones del PC con el mundo exterior.

Las placas arduino usan el protocolo de comunicación de los puertos SERIE, y así debemos entenderlos, aunque físicamente estará conectado al PC por medio del puerto USB y no por el puerto serial COM.

USB son las siglas de Universal Serial Bus.
En ordenadores, un bus es un subsistema que transfiere datos o electricidad entre componentes del ordenador dentro de un ordenador o entre ordenadores. Un bus puede conectar varios periféricos utilizando el mismo conjunto de cables.
(http://www.masadelante.com/faqs/usb)



(en edición...)

Arduino

Durante la búsqueda de control externo de dispositivos utilizando un PC, me encontré hace ya varios meses con el Arduino, y resulto ser la puerta para un fascinante mundo de posibilidades. Finalmente abandone los intentos de control a través del puerto paralelo al ver la limitante de pines que tenia, (máximo 12).

Arduino resulto ser mas que una opción, se convirtió en el centro de mis proyectos y finalmente en el eje de mi proyecto principal... Una casa domotizada al alcance de un bajo presupuesto, pero con las posibilidades mas allá de lo que se consigue en el mercado. Y SI. lo he logrado, ahora estoy en la etapa de montaje final de la casa modelo.

Voy a compartir las experiencias, logros y dificultades que he tenido llevando a cabo el proyecto y se hace fundamental el profundizar sobre el manejo de ARDUINO.

El primer punto sobre control por medio del PC es enviar información al dispositivo de comunicación con el mundo exterior (interface electrónica) usando el método binario ( ceros y unos), y lograr controlar un LED para encenderlo y apagarlo según sea nuestro deseo, después usar esa corriente para activar un relee y encender otros aparatos en casa. Y SI, hacerlo por medio de el puerto paralelo es posible y de hecho resulto siendo fácil de emplear, solo que tenia una limitante de 12 posibles dispositivos a controlar, ya que el puerto paralelo tiene 8 terminales (entradas/salidas ) y otros 4 mas de control, de tal manera que para usar mas dispositivos requería de multiplexar los terminales y así multiplicar las posibilidades.

Uno de los grandes inconvenientes resulto ser el sistema operativo, yq ue en versiones superiores de Windows el puerto esta deshabilitado, y en la mayoría de los casos los portátiles no traían este puerto, aun mas, muchas de las nuevas board ya no lo incluían. Así pues que termine buscando otras opciones y me encontré con Arduino, y las cosas cambiaron totalmente

Para los que aun no saben que es...

Arduino es una placa de electrónica (hardware libre) con un microprocesador ATMEL, y un entorno de desarrollo propio, que permiten interactuar de una forma muy sencilla con dispositivos adicionales.

La comunicación entre el PC y el Arduino se puede hacer directamente por el puerto USB, o si se quiere, usar el puerto serie del PC para enviar o recibir información. En mi caso uso el puerto USB.

una de las grandes ventajas es que puedo usar mas de una placa Arduino al tiempo y cada una sera reconocida en un puerto USB diferente.

La cantidad de pines (conexiones) varia según el modelo de Arduino que se use. En nuestro caso se requería el mayor numero de pines así que opté por los modelos Mega.

Para mis proyectos he usado la versión de Arduino MEGA 2560 por tener mas de 70 puertos de entrada y salida. y permitir una comunicación con el PC y 3 puertos de comunicación adicionales, que resultaron ser esenciales a la hora de controlar casas grandes con muchas luces y sensores.

Vamos a detallar varios ejemplos de uso de Arduino en pequeños proyectos que ayudaran a entender y aprender un poco mas sobre esta fascinante placa.

  • Comunicación con el PC
  • Receptor Infrarojo
  • Interfaces - Teclado
  • Interfaces - Mouse
  • Control de motores PAP (unipolar)
  • Control de motores PAP (bipolar)
  • Control de servomotor
  • Control de luces externas (120v)