Vistas de página en total

lunes, 16 de abril de 2018

ARDUINO 1: INICIANDO CON ARDUINO

  ¿QUÉ ES ARDUINO?

Arduino es una plataforma de desarrollo de computación física de código abierto, basada en una placa con un sencillo microcontrolador Atmel AVR y un entorno de desarrollo para crear software (programas) para la placa (ARDUINO, 2013).


Figura1 Logo Arduino

El lenguaje de programación de Arduino es una implementación de Wiring, una plataforma de computación física parecida, que a su vez se basa en Processing, un entorno de programación multimedia. Aunque también se puede programar en otros lenguajes de programación como Java, C, C++, Matlab, Visual Basic, entre otros.

El software se puede conseguir en forma gratuita y son de fácil uso, no tienen ninguna restricción.


WHAT IS ARDUINO?

Arduino is an open source physical computing development platform, based on a board with a simple Atmel AVR microcontroller and a development environment to create software (programs) for the board.

The programming language of Arduino is an implementation of Wiring, a similar physical computing platform, which in turn is based on Processing, a multimedia programming environment. Although it can also be programmed in other programming languages ​​such as Java, C, C ++, Matlab, Visual Basic, among others. The software can be obtained for free and they are easy to use, they have no restrictions.

  ¿POR QUÉ MICROCONTROLADORES ATMEL?


Figura2 Logo Atmel

Los microcontroladores Atmel son sistemas altamente eficientes, ofrecen una combinación única de rendimiento, eficiencia energética y flexibilidad de diseño. Atmel tiene arquitecturas probadas que están optimizados para baja potencia, conectividad de alta velocidad, ancho de banda óptimo, y el apoyo interfaz rica.
Los microcontroladores Atmel permiten la ejecución de instrucciones mediante la metodología 'pipeline' con dos etapas (cargar y ejecutar), que les permite ejecutar la mayoría de las instrucciones en un ciclo de reloj, lo que los hace relativamente rápidos entre los microcontroladores de 8, 16 y 32 bits (ATMEL, 2013).


Las principales características de los dispositivos son las siguientes:

·         Alto desempeño, baja potencia.
·         Memoria Flash Programable de 4 a 256 kB,
·         Encapsulados de 28 a 100 pines
·         conjunto de instrucciones extendido (multiplicación y direccionamiento de programas mayores) y amplio conjunto de periféricos.
·         Sencillez y bajo costo

Son utilizados en

·         Automotores
·         Domótica
·         Electrodomésticos
·         Entretenimiento
·         Automatización Industrial
·         Iluminación
·         Medida
·         Periféricos de PC





Las razones por las que estos microcontroladores se usan en las placas Arduino es que son sencillos, eficientes, poseen igual capacidad de memoria flash programable, son más rápidos y poseen mayor cantidad de pines que otros microcontroladores del mismo costo.


HARDWARE ARDUINO


PLACAS ARDUINO


Arduino es una plataforma de hardware de código abierto, basada en una sencilla placa con entradas y salidas, analógicas y digitales, en un entorno de desarrollo que está basado en el lenguaje de programación Processing. Es un dispositivo que conecta el mundo físico con el mundo virtual, o el mundo analógico con el digital.



Las tarjetas vienen con todo lo necesario para que opere en forma óptima el Microcontrolador simplemente es conectarlo al PC, a un adaptador o baterías.


Las placas pueden ser construidas a mano o compradas, el software puede ser descargado de forma gratuita. Los diseños de referencia de hardware (archivos CAD) están disponibles bajo una licencia de código abierto.

Existen al menos unas 30 tarjetas de desarrollo Arduino, a continuación, describiremos las características de las placas más usadas y más avanzadas en la actualidad. Algunas placas son:

·         Arduino UNO
·         Arduino Leonardo
·         Arduino Duemilanove
·         Arduino Mega
·         Arduino Due

 ARDUINO UNO




Figura3 Arduino UNO (Tomado Página Oficial Arduino)
 

El Arduino Uno es una tarjeta basada en el microcontrolador ATmega328. Tiene 14 pines para entrada/salida digital (6 de estos pueden ser usados como PWM), 6 entradas análogas, oscilador de cristal a 16 MHz, interfaz USB, jack de energía, conector ICSP, y boton de reset.

Cada uno de los 14 pines digitales se puede utilizar como una entrada o salida. Ellos funcionan a 5 voltios. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia pull-up interna (desconectada por defecto) de 20 a 50 kOhm. Además, algunos pines tienen funciones especializadas:

·         Serie (RX) y  (TX) Se utiliza para recibir (RX) y transmitir (TX) datos serie TTL. Estos pines están conectados a los pines correspondientes del ATmega8U2 USB-to-Serial TTL chips.

·         Las interrupciones externas: pin 2 y 3 Estos pines pueden ser configurados para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor.

·         PWM: pines 3, 5, 6, 9, 10, y 11 

·          SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines están dedicados a la comunicación SPI utilizando la biblioteca de SPI.

·         LED: 13. Hay un LED, de montaje superficial, conectado al pin digital 13. Cuando el pin es de valor alto, el LED está encendido, cuando el valor es bajo, está apagado.

Tiene 6 entradas analógicas, con la etiqueta A0 a A5, cada uno de los cuales proporcionan 10 bits de resolución (es decir, 1024 valores diferentes). Por defecto se mide desde el suelo a 5 voltios, aunque es posible cambiar el extremo superior de su rango usando el pin AREF.

La longitud y la anchura de la PCB son 2,7 y 2,1 pulgadas, respectivamente, con el conector USB y el conector de alimentación que se extiende más allá de la dimensión anterior. Cuatro orificios de los tornillos que la Junta pueda fijarse a una superficie o caja (ARDUINO, 2013). 

RESUMEN

·         Microcontrolador: ATmega328.
·         Voltaje de operación: 5V.
·         Voltaje de entrada (recomendado): 7-12V.
·         Voltaje de entrada (límite): 6-20V.
·         Pines Digitales I/O: 14 (6 PWM).
·         Canales de entrada Análoga: 6 de 10 Bits.
·         Corriente DC por Pin I/O: 40mA.
·         Corriente DC para el pin 3.3V: 50mA.
·         Memoria Flash: 32 KB (ATmega328), 0.5 KB usado por bootloader.
·         SRAM: 2 KB (ATmega328).
·         EEPROM: 1 KB (ATmega328).
·         Velocidad Reloj: 16MHz.

ARDUINO LEONARDO



Figura4 Arduino LEONARDO (Tomado Página Oficial Arduino)
El Arduino Leonardo es una tarjeta basada en el microcontrolador ATmega32u4. Tiene 20 pines (entrada/salida) digitales (7 de estos pueden ser usados como salidas PWM, y 12 como entradas análogas), oscilador de cristal a 16MHz, conexión micro-USB, Jack de energía, conector ICSP y botón de reset. Posee una memoria de programa de 32KB de los cuales 4KB son usados por el Bootloader. El ATmega32u4 se ha incorporado en la comunicación USB, eliminando la necesidad de un procesador secundario. Esto Permite que la placa sea reconocida como un teclado o un mouse USB. Esto permite al Leonardo, aparecer en el computador a que esté conectado, como un mouse y teclado, en adición a un puerto serial/COM virtual (CDC).

Cada una de las 20 E / S digitales pines en el Leonardo se pueden utilizar como entrada o salida. Ellos funcionan a 5 voltios. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia pull-up interna (desconectada por defecto) de 20 a 50 kOhm. Además, algunos pines tienen funciones especializadas:

El Leonardo tiene 12 entradas analógicas, etiquetados A0 a A11, todos los cuales también se puede utilizar como digitales i / o. Pines A0-A5 aparecen en los mismos lugares que en el Uno; entradas A6-A11 están en E / S digital pines 4, 6, 8, 9, 10 y 12 respectivamente. Cada entrada analógica proporciona 10 bits de resolución (es decir, 1.024 valores diferentes). Por defecto, la medida de las entradas analógicas de la tierra a 5 voltios, aunque es posible cambiar el extremo superior de su rango con el pin AREF.

La longitud y la anchura de la PCB Leonardo máximo son 2,7 y 2,1 pulgadas, respectivamente, con el conector USB y el conector de alimentación que se extiende más allá de la dimensión anterior. Cuatro orificios de los tornillos que la Junta pueda fijarse a una superficie o caja (ARDUINO, 2013). 

RESUMEN
·         Microcontrolador: ATmega32u4.
·         Voltaje de operación: 5V.
·         Voltaje de entrada (recomendado): 7-12V.
·         Voltaje de entrada (límite): 6-20V.
·         Pines Digitales I/O: 20.
·         Canales PWM: 7.
·         Canales de entrada Análoga: 12 de 10 Bits.
·         Corriente DC por Pin I/O: 40mA.
·         Corriente DC para el pin 3.3V: 50mA.
·         Memoria Flash: 32 KB (ATmega32u4), 4 KB usado por bootloader.
·         SRAM: 2.5 KB (ATmega32u4).
·         EEPROM: 1 KB (ATmega32u4).
·         Velocidad Reloj: 16MHz.

      ARDUINO DUEMILANOVE



Figura5 Arduino Duemilanove (Tomado Página Oficial Arduino)
 
El Arduino Duemilanove, es una tarjeta basada en el microcontrolador ATmega328. Posee catorce pines digitales (entrada/salida), de estos pueden usarse seis como PWM, seis entradas análogas, cristal a 16MHz, terminal USB, jack de energía, conexión ICSP y botón de reset.

El Arduino Duemilanove posee las mismas características y las mismas funciones del Arduino UNO, con la diferencia que el Arduino Duemilanove utiliza un chip conversor de RS232 a USB, mientras que el Arduino UNO usa otro micro Atmel, lo cual hace que el Arduino UNO soporte mayores velocidades que el Arduino Duemilanove (ARDUINO, 2013).

RESUMEN

·         Microcontrolador: ATmega328.
·         Voltaje de operación: 5V.
·         Voltaje de entrada (recomendado): 7-12V.
·         Voltaje de entrada (límite): 6-20V.
·         Pines Digitales I/O: 14 (6 PWM).
·         Canales de entrada Análoga: 6 de 10 Bits.
·         Corriente DC por Pin I/O: 40mA.
·         Corriente DC para el pin 3.3V: 50mA.
·         Memoria Flash: 32 KB (ATmega328), 2 KB usado por bootloader.
·         SRAM: 2 KB (ATmega328).
·         EEPROM: 1 KB (ATmega328).
·         Velocidad Reloj: 16MHz.

     ARDUINO MEGA



Figura6 Arduino MEGA (Tomado Página Oficial Arduino)
 
El Arduino Mega 2560, es una tarjeta basada en el microcontrolador ATmega2560. Tiene 54 pines (Entrada/Salida) digitales (14 de estos pueden usarse como salidas PWM), 16 entradas análogas, 4 UARTs (puertos seriales por hardware), oscilador de cristal a 16MHz, conexión USB, jack de energía, conector ICSP y botón de reset. Contiene todo lo necesario para operar el microcontrolador; simplemente conéctelo al PC por medio de USB o use alimentación externa usando un adaptador AC-DC, o baterías. El Mega 2560 es una versión mejorada del Arduino Mega, al cual remplaza.

El Mega2560 se diferencia de sus predecesores en que no usa un integrado conversor UART-USB. En lugar de esto, usa un Atmega16U2 programado como conversor UART-USB (ARDUINO, 2013).

RESUMEN

·         Microcontrolador: ATmega2560.
·         Voltaje de operación: 5V.
·         Voltaje de entrada (recomendado): 7-12V.
·         Voltaje de entrada (límite): 6-20V.
·         Pines Digitales I/O: 54 (15 PWM).
·         Canales de entrada Análoga: 16 de 10 Bits.
·         Corriente DC por Pin I/O: 40mA.
·         Corriente DC para el pin 3.3V: 50mA.
·         Memoria Flash: 256 KB (ATmega2560), 8 KB usado por bootloader.
·         SRAM: 8 KB (ATmega2560).
·         EEPROM: 4 KB (ATmega2560).
·         Velocidad Reloj: 16MHz.

    ARDUINO DUE



Figura7 Arduino DUE (Tomado Página Oficial Arduino)
 

El Arduino Due, es una tarjeta basada en el CPU Atmel SAM3X8E ARM Cortex-M3. Es el primer arduino que trabaja con un microcontrolador de núcleo ARM de 32 bits. Posee 54 pines digitales (entrada/salida), de los cuales, 12 pueden usarse como PWM. También 12 entradas análogas(Posee dos Conversores analógico digitales en su interior), cuatro puertos UART (puertos en hardware), reloj a 84MHz, conexión USB OTG, 2 terminales DAC, 2 TWI, jack de energía, conexiones SPI y JTAG, botones de reset y borrado. Soporta el protocolo de comunicaciones CAN 

El Arduino Due, opera a 3.3 voltios. El voltaje máximo que un pin (entrada/salida) puede soportar es de 3.3 voltios. Conectarle más voltaje en alguno de estos pines puede causar daños en la tarjeta. El pin IOREF se usa para que los placas que se conecten, "detecten" el voltaje de operación de esta tarjeta Arduino  (aplica para los placas que tengan ese pin) (ARDUINO, 2013).

El Due, posee un núcleo ARM de 32 bits, el cual supera ampliamente en desempeño a los sistemas de 8 bits. Las diferencias más significativas son:

·         Núcleo de 32 bits, permite operaciones con datos de 4 Bytes en un solo ciclo CPU.
·         Reloj del CPU a 84MHz.
·         SRAM con capacidad de 94KBytes.
·         Flash de 512KBytes para codigo.
·         Controlador DMA, alivia al CPU en tareas que requieren mucha memoria.


RESUMEN

·         Microcontrolador: AT91SAM3X8E.
·         Voltaje de operación: 3.3V.
·         Voltaje de entrada (recomendado): 7-12V.
·         Voltaje de entrada (límite): 6-20V.
·         Pines Digitales I/O: 54 (12 PWM).
·         Canales de entrada Análoga: 12.
·         Canales de salida Análoga: 2 (DAC) de 12 Bits.
·         Total de salida de Corriente DC en todas las líneas I/O: 130mA.
·         Corriente DC para el pin 3.3V: 800mA.
·         Corriente DC para el pin 5V: 800mA.
·         Memoria Flash: 512 KB, disponible completamente para codigo.
·         SRAM: 96 KB (dos bancos: 64KB y 32KB).
·         Velocidad Reloj: 84MHz.



ARDUINO 1: INICIANDO CON ARDUINO

ARDUINO 2: SOFTWARE ARDUINO

ARDUINO 3: PROGRAMACIÓN ARDUINO

EJEMPLO 1 ARDUINO: ENCENDIDO Y APAGADO DE UN LED

EJEMPLO 2 ARDUINO: ENCENDIDO DE UN LED CON PULSADOR

EJEMPLO 3 CONVERSION ANALOGICA DIGITAL Y ENCENDIDO DE LEDS

EJEMPLO 4 ESCRITURA SERIAL

EJEMPLO 5 MANEJO DE LCD

ARDUINO UNO PLACA DE DESARROLLO





No hay comentarios:

Publicar un comentario