Vous êtes sur la page 1sur 13

1 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

INTRODUCCIN ARDUINO

Ilustracin 1 Arduino UNO.

Ilustracin 2Arduino MEGA 2560

Objetivos
Describir las caractersticas bsicas de la placa Arduino One y Arduino Mega 2560 y se
brinden las condiciones necesarias para realizar la programacin de las mismas.
Acercar al diseo y desarrollo de proyectos basados en Arduino.
Brindar opciones de simulacin para las tarjetas Arduino.

||cristhian.riano@unipamplona.edu.co

cristhianivanrj@gmail.com

2 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

Caractersticas Generales
La plataforma Arduino es una plataforma open-hardware con ideologa de electrnica libre,
basada en una sencilla placa con entradas y salidas (E/S), analgicas y digitales por lo que su
diseo es de libre acceso.
La filosofa de software libre permite:
Estudiar el Hardware para entender cmo funciona.
Hacer modificaciones al Hardware.
Poder compartir modificaciones con la comunidad.
Tener acceso a una comunidad activa de usuarios y desarrolladores.
Gran cantidad de software y hardware disponible para autoconstruir.
Precios bajos.
Arduino puede adquirir variables de su entorno mediante sus entradas por medio de sensores
y puede generar acciones que alteren el entorno mediante la manipulacin de sus salidas. A
continuacin se mencionan algunos de los campos de aplicacin:

Robtica Mvil.
Instrumentacin y sensrica.
Control de Proceso.
Domtica.

Hay muchos otros microcontroladores y plataformas microcontroladoras similares a la


plataforma Arduino disponibles como, Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's
Handyboard, y muchas otras. La principal caractersticas de estas herramientas es facilitar la
programacin del Microcontrolador y hacer ms verstil y factible para distintos proyecto.
Selecciona Arduino trae las siguientes ventajas respecto a las otras:
Barato: Las placas Arduino son baratas comparadas con otras plataformas micro
controladoras. La versin menos cara del mdulo Arduino puede ser ensamblada a
mano, e incluso los mdulos de Arduino preensamblados cuestan menos de 50$.
Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows,
Macintosh OSX y GNU/Linux. La mayora de los sistemas microcontroladores estn
limitados a Windows.
Entorno de programacin simple y claro: El entorno de programacin de Arduino es fcil
de usar para principiantes, pero suficientemente flexible para que usuarios avanzados
puedan aprovecharlo tambin.
Cdigo abierto y software extensible: El software Arduino est publicado como
herramientas de cdigo abierto (open-source), disponible para extensin por
programadores experimentados. El lenguaje puede ser expandido mediante libreras C+
+, y la gente que quiera entender los detalles tcnicos pueden hacer el salto desde
Arduino a la programacin en lenguaje assembler.

||cristhian.riano@unipamplona.edu.co

cristhianivanrj@gmail.com

3 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

Cdigo abierto y hardware extensible: El Arduino est basado en microcontroladores


ATMEGA8 y ATMEGA168 de Atmel. Los planos para los mdulos estn publicados bajo
licencia Creative Commons, por lo que diseadores experimentados de circuitos pueden
hacer su propia versin del mdulo, extendindolo y mejorndolo. Incluso usuarios
relativamente inexpertos pueden construir la versin de la placa del mdulo para
entender cmo funciona y ahorrar dinero.
Arduino UNO y MEGA es una tarjeta electrnica basada en el Microcontrolador Atmega328 y
ATmega2560 respectivamente. Arduino UNO Dispone de 14 entradas/salidas digitales, 6 de las
cuales se pueden emplear como salidas PWM (modulacin de anchura de pulsos). Dispone
tambin de 6 entradas analgicas, un oscilador de 16MHz, una conexin USB, un conector de
alimentacin, un conector ICSP y un pulsador para el reset. Arduino Mega 2560 es una versin
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
(modulacin de anchura de pulso). Adems dispone de 16 entradas analgicas, 4 UARTs
(puertas series), un oscilador de 16MHz, una conexin USB, un conector de alimentacin, un
conector ICSP y un pulsador para el Reset. 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.
La tarjeta Arduino MEGA2560 es compatible con la mayora de los shield o tarjetas de
aplicacin/ampliacin disponibles para las tarjetas Arduino UNO original.
Las caractersticas ms relevantes se resumen a continuacin:
Arduino Uno
Microcontrolador
ATmega328
Voltaje
de 5V
Operacin
Alimentacin
7-12V
(Recomendado)
Pines
lneas
de 14
entradas/salidas
Digitales
Salidas PWM
6
Entradas
6
Analgicas
Corriente Mxima 40mA
por Pin
Comunicacin
serial
Memoria Flash
32 Kb
Memoria SRAM,
2Kb
Memoria EEPROM 1 Kb
(para variables de
datos no voltiles)
Frecuencia del Reloj 16 MHz

||cristhian.riano@unipamplona.edu.co

Arduino Mega
Microcontrolador
ATmega2560
Voltaje
de 5 V
Operacin
Alimentacin
7-12V
(Recomendado)
Pines
lneas
de 54
entradas/salidas
Digitales
Salidas PWM
14
Entradas
16
Analgicas
Corriente Mxima 40mA
por Pin
Comunicacin
Serial
Memoria Flash
256Kb
8Kb
Memoria EEPROM 4Kb
(para variables de
datos no voltiles)
Frecuencia del Reloj 16 MHz

cristhianivanrj@gmail.com

4 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

Descripcin Fsica
La tarjeta Arduino UNO Y Mega puede ser alimentada a travs de la conexin USB o con un
suministro de energa externo. La alimentacin externa (no USB) puede venir o desde un
adaptador AC-a-DC o desde una batera. El adaptador puede ser conectado mediante un
enchufe centro-positivo en el conector de alimentacin de la placa. Los cables de la batera
pueden insertarse en las cabeceras de los pines Gnd y Vin del conector POWER ya que la
tarjeta cuenta con un regulador de voltaje de buena eficiencia. El rango recomendado es de 7 a
12 voltios.

Pin POWER
Pin VIN: La entrada de tensin a la placa Arduino cuando est usando una fuente de
alimentacin externa (al contrario de los 5 voltios de la conexin USB u otra fuente de
alimentacin regulada). Puedes suministrar tensin a travs de este pin, o, si suministra
tensin a travs del conector de alimentacin, acceder a l a travs de este pin.
Pin 5V. El suministro regulado de energa usado para alimentar al Microcontrolador y otros
componentes de la placa. Este puede venir o desde VIN a travs de un regulador en la placa,
o ser suministrado por USB u otro suministro regulado de 5 V.
Pin 3.3V. Un suministro de 3.3 V generado por el chip FTDI de la placa. La corriente mxima es
de 50mA.
Pin GND. Pines de Tierra.

Ilustracin 3 Distribucin Pines Arduino UNO

PIN Digital (PWM~)

||cristhian.riano@unipamplona.edu.co

cristhianivanrj@gmail.com

5 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

Cada uno de los 14 pines digitales de la Arduino Uno al igual que los 54 de la Arduino Mega
puede ser usado como entrada o salida, usando funciones pinMode(), digitalWrite() y
digitalRead()2. Operan a 5 voltios. Cada pin puede proporcionar o recibir un mximo de 40 mA
y tiene una resistencia interna pull-up (desconectada por defecto) de 20-50 KOhms. Adems,
algunos pines tienen funciones especiales:
Pin Serial: 0 (Rx) y 1 (Tx). Usados para recibir (Rx) y transmitir (Tx) datos TTL en serie. Estos
pines estn conectados a los pines correspondientes del chip FTDI USB-a-TTL Serie.
Pin 2 y 3. Interrupciones Externas Estos pines pueden ser configurados para disparar una
interrupcin
interna, con flanco de subida o flanco de bajada. Mirar la funcin
attachInterrupt().
Pin PWM: 3, 5, 6, 9, 10 y 11. Proporcionan salida PWM de 8 bits con la funcin analogWrite()
Pin SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines soportan comunicacin SPI (Serial
Peripheral Interface), la cual, aunque proporcionada por el hardware subyacente, no est
actualmente incluida en el lenguaje Arduino.
Pin LED: 13. Hay un LED empotrado conectado al pin digital 13. Cuando el pin est a valor
HIGH, el LED est encendido, cuando el pin est a LOW, est apagado.

Pines Analog Input


El Arduino UNO tiene 6 entradas analgicas, cada una de las cuales proporciona 10 bits de
resolucin (por ejemplo 1024 valores diferentes). Por defecto miden 5 voltios desde tierra,
aunque es posible cambiar el valor ms alto de su rango usando el pin ARF y algn cdigo de
bajo nivel. Adems, algunos pines tienen funcionalidad especializada:
Pin TWI: A4 o SDA and A5 o Pin SCL. Soportan comunicacin IC (TWI) usando la libreria Wire5.
Hay otro par de pines en la placa.
Pin AREF. Voltaje de referencia para las entradas analgicas. Usado con analogReference().
Pin Reset. Pone esta linea a LOW para resetear el Microcontrolador. Tpicamente usada para
aadir un botn de reset a dispositivos que bloquean a la placa principal.
Sistemas de Identificacin: Es una aproximacin experimental. Se desarrollan
algunos
experimentos en el proceso y se determina un modelo, con unos parmetros asignados que no
tiene un significado fsico.

Comunicacin

||cristhian.riano@unipamplona.edu.co

cristhianivanrj@gmail.com

6 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

La Arduino UNO y Mega tiene un nmero de infraestructuras para comunicarse con un


ordenador, otro Arduino, u otros microcontroladores. El ATmega 328 provee comunicacin serie
UART TTL(5V), la cual est disponible en los pines digitales 0 (Rx) y 1 (Tx). Un ATmega16U2 en
la placa canaliza esta comunicacin serie al USB y los drivers (incluidos con el software
Arduino) proporcionan un puerto de comunicacin virtual al software del ordenador. El software
Arduino incluye un monitor serie que permite a datos de texto simple ser enviados a y desde la
placa Arduino. Una libreria SoftwareSerial permite comunicacin serie en cualquiera de los
pines digitales de la Unos.

Programacin
Para iniciar hay que conectar la placa Arduino al ordenador y cargar una primera rutina para lo
cual seguiremos los siguientes pasos.
1. Descargar el entorno Arduino. Lo podemos descargar del siguiente enlace. Download.
2. Instalar los Drivers Usb. Tan pronto conectemos el dispositivo saldr una viso el
dispositivo no se reconoce por lo que debemos direccionar en el equipo.
3. Conectamos la placa Arduino si es por primera vez observamos como parpadea un led.
4. Luego de descargar el entono Arduino descomprimimos la carpeta no necesita instalacin
y realizamos doble click en la aplicacin Arduino.
5. Abrimos una Rutina que nos proporciona como ejemplo que es el parpadeo de un Led en
la siguiente ruta arduino-1.0.5-windows\arduino-1.0.5\examples\01.Basics\Blink.
6. El Arduino Unos y Mega puede ser programado con el software Arduino. Seleccione el
tipo de Board o tarjeta con la que se cuenta como se muestra en la Ilustracin 44.

Ilustracin 4. Seleccionar Board.

||cristhian.riano@unipamplona.edu.co

cristhianivanrj@gmail.com

7 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

7. Seleccionar el dispositivo serie de la placa Arduino desde el menu Herramientas > Puerto
Serie. En Windows, este debera ser COM1 o COM2 para la placa serie Arduino, o COM3,
COM4 o COM5 para la placa USB. Para estar seguro de la eleccin nos dirigimos
Administrador de Dispositivos de Windows (En la pestaa Hardware o en el Panel de
Control de Sistema). Buscar puertos (COM y LPT) identificamos el COM de la placa
Arduino para nuestro caso COM4 como se pareca en la Ilustracin 5.

Ilustracin 5 Seleccin Puerto Serie.


8. Luego de tener seleccionada la tarjeta y el puerto procedemos a verificar el programa y
por ltimo en archivo cargar despus de unos pocos segundos se encendern los leds TX
y RX que indican que la comunicacin serie se estableci. como se muestra en la
Ilustracin 6.

Ilustracin 6 Cargar Programa en Tarjeta Arduino.

||cristhian.riano@unipamplona.edu.co

cristhianivanrj@gmail.com

8 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

Simulacin
Trabajar con las tarjetas Arduino brinda ciertas ventajas pues trabaja con los Chips ATmega de
la empresa Atmel cuyas libreras se encuentran presentes en distintos simuladores. Simular
nos permitir observar el comportamiento de los chips con componentes virtuales
(Resistencias, Leds, Motores) por lo que nos permite realizar cambios, probar rutinas,
perfeccionar el desempeo y reducir costos. Para cumplir con este objetivo se propone
Labcenter Electronics Proteus a la que pertenece el programa Isis, que permite la simulacin de
chips ATmega y la usaremos para probar los circuitos que necesitemos en los proyectos.
1.

Si abrimos el esquema correspondiente a tarjeta Arduino UNO con el Proteus, nos


mostrara el diagrama que se muestra la Ilustracin 7. Se aprecia con los elementos que
componen la placa:

Ilustracin 7 Diagrama Arduino UNO.


2.

Para simular el cdigo, debemos cargar el programa de la misma forma que lo haramos
con el programador solo que en este caso direccionamos el archivo resultante de la
compilacin al Microcontrolador. Para acceder al Microcontrolador combinamos click mas la
teclas Ctrl +C y haciendo doble clic sobre el Microcontrolador se nos abrir la ventana de
configuracin del ATmega328P como se muestra en Ilustracin 8 Ctrl+X.

Ilustracin 8 Diagrama ATmega 328P

||cristhian.riano@unipamplona.edu.co

cristhianivanrj@gmail.com

9 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

3.

Para simular el cdigo, debemos generar el archivo .hex el cdigo compilado se guarda
en una carpeta temporal. Para conocer la ruta en donde se guarda el .hex habilitamos la
opcin para mostrar la salida del compilador. Para ello vamos dentro del software de
Arduino a Archivo - Preferencias y activamos la opcin mostrar resultado detallado durante
compilacin como se muestra en la Ilustracin 9 .

Ilustracin 9. Mostrar Resultado detallado durante Compilacin.


4.

Es recomendable crear un acceso directo para la ruta que nos proporciona el software
Arduino en la parte inferior para acceder al archivo hex rapidamente.

Ilustracin 10. Ruta de archivo *.Hex

||cristhian.riano@unipamplona.edu.co

cristhianivanrj@gmail.com

10 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

5.

Luego que conocemos la ruta del archivo *.Hex generado en la compilacin lo cargamos
al microcontrolador realizando doble click sobre l nos aparece la ventana Edit
Component y en Program File seleccionamos el archivo como se muestra en la
Ilustracin 11

Ilustracin 11 Cargar Archivo Hex en el Microcontrolador.


6.

El Microcontrolador ya tiene la rutina a ejecutar, por lo que salimos de la ventana


aceptando los cambios, pulsamos CTRL+X para volver al circuito del Arduino y hacemos clic
sobre el boton de play para iniciar la ejecucin del cdigo, observando su comportamiento.

Estructura Bsica de un Programa.


La estructura de programacin de Arduino es simple y divide la ejecucin en por lo menos dos
partes o funciones que encierran bloques de declaraciones setup y Loop:
int led = 13;
void setup()
{
pinMode(led, OUTPUT); //Ajusta Led como salida
}

void setup()
{
statements;
}
void loop()
{
statements;
}

void loop()
{
digitalWrite(led, HIGH);
delay(1000);
// wait for a second
digitalWrite(led, LOW);
delay(1000);
// wait for a second

||cristhian.riano@unipamplona.edu.co

10

cristhianivanrj@gmail.com

11 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

Ambas funciones son requeridas para que el programa funcione.

setup()
La funcin setup debe contener la declaracin de variables al comienzo del programa. Es la
primera funcin a ejecutar en el programa, es ejecutada una vez y es usada para asignar
pinMode o inicializar las comunicaciones serie.

loop()
La funcin loop se ejecuta luego de setup() e incluye el cdigo que se ejecuta continuamente
leyendo entradas, activando salidas, etc. Esta funcin es el ncleo de todos los programas
Arduino y soporta la mayor parte del trabajo.

Funciones
Una funcin es un bloque de cdigo que tiene un nombre y un grupo de declaraciones que se
ejecutan cuando se llama a la funcin. Podemos hacer uso de funciones integradas como void
setup() y void loop() o escribir nuevas. Las funciones se escriben para ejecutar tareas
repetitivas y reducir el desorden en un programa. En primer lugar se declara el tipo de la
funcin, que ser el valor retornado por la funcin (int, void...). A continuacin del tipo, se
declara el nombre de la funcin y, entre parntesis, los parmetros que se pasan a la funcin
como se muestra a continuacin.

type functionName(parameters)
{
statements;
}
Llaves {}

int delayVal()
{
int v; //crea una variable temporal 'v'
v = analogRead(pot); //lee el valor del
potencimetro
v /= 4; //convierte 0-1023 a 0-255
return v; //devuelve el valor final de v
}

Las llaves definen el comienzo y el final de bloques de funcin y bloques de declaraciones


como void loop() y sentencias for e if. Las llaves deben estar balanceadas (a una llave de
apertura { debe seguirle una llave de cierre }). Las llaves no balanceadas provocan errores de
compilacin. El Software Arduino incluye una prctica caracterstica para chequear el balance
de llaves. Slo se debe seleccionar una llave y su compaera lgica aparecer resaltada.

void loop()
{
statements;
}

||cristhian.riano@unipamplona.edu.co

11

cristhianivanrj@gmail.com

12 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

Trabajo en Clase
1.

Completar la siguiente Tabla

Instruccin

Descripcin

Ejemplo

; (punto y coma)
/* */ (bloque de comentarios)
// lnea de comentarios

2.

Describir como se realiza la declaracin de variables en el software de programacin de


Arduino y completar la siguiente tabla.

Instruccin

Descripcin

Ejemplo

byte
int
long
float
arrays

3.

Describir como se realiza las operaciones aritmticas (Suma, Resta, Multiplicacin,


Division) y completar la siguiente tabla.

Instruccin

Descripcin

Ejemplo

x ++
x -x += y
x -= y
x *= y
x /= y
x == y
x != y
x<y
x>y

||cristhian.riano@unipamplona.edu.co

12

cristhianivanrj@gmail.com

13 de 13

UNIVERSIDAD DE PAMPLONA PROGRAMACIN

MECATRNICA
Introduccin Arduino
20 de Mayo 2013

Facultad de Ingenieras y Arquitectura


Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

Bibliografa
http://arduino.cc/en/Main/arduinoBoardUno
http://arduino.cc/en/Main/arduinoBoardMega2560

||cristhian.riano@unipamplona.edu.co

13

cristhianivanrj@gmail.com

Vous aimerez peut-être aussi