UNIVERSIDAD CATÓLICA DE SANTA MARÍA ESCUELA
PROFESIONAL
DE
INGENIERIA
MECANICA,
MECANICA ELECTRICA Y MECATRONICA
CURSO: MICROCONTROLADORES Y MICROPROCESADORES CICLO: VII SEMESTRE ALUMNO: LOPE BUSTAMANTE JOSE OCTAVIO GRUPO: 08 AREQUIPA-PERU 2018
Arduino Uno Arduino es una placa con un microcontrolador de la marca Atmel y con toda la circuitería de soporte, que incluye, reguladores de tensión, un puerto USB (En los últimos modelos, aunque el original utilizaba un puerto serie) conectado a un módulo adaptador USB-Serie que permite programar el microcontrolador desde cualquier PC de manera cómoda y también hacer pruebas de comunicación con el propio chip. Un arduino dispone de 14 pines que pueden configurarse como entrada o salida y a los que puede conectarse cualquier dispositivo que sea capaz de transmitir o recibir señales digitales de 0 y 5 V. También dispone de entradas y salidas analógicas. Mediante las entradas analógicas podemos obtener datos de sensores en forma de variaciones continuas de un voltaje. Las salidas analógicas suelen utilizarse para enviar señales de control en forma de señales PWM. Arduino UNO es la última versión de la placa, existen dos variantes, la Arduino UNO convencional y la Arduino UNO SMD. La única diferencia entre ambas es el tipo de microcontrolador que montan. La primera es un microcontrolador Atmega en formato DIP. Y la segunda dispone de un microcontrolador en formato SMD. Nosotros nos decantaremos por la primera porque nos permite programar el chip sobre la propia placa y después integrarlo en otros montajes.
Entradas y salidas: Cada uno de los 14 pines digitales se puede usar como entrada o como salida. Funcionan a 5V, cada pin puede suministrar hasta 40 mA. La intensidad máxima de entrada también es de 40 mA. Cada uno de los pines digitales dispone de una resistencia de pull-up interna de entre 20KΩ y 50 KΩ que está desconectada, salvo que nosotros indiquemos lo contrario. Arduino también dispone de 6 pines de entrada analógicos que trasladan las señales a un conversor analógico/digital de 10 bits.
Pines especiales de entrada y salida: RX y TX: Se usan para transmisiones serie de señales TTL. Interrupciones externas: Los pines 2 y 3 están configurados para generar una interrupción en el atmega. Las interrupciones pueden dispararse cuando se encuentra un valor bajo en estas entradas y con flancos de subida o bajada de la entrada. PWM: Arduino dispone de 6 salidas destinadas a la generación de señales PWM de hasta 8 bits. SPI: Los pines 10, 11, 12 y 13 pueden utilizarse para llevar a cabo comunicaciones SPI, que permiten trasladar información full dúplex en un entorno Maestro/Esclavo. I2C: Permite establecer comunicaciones a través de un bus I2C. El bus I2C es un producto de Phillips para interconexión de sistemas embebidos. Actualmente se puede encontrar una gran diversidad de dispositivos que utilizan esta interfaz, desde pantallas LCD, memorias EEPROM, sensores... Alimentación de un Arduino Puede alimentarse directamente a través del propio cable USB o mediante una fuente de alimentación externa, como puede ser un pequeño transformador o, por ejemplo una pila de 9V. Los límites están entre los 6 y los 12 V. Como única restricción hay que s aber que si la placa se alimenta con menos de 7V, la salida del regulador de tensión a 5V puede dar menos que este voltaje y si sobrepasamos los 12V, probablemente dañaremos la placa. La alimentación puede conectarse mediante un conector de 2,1mm con el positivo en el centro o directamente a los pines Vin y GND marcados sobre la placa. Hay que tener en cuenta que podemos medir el voltaje presente en el jack directamente desde Vin. En el caso de que el Arduino esté siendo alimentado mediante el cable USB, ese voltaje no podrá monitorizarse desde aquí.
Arduino Leonardo
La placa Arduino Leonardo usa el microcontrolador ATmega32U4, el cual tiene un módulo USB incorporado que permite emular un teclado, mouse y otros dispositivos USB similares mediante el protocolo USB-HID. Tiene 20 entradas/salidas digitales (7 pueden ser usadas como salidas PWM y 12 como entradas análogas), cristal de 16 MHz, conector micro USB, conector para alimentación VDC, cabezal de programaciión ISP y botón de reset. Caracteristicas Técnicas
Microcontrolador: ATmega32u4 Voltaje de funcionamiento: 5V Voltaje de entrada (recomendado): 7-12V Voltaje de entrada (limite): 6-20V Pines E/S Digitales: 20 Canales PWM: 7 Entradas Analógicas: 12 Corriente máxima pines E/S: 40 mA Corriente en pin 3.3V: 50 mA Memoria Flash: 32 KB (ATmega32u4) de los cuales 4 KB son usadas por el bootloader SRAM: 2.5 KB (ATmega32u4) EEPROM: 1 KB (ATmega32u4) Velocidad del reloj: 16 MHz Alimentacion:
Arduino Leonardo puede trabajar con un suministro externo de 6 a 20 voltios, sin embargo, si se suministran menos de 7V, el pin de 5V puede no llegar a los cinco voltios y la placa puede volverse inestable, y si se utiliza más de 12V, el regulador de tensión se puede sobrecalentar y llegar a dañar la placa, por lo tanto el rango recomendado es de 7 a 12 voltios. Cada pin puede proporcionar o recibir un máximo de 40 mA y tienen una resistencia interna de pull-up (desconectada por defecto) de 20 a 50 kOhm. En total la placa no puede entregar mas de 200mA
Memoria:
El ATmega32u4 tiene 32 KB (con 4 KB utilizados para el gestor de arranque). También tiene 2,5 KB de SRAM y 1 KB de EEPROM (que pueden ser leídos y escritos con la li brería EEPROM). PinOut:
Cada uno de los 20 pines de E/S digitales se pueden utilizar como entrada o salida, usando las funciones pinMode(), digitalWrite() y digitalRead(). IOREF. Tensión a la que los pines E/S de la placa están funcionando (es decir, VCC para la placa). 5V para Leonardo. GND. Pines de toma de tierra. 3V3. Un suministro 3,3V generado por el regulador integrado con un consumo de corriente máxima es de 50 mA. 5V. La fuente de alimentación regulada utilizada para alimentar el microcontrolador y otros componentes en la placa. Esta puede provenir ya sea de VIN a través de un regulador integrado, o suministrada a través del puerto USB o de otra fuente de 5V regulada. VIN. Tensión de entrada a la placa Arduino cuando utilizamos una fuente de alimentación externa (en lugar de los 5 voltios de la conexión USB o de otra fuente de alimentación regulada). Podemos suministrar la alimentación a través de este pin, o, si lo estamos alimentando por el jack, podremos acceder acceder a él a través de este pin. Serie: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir (TX) datos serie TTL con la capacidad de hardware serie del ATmega32U4. Hay que tener en cuenta que en Arduino Leonardo, la clase Serial se refiere a la comunicación USB (CDC); para serie TTL en los pines 0 y 1, hay que utilizar la clase Serial1. I2C: 2 (SDA) y 3 (SCL). Soportan la comunicación TWI usando la Librería Wire. Interrupciones externas: 2 y 3. Estas patillas se pueden configurar para disparar una interrupción a través de un valor LOW, un flanco ascendente o d escendente, o un cambio en el valor. Ver attachInterrupt() para obtener más detalles. PWM: 3, 5, 6, 9, 10, 11, y 13. Proporciona una señal PWM de 8 bit con la función analogWrite(). SPI: en el cabezal ICSP. Estos pines soportan la comunicación SPI utilizando la librería SPI. Hay que tener en cuenta que los pines SPI no están conectado a ninguno de los pines digitales E/S como en la placa UNO. Estos s ólo están disponibles en el conector ICSP. LED: 13. Hay un LED smd conectado al pin digital 13. Cuando el pin esta en valor HIGH, el LED está encendido, cuando el pin está en LOW, está apagado. Entradas Analógicas: A0-A5, A6 – A11 (en los pines digitales 4, 6, 8, 9, 10, y 12). Arduino Leonardo tiene 12 entradas analógicas, etiquetadas de A0 hasta A11, las cuales también pueden ser utilizadas como E/S digitales. Los pines A0-A5 están situados en el mismo lugar que en Arduino Uno; las entradas A6-A11 se corresponden con las E/S digitales de los pines 4, 6, 8, 9, 10 y 12, respectivamente. Cada entrada analógica puede proporcionar 10 bits de resolución (es decir 1024 valores diferentes). Por defecto, la medida de las entradas analógicasvan desde tierra a 5 voltios, aunque es posible cambiar el extremo superior de su rango con el pin AREF y la función analogReference(). AREF. Tensión de referencia para las entradas analógicas. Se utiliza con analogReference().
Reset. Si llevamos esta línea a LOW, reiniciaremos el microcontrolador. Normalmente se utiliza para añadir un botón de reinicio para shields que bloquean el botón de reset de la placa.
Arduino Nano
Este Arduino es la versión mas pequeña del Arduino uno. Basada en el Atmega328 SMD. Esta version esta pensada para usar en protoboard. las disposic ion de sus pines facilitan la conexion de los componentes si necesidad de muchos cables. La otra gran ventaja por mas obvia que parezca esta en su tamao, durante algun tiempo fue la placa mas pequeña de todas, luego superada por el Arduino Micro(basada en el chip del leonardo) y el Arduino Mini Pro(basado tambien en el Atmega328).
Alimentación:
El Arduino Nano puede ser alimentado usando el cable USB Mini-B , con una fuente externa no regulada de 6-20V (pin 30), o con una fuente externa regulada de 5V (pin 27). La fuente de alimentación es seleccionada automáticamente a aquella con mayor tensión. El chip FTDI FT232RL que posee el Nano solo es alimentado si la placa esta siendo alimentada usando el cable USB. como resultado, cuando se utiliza una fuente externa (no USB), la salida de 3.3V (la cual es proporcionada por el chip FTDI) no está disponible y los pines 1 y 0 parpadearán si los pines digitales 0 o 1 están a nivel alto.
Memoria
El ATmega 328 posee 32KB, (también con 2 KB usados por el bootloader). Posee también 2 KB de SRAM y 1KB de EEPROM. Entrada Y Salida
Cada uno de los 14 pines digitales del Nano puede ser usado como entrada o s alida, usando las funciones pinMode(),digitalWrite(), y digitalRead(). Operan a 5 voltios. Cada pin puede proveer o recibir un máximo de 40mA y poseen una resistencia de pull-up (desconectada por defecto) de 20 a 50 kOhms. Además algunos pines poseen funciones especializadas: Serial: 0 (RX) y 1 (TX). (RX) usado para recibir y (TX)usado para transmitir datos TTL vía serie. Estos pines están conectados a los pines correspondientes del chip USB-a-TTL de FTDI. Interrupciones Externas: pines 2 y 3. Estos pines pueden ser configurados para activar una interrupción por paso a nivel bajo, por flanco de bajada o flanco de subida, o por un cambio de valor. Mira la función attachInterrupt()para más detalles. PWM: pines 3, 5, 6, 9, 10, y 11. Proveen de una salida PWM de 8-bits cuando se usa la función analogWrite(). SPI: pines 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines soportan la comunicación SPI, la cual, a pesar de poseer el hardware, no está actualmente soportada en el lenguaje Arduino. LED: Pin 13. Existe un LED conectado al pin digital 13. Cuando el pin se encuentra en nivel alto, el LED está encendido, cuando el pin está a nivel bajo, el LED estará apagado. El Nano posee 8 entradas analógicas, cada unas de ellas provee de 10 bits de resolución (1024 valores diferentes). Por defecto miden entre 5 voltios y masa, sin embargo es posible cambiar el rango superior usando la funciónanalogReference(). También, algunos de estos pines poseen funciones especiales: I2C: Pines 4 (SDA) y 5 (SCL). Soporta comunicación I2C (TWI) usando la librería Wire (documentación en la web Wiring). Hay algunos otros pines en la placa: AREF. Tensión de referencia por las entradas analógicas. Se configura con la función analogReference(). Reset. Pon esta linea a nivel bajo para resetear el microcontrolador. Normalmente se usa para añadir un botón de reset que mantiene a nivel alto el pin reset mientras no es pulsado. Comunicación
El Arduino Nao tiene algunos métodos para la comunicación con un PC, ot ro Arduino, u otros microcontroladores. El ATmega328 poseen un módulo UART que funciona con TTL (5V)el cual permite una comunicación vía serie, la cual está disponible usando los pines 0 (RX) y 1 (TX). El chip FTDI FT232RL en la placa hace de puente a través de USB para la comunicación serial y los controladores FTDI (incluidos con el software de Arduino) provee al PC de un puerto com vitual para el software en el PC. El software Arduino incluye un monitor serial que permite visualizar en forma de texto los datos enviados desde y hacia la placa Arduino. Los LEDs RX y TX en la placa parpadearán cuando los datos se estén
enviando a través del chip FTDI y la conexión USB con el PC (Pero no para la comunicación directa a través de los pines 0 y 1) La librería SoftwareSerial permite llevar a cabo una comunicación serie usando cualquiera de los pines digitales del Nano. El ATmega328 también soporta comunicación I2C (TWI) y SPI. El software Arduino incluye la librería Wire para simplificar el uso del bus I2C; mira la documentación para más detalles. Para usar la comunicación SPI, por favor mira la hoja de datos del ATmega328.
Arduino Pro Mini
La Arduino Mini Pro esta destinada a instalaciones semi-permanentes en objetos o demostraciones. La placa viene sin conectores montados, permitiendo el uso de varios tipos de conectores o soldado directo de cables según las necesidades de cada proyecto en particular. Tiene 14 E/S digitales (6 de las cuales se puedes utilizar como salidas PWM), 6 entradas analógicas, un resonador interno, botón de reseteo y agujeros para el montaje de tiras de pines. Se le puede montar una tira de 6 pines para la conexión a un cable FTDI o a una placa adaptadora para dotarla de comunicación USB y alimentación. (en la parte superior de la imagen se pueden ver estos pines). Alimentación.
La Arduino Mini Pro puede ser alimentada por el cable FTDI o por la placa adaptadora que se conecta esos mismos 6 pines. También se puede alimentar mediante una fuente de alimentación regulada de 3.3v ó 5v (dependiendo del modelo) por el pin Vcc o por una fuente no regulada conectada al pin RAW. Los pines de alimentación son los siguientes: RAW. Para alimentación en “bruto” (no regulada) a la placa. VCC. Suministro regulado de 3.3 o 5 voltios. GND. Pines de tierra o negativos.
Memoria.
El ATmega168 tiene 16KB de memoria para el almacenamiento de sketches (de los cuales 2KB están reservados para el gestor de arranque). También tiene 1KB de SRAM y 512 bytes de EEPROM en los cuales se puede leer y escribir mediante la librería EEPROM). Entradas y Salidas.
Cada uno de los 14 pines de digitales puede ser configurado tanto como entrada o como salida usando las funcionespinMode(), digitalWrite() y digitalRead(). Estos pines operan a 3.3v o 5v dependiendo del modelo. Cada pin puede suministrar o recibir una corriente máxima de 40mA y tienen resistencias pull-up internas (desconectadas por defecto) de 20 a 50 KOhms. Además algunos de los pines tienen funciones especiales: Serie: 0 (RX) y 1 (TX). Usados para recibir (RX) y transmitir (TX) datos serie TTL. Estos pines están conectados con los pines TX-0 y RX-1 del conector de 6 pines. Interrupciones Externas: 2 y 3. Estos pines pueden ser configurados para actuar como disparadores de interrupciones en caso de que cambien a estado bajo, un pico de s ubida o bajada o simplemente en un cambio de estado. Ver la función attachInterrupt()para más detalles. PWM: 3, 5, 6, 9, 10 y 11. Generan una señal PWM de salida con la función analogWrite(). SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines soportan comunicación SPI, la cual no está, de momento, incluida en el lenguaje de programación de Arduino. LED: 13. Hay un LED integrado en la placa conectado al pin 13. Cuando este pin se pone en estado HIGH el LED se enciende, cuando el pin cambia a estado LOW el LED se apaga. La Mini Pro tiene 6 entradas anaógigas, cada una tiene una resolución de 10 bits (esto son 1024 valores). Cuatro de ellas estás en el conector lateral de la placa, otras dos ( la 4 y la 5) en agujeros en el interior de la placa. La medida de los valores analógicos se hace entre VCC y GND. Adicionalmente algunos de los pines de entrada analógicos tienen una función especializada: I2C: 4 (SDA) y 5 (SCL). Forman un bus I2C (TWI) para comunicación con otros dispositivos utilizando la librería Wire. Hay otro pin en la placa: Reset. Cuando este pin se pone en estado LOW resetea el microcontrolador. Normalmente se utiliza cuando el botón de reseteo se hace inaccesible por que el uso de un shield lo oculta. Comunicación.
La Arduino Mini Pro puede comunicarse con tu ordenador, con otra Arduino o con otros microcontroladores. ElATmega168 tiene implementada comunicación serie UART TTL en sus pines 0 (RX) y 1 (TX). El shoftware de Arduino incluye un monitor serie que permite que datos sencillos puedan ser enviados y recibidos desde la placa por medio de la conexión USB. La librería SoftwareSerial permite la comunicación Serie en cualquiera de los pines digitales de la Mini Pro. El ATmega168 también soporta comunicación I2C (TWI) y SPI. El programa Arduino incluye la librería Wire para simplificar el uso del bus I2C, vea la referencia para más detalles. Si se desea utilizar la comunicación SPI hay que echar un vistazo a la hoja de características (datasheet) del ATmega168.
Cargando sketches.
La Arduino Mini Pro puede ser programada con el software Arduino (descarga). Para más detalles ver la página dereferencia y los tutoriales. El ATmega168 en la Arduino Mini Pro viene precargado con un gestor de arranque que nos permite la carga de nuevo código sin el uso de un programador externo. Este se comunica usando el protocolo STKT500 original (referencia,archivos de cabecera en C). También se puede prescindir del gestor de arranque y cargar los sketches en el ATmega168 con un programador externo, para ello ver estas instrucciones más detalladas. Reseteo automático por Software.
En lugar de utilizar el pulsador de reseteo antes de cargar un nuevo sketch la Arduino Mini Pro ha sido diseñada de modo que permite el reseteo automático por el software instalado en nuestro ordenador. Uno de los pines en el conector de 6 pines está conectado con la linea de reseteo del ATmega168 mediante un condensador de 100 nanofaradios. Este pin se conecta a una de las líneas de control de flujo por hardware del convertidor de USB a serie al conector RTS cuando se utiliza un cable FTDI o al conector DTR cuando se usa una placa convertidora de Sparkfun. Cuando esta línea se pone en estado LOW el chip se reinicia. El software de Arduino tiene la capacidad de cargar código en la placa simplemente presionando el botón de “upload” en el Arduino IDE. Esto significa que el gestor de arranque tarda menos tiempo en ejecutarse, pues la linea de reseteo está perfectamente coordinada con el inicio de la descarga. Esta configuración tiene otras implicaciones. Cuando una Mini Pro se conecta a un ordenador por el que corre un MAC OS X o un Linux, esta se resetea cada vez que se establece la conexión por USB. Durante el siguiente medio segundo el gestor de arranque se ejecuta en la Pro, mientras que ha sido programado para ignorar datos nulos (por ejemplo cualquier cosa durante la carga de un nuevo sketch). Este interceptará los primeros bytes de datos enviados a la placa después de que la conexión sea establecida. Si un sketch que se está ejecutando en la placa recibe una configuración de arranque u otros datos cuando se ejecuta por primera vez, asegúrate de que el software con el que se comunica espera un segundo después de abrir la conexión y antes de enviar estos datos.
Arduino Mega 2560
Arduino Mega 2560 es una versión ampliada de la tarjeta original de Arduino y está basada en el microcontrolador Atmega2560. Dispone de 54 entradas/salidas digitales, 14 de las cuales se pueden utilizar como salidas PWM (modulación de anchura de pulso). Además dispone de 16 entradas analogicas, 4 UARTs (puertas series), un oscilador de 16MHz, una conexión USB, un conector de alimentación, un conector ICSP y un pulsador para el reset. Para empezar a utilizar la placa sólo es necesario conectarla al ordenador a traves de un cable USB , o alimentarla con un adaptador de corriente AC/DC. También, para empezar, puede alimentarsemediante una batería. Una de las diferencias principales de la tarjeta Arduino MEGA 2560 es que no utiliza el convertidor USB-serie de la firma FTDI. Por lo contrario, emplea un microcontrolador Atmega8U2 programado como actuar convertidor USB a serie.
Esta placa debido a su gran poder es utilizada para grandes proyectos, entre los mas importantes se encuentras los de DOMOTICA y IMPRESORAS 3D El Arduino MEGA2560 es compatible con la mayoria de los shield o tarjetas de aplicación/ampliación disponibles para las tarjetas Arduino UNO original. Las características principales son: Microprocesador ATmega2560 Tensión de alimentación (recomendado) 7-12V Integra regulación y estabilización de +5Vcc 54 líneas de Entradas/Salidas Digitales (14 de ellas se pueden utiliza como salidas PWM) 16 Entradas Analogicas Maxima corriente continua para las entradas: 40 mA Salida de alimenatción a 3.3V con 50 mA Memoria de programa de 256Kb (el bootloader ocupa 8Kb) Memoria SRAM de 8Kb para datos y variables del programa
Memoria EEPROM para datos y variables no volátiles Velocidad del reloj de trabajo de 16MHz Reducidas dimensiones de 100 x 50 mm Alimentación
El Arduino Mega puede ser alimentado vía la conexión USB o con una fuente de alimentación externa. El origen de la alimentación se selecciona automáticamente. Las fuentes de alimentación externas (no-USB) pueden ser tanto un transformador o una batería. El transformador se puede conectar usando un conector macho de 2.1mm con centro positivo en el conector hembra de la placa. Los cables de la batería puede conectarse a los pines Gnd y Vin en los conectores de alimentación (POWER) La placa puede trabajar con una alimentación externa de entre 6 a 20 voltios. Si el voltaje suministrado es inferior a 7V, el pin de 5V puede p roporcionar menos de 5 Voltios y la placa puede volverse inestable; si se usan mas de 12V los reguladores de voltaje se pueden sobrecalentar y dañar la placa. El rango recomendado es de 7 a 12 voltios. Los pines de alimentación son los siguientes: VIN. La entrada de voltaje a la placa Arduino cando se está usando una fuente externa de alimentación (en opuesto a los 5 voltios de la conexión USB). Se puede proporcionar voltaje a través de este pin, o, si se está alimentando a través de la conexión de 2.1mm , acceder a ella a través de este pin. 5V. La fuente de voltaje estabilizado usado para alimentar el microcontrolador y otros componentes de la placa. Esta puede provenir de VIN a través de un regulador integrado en la placa, o proporcionada directamente por el USB u otra fuente estabilizada de 5V. 3V3. Una fuente de voltaje de 3.3 voltios generada por un regulador integrado en la placa. La corriente máxima soportada 50mA. GND. Pines de toma de tierra. Memoria
El ATmega2560 tiene 256KB de memoria flash para almacenar código (8KB son usados para el arranque del sistema(bootloader). El ATmega2560 tiene 8 KB de memoria SRAM y 4KB de EEPROM, a la cual se puede acceder para leer o escribir con la librería EEPROM. Entradas Y Salidas
Cada uno de los 54 pines digitales en el Mega pueden utilizarse como entradas o como salidas usando las funciones pinMode(), digitalWrite(), y digitalRead(). Las E/S operan a 5 voltios. Cada pin puede proporcionar o recibir una intensidad maxima de 40mA y tiene una resistencia interna de pull-up (desconectada por defecto) de 20-50kOhms. Además, algunos pines tienen funciones especializadas: Serie: 0 (RX) y 1 (TX),Serie 1: 19 (RX) y 18 (TX); Serie 2: 17 (RX) y 16 (TX); Serie 3: 15 (RX) y 14 (TX).Usados para recibir (RX) transmitir (TX) datos a través de puerto serie TTL. Los pines Serie: 0 (RX) y 1 (TX) estan conectados a los pines correspondientes del chip FTDI USB-to-TTL. Interrupciones Externas: 2 (interrupción 0), 3 (interrupción 1), 18 (interrupción 5), 19 (interrupción 4), 20 (interrupción 3), y 21 (interrupción 2). Estos pines se pueden configurar para lanzar una interrupción en un valor LOW(0V), en flancos de subida o
bajada (cambio de LOW a HIGH(5V) o viceversa), o en cambios de valor. Ver la función attachInterrupt() para más detalles. PWM: de 0 a 13. Proporciona una salida PWM (Pulse Wave Modulation, modulación de onda por pulsos) de 8 bits de resolución (valores de 0 a 255) a traves de la función analogWrite(). SPI: 50 (SS), 51 (MOSI), 52 (MISO), 53 (SCK). Estos pines proporcionan comunicación SPI, usando lalibrería SPI. LED: 13.Hay un LED integrado en la placa conectado al pin digital 13, cuando este pin tiene un valor HIGH(5V) el LED se enciende y cuando este tiene un valor LOW(0V) este se apaga. El Mega tiene 16 entradas analógicas, y cada una de ellas proporciona una resolución de 10bits (1024 valores). Por defecto se mide desde 0V a 5V, aunque es posible cambiar la cota superior de este rango usando el pin AREF y la función analogReference(). I2C: 20 (SDA) y 21 (SCL). Soporte para el protocolo de comunicaciones I2C (TWI) usando la librería Wire. AREF. Voltaje de referencia para la entradas analogicas. Usado por analogReference(). Reset. Suministrar un valor LOW (0V) para reiniciar el microcontrolador. Típicamente usado para añadir un botón de reset a los shields que no dejan acceso a este botón en la placa. Comunicaciones
EL Arduino Mega facilita en varios aspectos la comunicación con l a PC, otro Arduino u otros microcontroladores. El ATmega2560proporciona cuatro puertos de comunicación vía serie UART TTL (5V). Un ATmega16U2 integrado en la placa canaliza esta comunicación serie a través del puerto USB y los drivers (incluidos en el software de Arduino) proporcionan un puerto serie virtual en el ordenador. El software incluye un monitor de puerto serie que permite enviar y recibir información textual de la placa Arduino. Los LEDS RX y TX de la placa parpadearán cuando se detecte comunicación transmitida través de la conexión USB (no parpadearán si se usa la comunicación serie a través de los pines 0 y 1). La libreria SoftwareSerial permite comunicación serie por cualquier par de pines digitales del Mega. El ATmega2560 también soporta la comunicación I2C (TWI) y SPI. El software de Arduino incluye una librería Wire para simplificar el uso el bus I2C, ver la documentación para mas detalles. Para el uso de la comunicación SPI, ver la hoja de especificaciones (datasheet) del ATmega2560. Programación
El Arduino Mega se puede programar con el software Arduino (descargar). Para más detalles ver referencia y tutoriales. El ATmega2560 en el Arduino Mega viene precargado con un gestor de arranque (bootloader) que permite cargar nuevo código sin necesidad de un programador por hardware externo. Se comunica utilizando el protocolo STK500 original (referencia, archivo de cabecera C). También puede evitarse el gestor de arranque y programar directamente el microcontrolador a través del puerto ICSP (In Circuit Serial Programming); para más detalles ver estas instrucciones.
Reinicio Automatico Por Software
En vez de necesitar reiniciar presionando físicamente el botón de reset antes de cargar, el Arduino Mega esta diseñado de manera que es posible reiniciar por software desde el ordenador donde este conectado. Una de las lineas de control de flujo (DTR) del ATmega16U2 está conectada a la linea de reinicio del ATmega2560 a través de un condensador de 100 nanofaradios. Cuando la linea se pone a LOW(0V), la linea de reinicio también se pone a LOW el tiempo suficiente para reiniciar el chip. El software de Arduino utiliza esta característica para permitir cargar los sketches con solo apretar un botón del entorno. Dado que el gestor de arranque tiene un lapso de tiempo para ello, la activación del DTR y la carga del sketch se coordinan perfectamente. Esta configuración tiene otras implicaciones. Cuando el Mega se conecta a un ordenador con Mac OS X o Linux, esto reinicia la placa cada vez que se realiza una conexión desde el software (via USB). El medio segundo aproximadamente posterior, el gestor de arranque se esta ejecutando. A pesar de estar programado para ignorar datos mal formateados (ej. cualquier cosa que la carga de un programa nuevo) intercepta los primeros bytes que se envían a la placa justo después de que se abra la conexión. Si un sketch ejecutándose en la placa recibe algún tipo de configuración inicial o otro tipo de información al inicio del programa, debe asegurarse de que el software con el cual se comunica espera un segundo después de abrir la conexión antes de enviar los datos. El Mega contiene una pista que puede ser cortada para deshabilitar el auto-reset. Las terminaciones a cada lado pueden ser soldadas entre ellas para rehabilitarlo. Están etiquetadas con “RESET-EN”. También se puede deshabilitar el auto -reset conectando una resistencia de 110 ohms desde el pin 5V al pin de reset; vereste hilo del foro para mas detalles. Protección Contra Sobrecorrientes En USB
El Arduino Mega tiene un multifusible reinicializable que protege la c onexión USB del PC de cortocircuitos y sobretensiones. Aparte de que la mayoría de ordenadores proporcionan su propia protección interna, el fusible proporciona un capa extra de protección. Si más de 500mA son detectados en el puerto USB, el fusible automáticamente corta la conexión hasta que el cortocircuito o la sobretensión desaparece.
Conclusiones En conclusión, como se tenía muy poco tiempo, en el taller se enseñó una pequeña parte de lo que es la programación, ya que esta es bastante compleja y requiere tiempo aprender a hacerlo naturalmente, se aprendió a diferenciar cada uno de los tipos de placas arduinos disponibles en el mercado, y saber diferenciar cada uno de sus campos laborales, asi como las distintas funciones que poseen cada Arduino. Se conocio las características principales, asi como una pequeña introducción al lenguaje de programación, asi también se conocio las distintas compañías que ofrecen microprocesadores asi como controladores.