como controlar una carga con un arduino

41
¿Cómo controlar una carga desde una PC? INTEGRANTES: CRUZ CASTAÑEDA MIGUEL ANGEL

Upload: miguel-cruz

Post on 11-Apr-2017

63 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Como controlar una carga con un Arduino

¿Cómo controlar una carga desde una PC?

INTEGRANTES:CRUZ CASTAÑEDA MIGUEL ANGEL

Page 2: Como controlar una carga con un Arduino

Arduino HISTORIA

Page 3: Como controlar una carga con un Arduino

¿Como surge Arduino? Arduino nació como un proyecto educativo allá por el año 2005

sin pensar que algunos años más tarde se convertiría en  líder del mundo DIY (Do It Yourself) Hazlo tu mismo.

Su nombre viene del nombre del bar Bar di Re Arduino donde Massimo Banzi pasaba algunas horas, el cual a su vez viene del nombre de un antiguo rey europeo allá por el año 1002.

Banzi dice que nunca surgió como una idea de negocio, es más nació por una necesidad de subsistir ante el eminente cierre del Instituto de diseño Interactivo IVREA en Italia.  Es decir, al crear un producto open hardware (de uso público) no podría ser embargado.  Es más hoy en día Arduino tiene la difícil tarea de subsistir comercialmente y continuar en continuo crecimiento.

A la fecha se han vendido más de 250 mil placas en todo el mundo sin contar las versiones clones y compatibles.

Page 4: Como controlar una carga con un Arduino

¿A base de quien surge? Para su creación participaron alumnos que

desarrollaban sus tesis como Hernando Barragán (Colombia) quien desarrollo la

plataforma de programación Wiring con la cual se programa el microcontrolador

Jefe de Mantenimiento Electrónico en Polymer Group Inc

En Colombia El primer prototipo fue de en el instituto IVRAE.

Page 5: Como controlar una carga con un Arduino

Primer Arduino

Page 6: Como controlar una carga con un Arduino

Para la producción en serie de la primera versión se tomaron en cuenta algunas consideraciones: Economía (no mayor a 30 Euros), debía ser Plug and Play, utilizaron el color azul para marcar una diferencia con las placas convencionales, trabajar en todas las plataformas (Mac, Windows y Linux).

La primera producción fue de 300 unidades y se las dieron a los alumnos del Instituto IVRAE, (las ganancias fueron de sólo 1 dollar por placa), con el fin de que las probaran y empezaran a diseñar sus primeros prototipos.

Page 7: Como controlar una carga con un Arduino

Los puertos serie son la forma principal de comunicar una placa Arduino con un ordenador.

Existen un sin fin de posibilidades en las que se requiere el empleo del puerto serie. Por tanto el puerto serie es un componente fundamental de una gran cantidad de proyectos de Arduino, y es uno de los elementos básicos que debemos aprender para poder sacar todo el potencial de Arduino.

Page 8: Como controlar una carga con un Arduino

COMUNICACIÓN DE ARDUINOCON PUERTO SERIE

Page 9: Como controlar una carga con un Arduino

¿QUÉ ES EL PUERTO DE SERIE?Un puerto es el nombre genérico con que denominamos a los interfaces, físicos o virtuales, que permiten la comunicación entre dos ordenadores o dispositivos.

Un puerto serie envía la información mediante una secuencia de bits.

Para ello se necesitan al menos dos conectores para realizar la comunicación de datos, RX (recepción) y TX (transmisión).

Page 10: Como controlar una carga con un Arduino

Puerto Serial

Page 11: Como controlar una carga con un Arduino

¿Qué es el puerto de serie?Un puerto es el nombre genérico con que denominamos a los interfaces, físicos o virtuales, que permiten la comunicación entre dos ordenadores o dispositivosUn puerto serie envía la información mediante una secuencia de bits. Para ello se necesitan al menos dos conectores para realizar la comunicación de datos, RX (recepción) y TX (transmisión). No obstante, pueden existir otros conductores para referencia de tensión, sincronismo de reloj, etc. Puerto en una computadora

Page 12: Como controlar una carga con un Arduino

Puerto Paralelo Por el contrario, un puerto paralelo envía la información

mediante múltiples canales de forma simultánea. Para ello necesita un número superior de conductores de comunicación, que varían en función del tipo de puerto. Igualmente existe la posibilidad de conductores adicionales además de los de comunicación. El EPP (puerto paralelo mejorado) alcanza velocidades de 8 a 16 Mbps

El ECP (puerto de capacidad mejorada), desarrollado por Hewlett Packard y Microsoft. Posee las mismas características del EPP con el agregado de un dispositivo Plug and Play que permite que el equipo reconozca los periféricos conectados.

Page 13: Como controlar una carga con un Arduino

Un ordenador convencional dispone de varios puertos de serie. Los más conocidos son el popular USB (universal serial port) y el ya casi olvidado RS-232 (el de los antiguos ratones). Sin embargo, dentro del ámbito de la informática y automatización existen una gran cantidad adicional de tipos de puertos serie, como por ejemplo el RS-485, I2C, SPI, Serial Ata, Pcie Express, Ethernet o FireWire, entre otros.

Antes de conectar dos sistemas debemos comprobar que los voltajes empleados son compatibles. En caso de no serlo, necesitaremos un subsistema que adapte los niveles de la señal, o podemos dañar alguno de los dispositivos.

Page 14: Como controlar una carga con un Arduino

Un ordenador convencional dispone de varios puertos de serie. Los más conocidos son el popular USB (universal serial port) y el ya casi olvidado RS-232(el de los antiguos ratones). Sin embargo, dentro del ámbito de la informática y automatización existen una gran cantidad adicional de tipos de puertos serie, como por ejemplo el RS-485, I2C, SPI, Serial Ata, Pcie Express, Ethernet o FireWire, entre otros.

Pin FunciónTXD  (Transmitir Datos)RXD (Recibir Datos)

DTR (Terminal de Datos Listo)

DSR (Equipo de Datos Listo)

RTS (Solicitud de Envío)

CTS (Libre para Envío)

DCD (Detección de Portadora)

Page 15: Como controlar una carga con un Arduino

ARDUINO Y EL PUERTO SERIE

Page 16: Como controlar una carga con un Arduino

Los puertos de serie como UART. (universally asynchronous receiver/transmitter) es una unidad que incorporan ciertos procesadores, encargada de realiza la conversión de los datos a una secuencia de bits y transmitirlos o recibirlos a una velocidad determinada.

Los puertos TTL (transistor-transistor logic). Significa que la comunicación se realiza mediante variaciones en la señal entre 0V y Vcc (donde Vcc suele ser 3.3V o 5V). Por el contrario, otros sistemas de transmisión emplean variaciones de voltaje de -Vcc a +Vcc (por ejemplo, los puertos RS-232 típicamente varían entre -13V a 13V).

Page 17: Como controlar una carga con un Arduino

Prácticamente todas las placas Arduino disponen al menos de una unidad UART. Las placas Arduino UNO y Mini Pro disponen de una unidad UART que operan a nivel TTL 0V / 5V, por lo que son directamente compatibles con la conexión USB. Por su parte, Arduino Mega y Arduino Due disponen de 4 unidades UART TTL 0V / 5V.

Muchos modelos de placas Arduino disponen de un conector USB o Micro USB conectado a uno de los puertos de serie, lo que simplifica el proceso de conexión con un ordenador. Sin embargo algunas placas, como por ejemplo la Mini Pro, prescinden de este conector por lo que la única forma de conectarse a las mismas es directamente a través de los pines correspondientes.

Page 18: Como controlar una carga con un Arduino

El puerto serie del Arduino Uno, usa los pins 0(RX) y 1(TX). Estos están conectados al controlador FTDI (ATmega 16u2) que es el que permite la traducción del formato serie TTL a USB. Estos pins no pueden ser utilizados mientras se usa la comunicación serie.

Debido a que el uso de este puerto ha quedado un poco en desuso a favor de la tecnología USB, Arduino cuenta con un convertidor de Serial a USB que permite a nuestra placa ser reconocida por nuestra computadora como un dispositivo conectado a un puerto COM aún cuando la conexión física sea mediante USB.

Arduino IDE nos proporciona una herramienta que nos permite enviar y visualizar los datos que se manejan a través del puerto Serie. Dicha herramienta se conoce como Monitor Serial y se puede encontrar en el menú de herramientas, en la opción “Monitor Serial”. Es la forma más simple que existe para establecer la comunicación serial con Arduino.

Page 19: Como controlar una carga con un Arduino

Processing Processing es un lenguaje de programación open source

(código abierto) y un ambiente de trabajo para personas que quieran programar imágenes, animaciones e interacciones. Es usado por estudiantes, artistas, diseñadores y aficionados para el aprendizaje, creación de prototipos y producción. Está creado para enseñar los fundamentos de programación dentro de un contexto visual y para servir como un cuaderno de bocetos de software y una herramienta de producción profesional.

Page 20: Como controlar una carga con un Arduino

El monitor de puerto serie es una pequeña utilidad integrada dentro de IDE Standard que nos permite enviar y recibir fácilmente información a través del puerto serie. Su uso es muy sencillo, y dispone de dos zonas, una que muestra los datos recibidos, y otra para enviarlos. Estas zonas se muestran en la siguiente imagen.

Page 21: Como controlar una carga con un Arduino

AVR Los AVR son una familia de microcontroladores RISC del fabricante

estadounidense Atmel. La arquitectura de los AVR fue concebida por dos estudiantes en el Norwegian Institute of Technology, y posteriormente refinada y desarrollada en Atmel Norway, la empresa subsidiaria de Atmel, fundada por los dos arquitectos del chip. Cuenta con bastantes aficionados debido a su diseño simple y la facilidad de programación. Se pueden dividir en los siguientes grupos :

Page 22: Como controlar una carga con un Arduino

ATxmega: procesadores muy potentes con 16 a 384 kB de memoria flash programable, encapsulados de 44, 64 y 100 pines (A4, A3, A1), capacidad de DMA, eventos, criptografía y amplio conjunto de periféricos con DACs.

ATmega: microcontroladores AVR grandes con 4 a 256 kB de memoria flash programable, encapsulados de 28 a 100 pines, conjunto de instrucciones extendido (multiplicación y direccionamiento de programas mayores) y amplio conjunto de periféricos.

ATtiny: pequeños microcontroladores AVR con 0,5 a 8 kB de memoria flash programable, encapsulados de 6 a 20 pines y un limitado set de periféricos.

AT90USB: ATmega integrado con controlador USB AT90CAN: ATmega con controlador de bus CAN Tipos especiales: algunos modelos especiales, por ejemplo, para el

control de los cargadores de baterías, pantallas LCD y los controles de los motores o la iluminación.

Page 23: Como controlar una carga con un Arduino

Barato: Las placas Arduino son relativamente baratas comparadas con otras plataformas microcontroladoras.

Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows, Macintosh OSX y GNU/Linux. La mayoría de los sistemas microcontroladores están limitados a Windows.

Entorno de programación simple y claro: El entorno de programación de Arduino es fácil de usar para principiantes, pero suficientemente flexible para que usuarios avanzados puedan aprovecharlo también. Para profesores, está convenientemente basado en el entorno de programación Processing, de manera que estudiantes aprendiendo a programar en ese entorno estarán familiarizados con el aspecto y la imagen de Arduino.

Page 24: Como controlar una carga con un Arduino

Código abierto y software extensible: El software Arduino está publicado como herramientas de código abierto, disponible para extensión por programadores experimentados. El lenguaje puede ser expandido mediante librerías C++, y la gente que quiera entender los detalles técnicos pueden hacer el salto desde Arduino a la programación en lenguaje AVR C.

Código abierto y hardware extensible: El Arduino está basado en microcontroladores ATMEGA8 y ATMEGA168 de Atmel. por lo que diseñadores experimentados de circuitos pueden hacer su propia versión del módulo, extendiéndolo y mejorándolo. Incluso usuarios relativamente inexpertos pueden construir la versión de la placa del módulo para entender como funciona y ahorrar dinero.

Page 25: Como controlar una carga con un Arduino

CONEXIÓN DE ARDUINO CON UN ORDENADOR

Page 26: Como controlar una carga con un Arduino

1-Consigue un Arduino y un cable USB 2-Descarga el IDE de Arduino

3-Conecta la placa 4-Instala los drivers

1 | Consigue un Arduino y un cable USB En este tutorial asumimos que estás usando un

placa  Arduino UNO Si tienes cualquier otra placa necesitas leer la página correspondiente a la placa que uses.

También necesitarás un cable estándar USB (conexión A a conexión B), como los que se usan para conectar, por

ejemplo, una impresora USB. (En el caso de la placa Arduino Nano necesitarás un cable de conexión A a conexión mini-B).

Pasos Para Conexión

Page 27: Como controlar una carga con un Arduino

2 | Descarga el IDE de ArduinoDescarga la última versión de la página oficial.Cuando la descarga finalice, descomprime el

fichero. Asegúrate de mantener la estructura de directorios. Haz doble click en la carpeta arduino-00XX para abrirla. Deberías ver una serie de ficheros y carpetas ahí dentro.

Page 28: Como controlar una carga con un Arduino

3 | Conecta la placa Conecta la placa Arduino a tu ordenador usando el

cable USB. el LED verde indicador de la alimentación (nombrado como PWR en la placa) debería quedar encendido a partir de ese momento.

En las placas Arduino Duemilanove y Arduino Nano la fuente de alimentación adecuada se selecciona de forma automática y no requiere de realizar ninguna comprobación en este. 

Page 29: Como controlar una carga con un Arduino

4 | Instala los drivers

Cuando conectas la placa, Windows debería inicializar la instalación de los drivers (siempre y cuando no hayas utilizado ese ordenador con una placa Arduino anteriormente).

En Windows Vista y Windows 7, los drivers deberían descargarse e instalarse automáticamente.

Cuando te pregunten: ¿Puede Windows conectarse a Windows Update para buscar el software? selecciona No, no esta vez. Haz click en Siguiente.

Selecciona Instalar desde una lista o localización específica (Avanzado) haz click enSiguiente.

Page 30: Como controlar una carga con un Arduino

4 | Instala los drivers El asistente de instalación buscará los drivers y te

anunciará que encontró un "USB Serial Converter" (se traduce por Conversor USB-Serie). Haz click en Finalizar.

El asistente de instalación de hardware volverá a iniciarse. Repite los mismos pasos que antes y selecciona la misma carpeta de instalación de los drivers. Esta vez el sistema encontrará un "USB Serial Port" (o Puerto USB-Serie).

Puedes comprobar que los drivers se han instalado correctamente abriendo la carpeta del Administrador del Dispositivos, en el grupo Dispositivos del panel de control del sistema. Busca "USB Serial Port" (o Puerto USB-Serie)en la sección de puertos; esa es tu placa Arduino.

Page 31: Como controlar una carga con un Arduino

5 | Ejecuta la Aplicación Arduino Haz doble click en la aplicación Arduino.6 | Selecciona tu placa Necesitarás seleccionar el tipo de placa de tu Arduino

en el menú Tools > Board. (Se puede encontrar más detalles sobre los dispositivos de entrada de las placas en el menú desplegable en la página del entorno arduino.)

Page 32: Como controlar una carga con un Arduino

7 | Selecciona tu puerto serie Selecciona el dispositivo serie de la placa Arduino en el

menú Tools | Serial Port (Herramientas | Puertos Serie). Lo más probable es que sea COM3 o mayor (COM1 y COM2se reservan, por regla general para puertos serie de hardware). Para asegurarte de cual es, puedes desconectar la placa y volver a mirar el menú; el puerto de la placa habrá desaparecido de la lista. Reconecta la placa y selecciona el puerto apropiado.

Page 33: Como controlar una carga con un Arduino

Para realizar la conexión mediante puerto serie únicamente es necesario conectar nuestra placa Arduino empleando el mismo puerto que empleamos para programarlo. A continuación abrimos el IDE Standard de Arduino y hacemos click en el “Monitor Serial” como se indica en la imagen.

Page 34: Como controlar una carga con un Arduino

Sketch En Arduino Un programa de Arduino se denomina sketch

o proyecto y tiene la extensión .inoImportante: para que funcione el sketch, el

nombre del fichero debe estar en un directorio con el mismo nombre que el sketch.

No es necesario que un sketch esté en un único fichero, pero si es imprescindible que todos los ficheros estén dentro del mismo directorio que el fichero principal y que este contenga obligatoriamente las funciones setup() y loop().

Page 35: Como controlar una carga con un Arduino

void setup() {// poner el código de configuración aquí, para ejecutar una

vez:}void loop() {// poner el código principal aquí, para ejecutar repetidamente:}

La estructura básica de un sketch de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes son obligatorios y encierran bloques que contienen declaraciones, estamentos o instrucciones.

Page 36: Como controlar una carga con un Arduino

En donde setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se ejecutará cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa trabaje.

La función de configuración (setup) debe contener la inicialización de los elementos y esta función sólo se ejecuta una vez justo después de hacer el reset y no se vuelve a ejecutar hasta que no haya otro reset. Es la primera función a ejecutar en el programa y se utiliza para configurar, inicializar variables, comenzar a usar librerías, etc…

La función bucle (loop) siguiente contiene el código que se ejecutará continuamente (lectura de entradas, activación de salidas, etc). Esta función es el núcleo de todos los programas de Arduino y se usa para el control activo de la placa.

Page 37: Como controlar una carga con un Arduino

Ejemplo Encendido y Apagado de un Led

Page 38: Como controlar una carga con un Arduino

Comandos AT (Hayes) Una de las grandes dificultades a la hora de poseer

un dispositivo controlado con comandos AT como un Bluetooth o un GPRS, es ser capaces de acceder al modo de configuración para introducir estos comandos sin morir de aburrimiento en el intento.

Para ahorrar tiempo describiremos diferentes maneras de acceder a estos dispositivos mediante comandos AT.

Page 39: Como controlar una carga con un Arduino

Disponemos de un módulo Bluetooth HC-05 que podemos conectar al puerto Serial de Arduino. Resumidamente hemos de conectar los pines de recepción (RX) y transmisión (TX); que por defecto son los pines 0 y 1respectivamente de nuestra placa con los pines de transmisión (TX) y recepción (RX) del módulo de forma inversa; tal y como se indica en la figura.

Page 40: Como controlar una carga con un Arduino
Page 41: Como controlar una carga con un Arduino

Lo más importante a tener en cuenta es que debemos de activar el modo de configuración del Bluetooth a través de el PIN EN o KEY, que debe de estar activo con un voltaje y que en este caso conectamos al pin de 3,3V.