Вы находитесь на странице: 1из 12

Universidad de Santiago de Chile

Facultad de Ingeniera
Departamento de Ingeniera Elctrica

Microcontrolador
es Arduino.
Estructura y
Programacin.

Profesor:

Manuel Vega Prez

Integrantes:

Juan Pablo Astudillo Pinto


Felipe Ayala
Emilio Baeza Contreras
Manuel Bravo Morales
Francisco Cares
Cristian Adn Contreras

Fecha entrega:

~ 1~

28 de Octubre de 2015

~ 2~

ndice
Introduccin................................................................................................... 3
Antecedentes histricos de Arduino...............................................................3
Tipos de Arduino......................................................................................... 3
Anlisis comparativo...................................................................................... 4
La tarjeta Arduino Leonardo...........................................................................4
Identificacin de pines y conectores...........................................................5
Estructura tpica de los programas Arduino...................................................6
Setup()........................................................................................................ 6
Loop().......................................................................................................... 7
Funciones.................................................................................................... 7
Smbolos especiales.................................................................................... 7
Definicin de Lneas de Entrada y Salida.......................................................8
Conclusiones.................................................................................................. 9
Bibliografa................................................................................................... 10

~ 3~

Introduccin
Los avances tecnolgicos han permitido el desarrollo de nuevas y diversas
aplicaciones en materia de microcontroladores. Esto ltimo ha creado la
necesidad de facilitar el uso de la electrnica y de extenderla a diversas
reas, a un costo accesible y al alcance de todos. Es por eso que nace la
plataforma Arduino, cuyas principales caractersticas son su condicin de
hardware libre, accesibilidad, simplicidad y trabajo en multiplataforma.
Arduino funciona en base a una placa con un microcontrolador y
programable mediante el uso de un lenguaje propio similar a C++.
En el presente informe se revisarn cada una de las caractersticas en
materia de Arduino, sus antecedentes, categoras, estructura fsica y
lenguaje.

Antecedentes histricos de Arduino


El Arduino fue inventado en el 2005 cuando el estudiante de instituto IVRAE
Massio Banzi, desea ayudar a los estudiantes de computacin y electrnica
a adquirir una placa de microcontroladores, ya que en ese entonces era
demasiado caras.
Inicialmente era un equipo era muy simple solo posee una placa donde se
colocar el controlador y algunos led o resistencias, al ao siguiente
Hernando Barragn contribuyo con el proyecto desarrollando el entorno de
programacin del microcontrolador.
Luego el espaol David Caurtielles ayudo a mejorar la interfaz de hardware
de esta placa, colocando microcontroladores necesarios para brinda soporte
y memoria al lenguaje de programacin.
Finalmente se agreg un puerto USB y ms potencia, con esto se empez la
distribucin de dentro del instituto, para seguir a Italia y luego Europa y el
mundo.

Tipos de Arduino
Arduino Uno

Arduino
Leonardo

Arduino Fio

Arduino Pro
Mini

Arduino BT

Arduino 101

Arduino Due

Arduino Nano

Arduino
Mega ADK

Arduino
Duemilanove

Arduino Zero

Arduino
Mega

Arduino
LilyPad

Arduino
Esplora

Arduino Yun

Arduino
Ethernet

Arduino Pro

Arduino
Micro

~ 4~

Arduino
Diecimila

~ 5~

Anlisis comparativo
Arduino
Microcontrolador

Uno

Leonardo

Due

Ethernet

Pro

ATmega328

ATmega32u4

AT91SAM3X8E

ATmega328

ATmega168

3.3

3.3

14 / 6 PWM

20

54 / 12 PWM

14 / 4 PWM

14 / 6 PWM

12

12

12

40 mA

40 mA

130 mA

40 mA

40 mA

---

---

800 mA

---

---

50 mA

50 mA

800 mA

50 mA

Memoria Flash

32 kB/0.5
KB
bootloader

32 KB /4 KB
bootloader

512 KB

32 kb /0.5 KB
bootloader

16 KB /2 KB
bootloader

SRAM

2 KB

2 Kb

96 KB /1x64
KB 1x32KB

2 KB

1 KB

EEPROM

1 KB

1 KB

1 KB

512 bytes

Velocidad de
reloj

16 MHz

16 MHz

84 MHz

16 MHz

8 MHz

Controlador
embebido

---

---

---

Ethernet W5100
TCP/IP

---

Extras

---

---

---

Voltaje
funcionamiento
Pines I/O
digitales
Canales PWM
Pines de
entradas
anlogas
Corriente DC por
cada pin I/O
Corriente DC en
el pin de 5 V
Corriente DC en
el pin de 3.3 V

Tarjeta MicroSD,
con adaptadores
activos de voltaje

---

La tarjeta Arduino Leonardo


EL arduino Leonardo es una placa basada en el microcontrolador
ATmega32u4. Posee 20 pines digitales de entrada/salida (los cuales 7
pueden ser usados como salidas PWM y 12 como entradas anlogas), un
oscilador de cristal de 16 MHz, una conexin micro USB, un Jack de poder,
un cabezal ICSP, un botn de reset. Adems contiene todo lo necesario para
soportar el microcontrolador, simplemente se conecta al computador por un
cable USB o se alimenta por medio de un adaptador AC/DC o a una batera y
est listo para empezar.

~ 6~

Leonardo difiere de sus predecesores en que su microcontrolador tiene


comunicacin USB directa, sin necesidad de un procesador secundario. Esto
permite que el computador reconozca al arduino como lo hara con un
mouse o teclado, adems de aparecer como un puerto virtual (CDC)
serial/COM.

Identificacin de pines y conectores

Ilustracin 1: Placa Arduino Leonardo.

Los pines, como se pueden ver en la imagen de la placa, se pueden


identificar de la siguiente manera:

Ilustracin 2: Identificaciones de pines 1.

~ 7~

Ilustracin 3: Identificacin de pines 2.

Ilustracin 4: Identificacin de pines 3.

Estructura tpica de los programas Arduino


La estructura del lenguaje de programacin se compone al menos de dos
partes: setup y loop. Donde setup () es la parte encargada de recoger la
configuracin y loop () es la que contiene el programa que se ejecutara
cclicamente.

Setup ()
La funcin setup se invoca una sola vez cuando el programa empieza. Se
utiliza para la declaracin de variables e inicializar los modos de trabajo de
los pins (pinMode) o el puerto serie. Debe ser incluido en un programa
aunque no haya declaracin que ejecutar. As mismo se puede utilizar para
establecer el estado inicial de las salidas de la placa.
Ejemplo:
Void setup ()
{
PinMode (pin, OUTPUT); // configura el 'pin' como salida
DigitalWrite (pin, HIGH); // pone el pin en estado HIGH
~ 8~
}

Loop ()
Despus de llamar a setup (), la funcin loop () se ejecuta de forma cclica
(loop = Bucle), lo que posibilita que el programa est respondiendo
continuamente ante los eventos que se produzcan en la placa.
Ejemplo:
Void loop ()
{
digitalWrite(pin, HIGH); // pone en uno (on, 5v) el 'pin'
delay(1000);
// espera un segundo (1000 ms)
digitalWrite(pin, LOW); // pone en cero (off, 0v.) el 'pin'
delay(1000);
}

Funciones
Las funciones son un bloque de cdigo que tiene nombre y conjunto de
instrucciones, las cuales se ejecutan cuando la funcin es llamada. Su
declaracin incluye en primer lugar el tipo de datos que devuelven, luego el
nombre de la funcin.
Estructura:
type nombreFuncin(parmetros)
{
instruccin;
}

Smbolos especiales
Comentarios: Pueden definirse con los smbolos /* al inicio del
comentario y */ al final de este (ej.: /*esto es un comentario*/), o tambin
pueden definirse con los smbolos //, pero estos ltimos definen una lnea
de comentarios, los cuales terminan con el inicio de la siguiente lnea de
cdigo (ej.: //esto es un comentario).
Parntesis de llaves {}: Sirven para definir el principio y final de un
bloque de instrucciones. Se utilizan para los bloques de programacin.
Parntesis redondos (): Indican los argumentos o entradas de las
funciones
. (ej.: pinMode (pin, Mode) donde pin y Mode son las entradas de la funcin).
Punto y coma ;: Se utiliza para separar instrucciones en el lenguaje de
programacin. Tambin se utiliza para separar elementos en una instruccin
de tipo bucle for.
Variables: Las variables deben ser declaras y opcionalmente asignadas. Al
declararse la variable se indica el tipo de dato que almacenara. La
declaracin puede ser echa al inicio del programa antes de setup (),

~ 9~

localmente en una funcin o incluso de un bloque. El sitio donde se declara


la variable determina si esta es global o local. (Ej.: int var =12;)
Constantes: Son expresiones predefinidas en el lenguaje del Arduino, estas
se clasifican en los siguientes grupos:

Definicin de niveles lgicos: true y false (verdadero y falso),


donde falso es 0 mientras que verdadero es cualquier valor distinto
de 0. (Notar que true y false estn en minsculas)

Definicin de niveles de los pin: HIGH and LOW (alto y bajo).


HIGH: El significado se diferencia dependiendo si el pin est
configurado como INPUT u OUTPUT. Cuando un pin es configurado
como INPUT con pinMode(), y ledo con digitalRead(), el Arduino
reportara cono HIGH si:
- El pin tiene un voltaje mayor que 3 volts en placas de 5V
- El pin tiene un voltaje mayor que 2 Volt en placas de 3.3V.
o LOW: El significado se diferencia dependiendo si el pin est
configurado como INPUT u OUTPUT. Cuando un pin es configurado
como INPUT con pinMode(), y ledo con digitalRead(), el Arduino
reportara cono LOW si:
- El pin tiene un voltaje menor que 3 volts en placas de 5V
- El pin tiene un voltaje menor que 2 Volt en placas de 3.3V.
Definicin de LED_BUILTIN: La mayora de los Arduinos tienen un
pin conectado a un Led onboard en serie con una resistencia, la
constante LED_BUILTINT es el nmero del pin a la que este led est
conectado, usualmente es el pin 13.
o

Definicin de Lneas de Entrada y Salida


Los pines digitales pueden ser usados como INPUT, INPUT_PULLUP u
OUTPUT. Cambiando un pin con pinMode () se cambia el comportamiento
elctrico del pin.
INPUT: Estado de alta impedancia. Este estado es til para lecturas usando
una resistencia de 10 Kohm de pull-up o pull-down para evitar errores
cuando se encuentra el ping en circuito abierto.
INPUT_PULLUP: El Arduino tiene resistencias pull-up internas a las que se
pueden acceder usando esta configuracin.
OUTPUT: Estado de baja impedancia, esto significa que pueden proveer
una gran cantidad de corriente hacia otros circuitos, el arduino Leonardo
puede proveer o absorber corrientes de hasta 40 mA.

~ 10~

Conclusiones
La aparicin de Arduino ha facilitado de manera considerable el trabajo con
microcontroladores, debido a su bajo costo, facilidad de uso y accesibilidad.
Dada la gran cantidad de documentacin y videos presentes en la web, es
una herramienta inestimable para el que desee iniciarse en la electrnica.
Su diseo y versatilidad permiten el desarrollo de una gran cantidad de
aplicaciones, entre las que destacan la educacin, robtica y el rea de la
medicina.
Existe una gran variedad de microcontroladores Arduino, cuya aplicacin y
utilidad depender de las necesidades de la persona en cuestin.
El entorno de programacin es bastante intuitivo y flexible, lo que lo hace
ideal para aquellos que deseen iniciarse en programacin o con fines
educativos. Adems, por ser multiplataforma, puede ser utilizado en
diversos sistemas operativos.

~ 11~

Bibliografa
Arduino.cc. (s.f.). Obtenido de http://playground.arduino.cc:
http://playground.arduino.cc/ArduinoNotebookTraduccion/Structure
dfists.ua.es. (s.f.). Obtenido de http://dfists.ua.es:
http://dfists.ua.es/~jpomares/arduino/page_04.htm
pighixxx. (8 de Marzo de 2013). Obtenido de http://pighixxx.tumblr.com:
http://pighixxx.tumblr.com/image/44858834224

~ 12~

Вам также может понравиться