Vous êtes sur la page 1sur 14

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE INGENIERÍA EN ELECTRÓNICA Y COMUNICACIONES

Microcontroladores

Séptimo “A”

Consulta # 1

Plataforma de desarrollo de proyectos Arduino

Integrantes

Flores Henry
León Yulissa
Morales Pamela

Fecha de Envío

Jueves 30 de mayo del 2019

Fecha de Entrega

Lunes 3 de junio del 2019

Docente

Ing. Edgar Patricio Córdova Córdova

MARZO 2019 – AGOSTO 2019

AMBATO – ECUADOR

2019
1. TEMA
Plataforma de desarrollo de proyectos Arduino
2. OBJETIVOS

a. Objetivo General

Investigar acerca de la plataforma de desarrollo de proyectos Arduino y la manera en la cual


esta distribuido software, hardware y soporte con cada uno de sus componentes para el
desarrollo de proyectos electrónicos.

b. Objetivos Específicos

 Analizar cada uno de los equipos que contiene la plataforma de desarrollo de proyectos
Arduino y la funcionalidad que desempeñan en el campo.
 Diferenciar tanto software, hardware como soporte en los diferentes ámbitos de trabajo de
cada uno de los equipos que ofrece la plataforma.
 Estudiar la parte física y funcional de las tarjetas Arduino en el desarrollo de proyectos
electrónicos

3. FUNDAMENTACIÓN TEÓRICA

Hardware

Arduino es una plataforma de hardware abierto que facilita la programación de un


microcontrolador. Los microcontroladores nos rodean en nuestra vida diaria, usan los sensores
para escuchar el mundo físico y los actuadores para interactuar con el mundo físico. El hardware
consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los
microcontroladores más usados en las plataformas Arduino son el Atmega168, Atmega328,
Atmega1280, ATmega8 por su sencillez. [1]

Hardware Arduino

Fig. 1 Hardware Arduino


Fuente. [1]
Pines analógicos de
Pines digitales:pueden entrada: usan un
configurarse como conversor
entrada (para leer, analógico/digital y
sensores) o como sirven para leer
salida (para escribir, sensores analógicos
actuadores) como sondas de
temperatura.

Pines analógicos de
salida (PWM): la
mayoría de Arduino no
tienen conversor
•Puertos de
digital/analógico y
comunicación: USB,
para tener salidas
serie, I2C y SPI
analógicas se usa la
técnica PWM. No todos
los pines digitales
soportan PWM.

Esquema 1. Estructura hardware de Arduino


Fuente. [1]

Otro aspecto importante es la memoria, Arduino tiene tres tipos de memoria:

•EEPROM: memoria no
•SRAM: donde Arduino
volátil para mantener •Flash: Memoria de
crea y manipula las
datos después de un reset programa. Usualmente
variables cuando se
o apagado. Las EEPROMs desde 1 Kb a 4 Mb
ejecuta. Es un recurso
tienen un número limitado (controladores de familias
limitado y debemos
de lecturas/escrituras, grandes). Donde se
supervisar su uso para
tener en cuenta a la hora guarda el sketch.
evitar agotarlo.
de usarla.

Esquema 2. Estructura de memoria Arduino


Fuente. [1]

Aspectos más destacados de Arduino

 Puerto Serie en los pines 0 y 1.


 Alimentación: vía USB, batería o adaptador AC/DC a 5V, seleccionado automáticamente.
Arduino puede trabajar entre 6 y 20V, pero es recomendado trabajar entre 7 y 12V por las
características del regulador de tensión.
 No necesita de un cable FTDI para conectarse al MCU, en su lugar usa una MCU
especialmente programado para trabajar como conversor de USB a serie.
 Interrupciones externas en los pines 2 y 3.
 Built-in LED en el pin 13.
 Bus TWI o I2C en los pines A4 y A5 etiquetados como SDA y SCL

Este mismo análisis hecho con el ATmega328P, podemos hacerlo con otros microcontroladores:

 ATmega2560 del Mega


 ATmega32U4 del Leonardo
 ATSAMD21G18 del Zero
 ATSAMW25 del MKR1000
 Intel Curie del Arduino 101
 STM32F469BI del STAR-OTTO

Shields para Arduino

Las shields son placas de circuitos modulares que se montan unas encima de otras para dar
funcionalidad extra a un Arduino. Esta Shields son apilables. Un shield en Arduino es una placa
que se apila sobre el Arduino o sobre otro shield, de forma que nos permite ampliar el
hardware/capacidades de Arduino.

Cada Shield de Arduino debe tener el mismo factor de forma que el standard de Arduino con un
espaciado de pines concreto para que solo haya una forma posible de encajarlo. [2]

Fig. 2 Factor de forma que el standard de Arduino


Fuente. [2]

Ethernet Shield

La placa Arduino se comunica con el módulo W5100 y la micro-SD utilizando el bus SPI (mediante
el conector ICSP). Esto se encuentra en los pines digitales 11, 12 y 13 en el modelo UNO y en los
pines 50, 51 y 52 del modelo MEGA.

En ambas placas, el pin 10 es utilizado para seleccionar el W5100 y el pin 4 para la micro-SD.
Estos pines no pueden ser utilizados para otros fines mientras la Ethernet Shield esté conectada.
Fig. 3 Ethernet Shield
Fuente. [2]

Arduino Wifi Shield

Permite conectar un Arduino a Internet mediante Wifi y hace uso de la librería WiFi Library.
También dispone de un slot para una tarjeta micro SD. Este shield se comunica con Arduino a
través del bus SPI mediante los pines ICSP y usa los pines 4 y 10 al igual que la Shield Ethernet.
También hace uso del pin 7 que no puedes ser usado.

Fig. 4 Arduino Wifi Shield


Fuente. [2]

Arduino GSM Shield

Conecta Arduino a Internet mediante GPRS, usando una tarjeta SIM. También permite enviar y
recibir mensajes y llamadas de voz (SMSs).

Fig. 4 Arduino Wifi Shield


Fuente. [2]
Arduino Motor Shield

El Arduino Motor Shield se basa en el L298, que es un controlador de puente completo doble
diseñado para impulsar cargas inductivas como relés, solenoides, CC y motores paso a paso.

Fig. 5 Arduino Motor Shield


Fuente. [2]

Software

Arduino, no sólo son componentes


eléctricos ni una placa de circuitos

También es una plataforma que combina


Software Arduino

esto con un lenguaje de programación


que sirve para controlar los distintos
sensores

Este lenguaje que opera dentro de


Arduino se llama Wirirng, basado en la
plataforma Processing y primordialmente
en el lenguaje de prograación C/C++

De este lenguaje derivan otros más que


son muy utilizados en el ámbito de
Ingeniería y desarrollo, como C#, Java,
BASIC, Php, Phytom, JavaScript

Esquema 3. Software Arduino


Fuente. [3]

Existe una diversidad de plataformas que operan con micro controladores disponibles para la
computación a nivel físico (hardware). Todas estas herramientas se organizan en paquetes fáciles
de usar para minimizar el trabajo del desarrollo a nivel de programación (software).

Al ser una herramienta que incorpora un tanto manejo de hardware y software (circuitos eléctricos
y un lenguaje de programación respectivamente) se requiere un nivel de conocimiento básico en
estas dos ramas del desarrollo para operarla
Ventajas Desventajas

Dado que la programación


Multi-Plataforma - El
no se realiza en ensambler,
software de Arduino
el precio a pagar por el uso
funciona en los sistemas
de las librerías es
operativos Windows,
un retraso en la ejecución de
Macintosh OSX y Linux.
las instrucciones

Software ampliable y de
código abierto- El software
El hecho de que
Arduino esta publicado bajo
la plataforma venga ya
una licencia libre y
ensamblada le quita
preparado para ser ampliado
flexibilidad a los proyectos
por programadores
experimentados.

Hardware ampliable y de
Código abierto - Arduino
Obligados a usar un espacio
está basado en los
y forma acorde con el
microcontroladores
PCB del arduino
ATMEGA168, ATMEGA328
y ATMEGA1280. Los

Esquema 4. Ventajas y desventajas software Arduino


Fuente. [3]

Arduino en IoT

Arduino se ha convertido una figura destacada e incluso uno de los impulsores del IoT y no por
casualidad, sino que por sus características es un HW con gran capacidad para usar en proyectos
de IoT.

Características de Arduino para IoT:

 Barato y rápido prototipado.


 HW libre y por lo tanto es modificable para que consuma menos y para hacer un HW final de
características industriales.
 Disponibilidad de HW de comunicaciones de todo tipo para conectar con Arduino. Nuevas
tecnologías de comunicación llegan antes que para elementos comerciales
 Librerías y SW público para su reutilización o adaptación.
 Flexibilidad en la programación.
 Apoyo de la comunidad.

Arduino sirve para recoger datos no solo del entorno sino de máquinas o elementos externos y
comunicarnos con Internet, mediante su consumo eléctrico, contactos de alertas externas, su
temperatura, su posición.
Soporte

Comunidad Arduino

Fig. 6 Arduino Open-Source Community


Fuente.

Un factor del éxito de Arduino ha sido la comunidad que está apoyando este proyecto y que día a
día publica nuevo contenido, divulga y responde a las dudas. Arduino playground es un wiki donde
todos los usuarios de Arduino pueden contribuir. Es el lugar donde publicar y compartir código,
diagrama de circuitos, tutoriales, trucos, cursos, entre otros.

Herramientas de desarrollo

Navegación

arduino_ci - Arduino CI: es una gema de rubí que permite que las pruebas unitarias y las pruebas
de compilación se ejecuten como parte de la Integración Continua.
PlatformIO IDE: el entorno de desarrollo integrado de próxima generación para IoT con soporte
completo para Arduino y más de 200 tarjetas integradas.
Visual Studio Code Extension para Arduino: entorno de desarrollo de Arduino de fuente abierta y
multiplataforma con función de depuración.
Deviot: complemento de texto sublime para el desarrollo de IoT basado en PlatformIO
Embrio: una herramienta de desarrollo visual y en tiempo real para la programación de Arduino.
Arduino para Atmel Studio: Utilice Atmel Studio, el IDE propio de Atmel, como su entorno de
desarrollo Arduino
B4R: herramienta de desarrollo gratuita para Arduino y ESP8266 usando un lenguaje similar a
Visual Basic.
XOD: lenguaje de programación visual de código abierto e IDE para placas Arduino. [3]

Análisis de Tarjeta Arduino

Arduino Uno REV3

Fig. Arduino Uno REV3


Fuente. [4]

"Uno" significa uno en italiano y se eligió para marcar el lanzamiento de Arduino Software (IDE)
1.0. La placa Uno y la versión 1.0 de Arduino Software (IDE) fueron las versiones de referencia de
Arduino, ahora evolucionadas a nuevas versiones. La tarjeta Uno es la primera de una serie de
tarjetas Arduino USB y el modelo de referencia para la plataforma Arduino.

Físico

Fig. Atmega 168-328


Fuente. [4]

Memoria

El ATmega328 tiene 32 KB (con 0.5 KB ocupados por el gestor de arranque). También tiene 2 KB
de SRAM y 1 KB de EEPROM (que se pueden leer y escribir con la biblioteca EEPROM).

El ATmega328 en el Arduino Uno viene preprogramado con un cargador de arranque que le


permite cargar un nuevo código sin el uso de un programador de hardware externo. Se comunica
utilizando el protocolo STK500 original (referencia, archivos de cabecera C).

Los pines son los siguientes:


Pines Descripción
Vin. El voltaje de entrada a la placa Arduino / Genuino cuando utiliza una
fuente de alimentación externa (a diferencia de los 5 voltios de la
conexión USB u otra fuente de alimentación regulada).
5V. Este pin emite 5 V regulados desde el regulador en la placa. La placa
puede suministrarse con alimentación, ya sea desde el conector de
alimentación de CC (7-12 V), el conector USB (5 V) o el pin VIN de la
placa (7-12 V).
3V3. Un suministro de 3.3 voltios generado por el regulador de a bordo.
GND Pines de tierra.
IOREF. Este pin en la placa Arduino / Genuino proporciona la referencia de
voltaje con la que opera el microcontrolador
14 pines digitales En el Uno puede usarse como entrada o salida
Serie: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir (TX) datos serie TTL. Estos
pines se conectan a los pines correspondientes del chip serial
ATmega8U2 USB a TTL.
Interrupciones externas: 2 Estos pines se pueden configurar para activar una interrupción en un
y 3. valor bajo, un flanco ascendente o descendente, o un cambio en el
valor. Vea la función attachInterrupt () para más detalles.
PWM: 3, 5, 6, 9, 10 y 11. Proporcione una salida PWM de 8 bits con la función analogWrite ().
SPI:10 (SS), 11 (MOSI), 12 Estos pines soportan la comunicación SPI utilizando la biblioteca SPI.
(MISO), 13 (SCK).
LED: 13. Hay un LED incorporado accionado por el pin digital 13. Cuando el
pin tiene un valor ALTO, el LED está encendido, cuando el pin está
BAJO, está apagado.
TWI: pin A4 o SDA y pin Admite la comunicación TWI utilizando la biblioteca Wire
A5 o SCL.
6 entradas analógicas, Cada una de las cuales proporciona 10 bits de resolución (es decir,
etiquetadas de A0 a A5 1024 valores diferentes)
Tabla 1. Descripción de pines
Fuente. [4]
Parámetros Operacionales

Tensión de funcionamiento 5V
Voltaje de entrada (recomendado) 7-12V
Voltaje de entrada (límite) 6-20V
Corriente DC por Pin de E / S 20 mA
Corriente DC para 3.3V Pin 50 mA
Memoria flash 32 KB (ATmega328P) de los cuales 0.5 KB utilizados
por el cargador de arranque
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Velocidad de reloj 16 MHz
LED_BUILTIN 13
Longitud 68.6 mm
Anchura 53.4 mm
Peso 25 g
Tabla 2. Parámetros operacionales
Fuente. [4]

Arduino Mega 2560 REV3

Fig. Arduino Mega 2560 REV3


Fuente. [5]

El Arduino Mega 2560 es un tablero de microcontrolador basado en el ATmega2560, Contiene


todo lo necesario para soportar el microcontrolador; simplemente conéctelo a una computadora
con un cable USB o enciéndalo con un adaptador de CA a CC o una batería para comenzar. El
tablero Mega 2560 es compatible con la mayoría de los escudos diseñados para el Uno y los
tableros anteriores Duemilanove o Diecimila.
Fig. Atmega2560
Fuente. [5]

Memoria: El ATmega2560 tiene 256 KB de memoria flash para almacenar código (de los cuales 8
KB se utilizan para el cargador de arranque), 8 KB de SRAM y 4 KB de EEPROM (que se pueden
leer y escribir con la biblioteca EEPROM).

Físico
Pines Descripción
Vin. La tensión de entrada a la placa cuando utiliza una fuente de
alimentación externa (a diferencia de los 5 voltios de la conexión USB
u otra fuente de alimentación regulada).
5V. Este pin emite 5 V Regulados desde el regulador en la placa. La placa puede
suministrarse con alimentación, ya sea desde el conector de
alimentación de CC (7-12 V), el conector USB (5 V) o el pin VIN de la
placa (7-12 V).
3V3. Un suministro de 3.3 voltios generado por el regulador de a bordo. El
consumo máximo de corriente es de 50 mA.
GND Pines de tierra.
IOREF. Este pin en la placa proporciona la referencia de voltaje con la que
opera el microcontrolador.
54 pines digitales en el Mega se puede usar como entrada o salida
Serie: 0 (RX) y 1 (TX); Se utiliza para recibir (RX) y transmitir (TX) datos serie TTL. Los
Serial 1: 19 (RX) y 18 pines 0 y 1 también están conectados a los pines correspondientes del
(TX); Serial 2: 17 (RX) y chip serial ATmega16U2 USB a TTL
16 (TX); Serial 3: 15 (RX)
y 14 (TX).
Interrupciones externas: 2 Estos pines se pueden configurar para desencadenar una interrupción
(interrupción 0), 3 en un nivel bajo, un flanco ascendente o descendente, o un cambio de
(interrupción 1), 18 nivel. Vea la función attachInterrupt () para más detalles.
(interrupción 5), 19
(interrupción 4), 20
(interrupción 3) y 21
(interrupción 2).
PWM: de 2 a 13 y de 44 a Proporcione una salida PWM de 8 bits con la función analogWrite ().
46.
SPI: 50 (MISO), 51 Estos pines soportan la comunicación SPI utilizando la biblioteca SPI.
(MOSI), 52 (SCK), 53 (SS).
LED: 13. Hay un LED incorporado accionado por el pin digital 13. Cuando el
pin tiene un valor ALTO, el LED está encendido, cuando el pin está
BAJO, está apagado.
TWI: 20 (SDA) y 21 (SCL) Admite la comunicación TWI utilizando la biblioteca Wire
16 entradas analógicas cada una de las cuales proporciona 10 bits de resolución (es decir,
1024 valores diferentes)
AREF. Tensión de referencia para las entradas analógicas. Utilizado con
analogReference ().
Reiniciar. Lleve esta línea BAJA para reiniciar el microcontrolador.
Normalmente se usa para agregar un botón de reinicio a los escudos
que bloquean el que está en el tablero.
Tabla 3. Descripción de pines
Fuente. [5]
Parámetros Operacionales

Tensión de funcionamiento 5V
Voltaje de entrada (recomendado) 7-12V
Voltaje de entrada (límite) 6-20V
Corriente DC por Pin de E / S 20 mA
Corriente DC para 3.3V Pin 50 mA
Memoria flash 256 KB de los cuales 8 KB
SRAM 8 KB
EEPROM 4 KB
Velocidad de reloj 16 MHz
LED_BUILTIN 13
Longitud 101.52 mm
Anchura 53.3 mm
Peso 37 g
Tabla 4. Parámetros operacionales
Fuente. [5]
Arduino Nano

Fig. Arduino Nano


Fuente. [6]

El Arduino Nano es una tabla compacta similar a la UNO. El Arduino Nano es un tablero pequeño,
completo y fácil de usar basado en el ATmega328P (Arduino Nano 3.x). Tiene más o menos la
misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente. Solo le falta un
conector de alimentación de CC y funciona con un cable USB Mini-B en lugar de uno estándar.

Fig. Arduino Nano pines


Fuente. [6]

Memoria: El ATmega328 tiene 32 KB, (también con 2 KB utilizados para el cargador de arranque.
El ATmega328 tiene 2 KB de SRAM y 1 KB de EEPROM.
Físico
Pines Descripción
pin 30 Se puede alimentar a través de la conexión USB Mini-B, una fuente de
alimentación externa no regulada de 6-20 V
pin 27 una fuente de alimentación externa regulada de 5 V
GND Pines de tierra.
14 pines digitales En el Uno puede usarse como entrada o salida
Serie: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir (TX) datos serie TTL. Estos
pines se conectan a los pines correspondientes del chip serial FTDI
USB a TTL.
Interrupciones externas: 2 Estos pines se pueden configurar para activar una interrupción en un
y 3. valor bajo, un flanco ascendente o descendente, o un cambio en el
valor. Vea la función attachInterrupt () para más detalles.
PWM: 3, 5, 6, 9, 10 y 11. Proporcione una salida PWM de 8 bits con la función analogWrite ().
SPI:10 (SS), 11 (MOSI), 12 Estos pines soportan la comunicación SPI utilizando la biblioteca SPI.
(MISO), 13 (SCK).
LED: 13. Hay un LED incorporado accionado por el pin digital 13. Cuando el
pin tiene un valor ALTO, el LED está encendido, cuando el pin está
BAJO, está apagado.
8 entradas analógicas cada una de las cuales proporciona 10 bits de resolución (es decir,
1024 valores diferentes). Los pines analógicos 6 y 7 no pueden usarse
como pines digitales
I2C: A4 (SDA) y A5 (SCL). Admita la comunicación I2C (TWI) utilizando la biblioteca de Wire
(documentación en el sitio web de Wiring).
AREF. Tensión de referencia para las entradas analógicas. Utilizado con
analogReference ().
Reiniciar. Lleve esta línea BAJA para reiniciar el microcontrolador.
Normalmente se usa para agregar un botón de reinicio a los escudos
que bloquean el que está en el tablero.
Tabla 5. Descripción de pines
Fuente. [6]
Parámetros Operacionales
Arquitectura AVR
Tensión de funcionamiento 5V
Memoria flash 32 KB de los cuales 2 KB utilizados por el gestor de
arranque
SRAM 2 KB
Velocidad de reloj 16 MHz
EEPROM 1 KB
Corriente DC por los pernos de E / S 40 mA (pernos de E / S)
Voltaje de entrada 7-12 V
El consumo de energía 19 mA
Tamaño de PCB 18 x 45 mm
Peso 7g
Tabla 6. Parámetros operacionales
Fuente. [6]
4. CONCLUSIONES

 Se analizó cada uno de los equipos que contiene la plataforma de desarrollo de proyectos
Arduino y la funcionalidad que desempeñan en el campo.
 De manera gráfica se diferenció tanto software, hardware como soporte en los diferentes
ámbitos de trabajo de cada uno de los equipos que ofrece la plataforma.
 El desarrollo el análisis la parte física y funcional de las tarjetas Arduino en el desarrollo de
proyectos electrónicos.

5. BIBLIOGRAFÍA

[1] Arduino, «aprendiendoarduino.wordpress,» 2019. [En línea]. Available:


https://aprendiendoarduino.wordpress.com/tag/comunidad/ [Último acceso: 1 junio 2019].
[2] Arduino, «playground.arduino» 2019. [En línea]. Available:
https://playground.arduino.cc/Main/DevelopmentTools/#VSCODE [Último acceso: 1 junio 2019].
[3] Arduino, «aprendiendoarduino.wordpress» 2019, [En línea]. Available:
https://aprendiendoarduino.wordpress.com/2015/03/23/shields-para-arduino/ [Último acceso: 1
junio 2019].
[4] Arduino, «Arduino,» 2019. [En línea]. Available: https://store.arduino.cc/usa/arduino-uno-
rev3. [Último acceso: 1 junio 2019].
[5] Arduino, «Arduino,» 2019. [En línea]. Available: https://store.arduino.cc/usa/mega-2560-r3.
[Último acceso: 1 junio 2019].
[6] Arduino, «Arduino,» 2019, [En línea]. Available: https://store.arduino.cc/usa/arduino-nano.
[Último acceso: 1 junio 2019].

Vous aimerez peut-être aussi