You are on page 1of 22

Santiago Sur.

Automatizacin y Control Industrial.


Proyecto de Control.

Gua de Arduino.

Nombre Alumno (s): Joshua Gonzlez Almarza


Christian Lara Arellano
Nombre Profesor (s): Hernn Pimentel Torrejn
Joel Vega Caro
Fecha: 29 de Noviembre de 2013

CONTENIDO
1 Informacin General sobre Hardware Arduino.. 3
2. Especificaciones tcnicas Arduino Mega 2650...4
2.1. Alimentacin....................................................................................................4
2.2. Pines de alimentacin...................................................................................... 5
2.3. Ancho de pulso (PWM)................................................................................... 5
2.4. Entradas analgicas..........................................................................................5
2.5. Software de Programacin...............................................................................6
2.6. Caractersticas fsicas compatibilidad del Shield.6
2.7. Instalacin y conexin de placa Arduino.........................................................6
2.8. Comunicacin serial Arduino Y Matlab (Simulink)10
2.9. Experiencias prcticas de Arduino..................................................................15
2.9.1. Encender y Apagar un LED..........................................................................15
2.9.2. Conectar una pantalla LCD 16x2 a la placa de desarrollo Arduino. .......... 16
2.9.3. Ultrasnico................................................................................................... 18
2.9.4. Control dual................................................................................................. 19
2.9.5. Control de un Servomotor....20
BIBLIOGRAFIA.22

1. Informacin General sobre Hardware Arduino


Arduino es una plataforma fsica computacional open-hardware basada en una sencilla placa con
entradas y salidas (E/S), analgicas y digitales, y en un entorno de desarrollo que implementa el
lenguaje Processing/Wiring. Arduino puede utilizarse en el desarrollo de objetos interactivos
autnomos o puede conectarse a un PC a travs del puerto serie utilizando lenguajes como Flash,
Processing, MaxMSP, etc. Las posibilidades de realizar desarrollos basados en Arduino tienen
como lmite la imaginacin.
El Arduino Mega est basado en el microcontrolador ATMega2560. Tiene 54 pines de
entradas/salidas digitales (14 de las cuales pueden ser utilizadas como salidas PWM), 16 entradas
anlogas, 4 UARTs (puertos serial por hardware), cristal oscilador de 16 MHz, conexin USB, jack
de alimentacin, conector ICSP y botn de reset. Incorpora todo lo necesario para que el
microcontrolador trabaje; simplemente conctalo a tu PC por medio de un cable USB o con una
fuente de alimentacin externa.

2. Especificaciones tcnicas Arduino Mega 2650


Microcontrolador
Voltaje de funcionamiento Interno
Voltaje de Entrada
(recomendado)
Voltaje de Entrada (Lmites)
Digital pines I / O

Atmega2560
5V
7-12V

6-20V
54 (de los cuales 14 proporcionan una
salida PWM)
Pines de entrada analgica
16
Corriente DC mxima por Pin en 5v
40 mA.
Corriente DC mxima por Pin en 3,3v
50 mA.
Memoria Flash
256 KB de los cuales 8 KB utilizadas por
gestor de arranque
SRAM
8 KB
EEPROM
4 KB
Velocidad
16 MHz

2.1. Alimentacin.
Arduino mega puede ser alimentado mediante el puerto USB o con una fuente externa de
poder. La alimentacin es seleccionada de manera automtica. Cuando se trabaja con una
fuente externa de poder se debe utilizar un convertidor AC/DC y regular dicho voltaje en el
rango opertico de la placa. De igual manera se puede alimentar el micro mediante el uso
de bateras. Preferiblemente el voltaje debe estar en el rango de los 7v hasta los 12v.

2.2. Pines de alimentacin.


Arduino mega posee algunos pines para la alimentacin del circuito aparta del adaptador
para la alimentacin:
VIN: A travs de este pin es posible proporcionar alimentacin a la placa.
5V: Podemos obtener un voltaje de 5V y una corriente de 40mA desde este pin.
3.3V: Podemos obtener un voltaje de 3.3V y una corriente de 50mA desde este pin.
GND: El tierra (ground) de la placa (0V).
NOTA: Al alimentar la placa Arduino corrobore que el voltaje de entrada est dentro del
rango recomendado entre 7 y 12 voltios. Si utiliza ms de 12V, el regulador de voltaje se
puede sobrecalentar y daar la placa.
4

Memoria: El Atmega2560 tiene 256 KB de memoria flash para almacenar cdigo (de los
cuales 8 KB se utiliza para el gestor de arranque), 8 KB de SRAM y 4 KB de EEPROM
(que puede ser ledo y escrito con la librera EEPROM).
Cada uno de los 54 pines digitales de la placa Arduino Mega se puede utilizar como entrada
o de salida, mediante las funciones pinMode (), digitalWrite (), y digitalRead (). Ellos
operan a 5 voltios. Cada pin puede proporcionar o recibir un mximo de 40 mA. Y tiene
una resistencia interna de pull-up (desconectado por defecto) de 20 a 50 k.

2.3. Ancho de pulso (PWM).


A travs del software de programacin, cualquier pin digital puede ser utilizado como
PWM, pero por defecto la placa Arduino viene pre-programada para trabajar con este
sistema en los pines 2 al 13 y 44 al 46, con una frecuencia de trabajo de 498 Hz,
aproximadamente 0,5KHz.

Figura 2.3.1.
Como se sabe, en ocasiones el trabajo de motores de corriente continua modulados a travs
de ancho de pulso a bajas frecuencia, puede provocar sonidos audibles o perceptibles al
odo humano. Dado esto, la placa Arduino viene equipada con una funcin que permite
modificar la frecuencia de trabajo de algunos pines PWM; mediante 3 Timers incluidos en
la placa.

2.4. Entradas analgicas.


La placa Arduino Mega2560 tiene 16 entradas analgicas, cada una proporciona 10 bits de
resolucin (es decir 1024 valores diferentes). Por defecto miden desde Gnd a 5 voltios,
aunque es posible cambiar el extremo superior de su rango, mediante los pines AREF y
analogReference () funcin.
5

2.5. Software de Programacin.


El Arduino Mega se puede programar con el software de Arduino el cual se puede
descargar desde la pgina http://arduino.cc/en/Main/Software.
El Atmega2560 en el Arduino Mega viene pre-quemado con un gestor de arranque que le
permite cargar nuevo cdigo a la misma, sin el uso de un programador de hardware
externo. Se comunica con el protocolo original STK500 Tambin puede pasar por alto el
gestor de arranque y el programa del microcontrolador a travs de la ICSP (programacin
In-Circuit Serial).

2.6. Caractersticas fsicas compatibilidad del Shield.


El largo y ancho de la placa Arduino Mega2560 es de 4 y 2,1 pulgadas respectivamente,
con el conector USB y conector de alimentacin se extiende ms all de la dimensin
anterior. Tres orificios de los tornillos permiten que la tarjeta sea sujeta a una superficie o
caja. Obsrvese que la distancia entre los pines digitales 7 y 8 es de 160 milsimas de
pulgada (0,16 "), diferente al resto de los pines, para dar a conocer al usuario, el cambio de
timer que utiliza el puerto de salida.

2.7. Instalacin y conexin de placa Arduino.


Para instalar el driver de Arduino y realizar su conexin con el computador es necesario lo
siguiente:
1. Es necesario de nuestra placa Arduino en este caso usaremos el modelo Mega 1280
y un cable USB tipo B.

Cable USB tipo B (impresoras)

Placa Arduino Mega 1280

2. Es necesario tambin tener el Software de Arduino, se recomienda utilizar las


ltimas versiones disponibles en la pgina oficial del Hardware. Cuando finalice la
descarga, descomprimir el archivo descargado. Haga doble clic en la carpeta para
abrirla. En el interior estn los archivos de funcionamiento doble click en el
ejecutable y seguimos las recomendaciones del programa.
3. Conecte la placa Arduino al computador mediante el cable USB. El LED de
encendido verde (con la etiqueta PWR) debe encender y parpadear.
4. Respecto a la instalacin de los controladores cuando conectas la placa, Windows
debera inicializar la instalacin de los drivers (siempre y cuando no hayas utilizado
ese ordenador con una placa Arduino anteriormente).
En Windows Vista y Windows 7, los drivers deberan descargarse e instalarse
automticamente.
En Windows XP, se abrir el dilogo de instalacin de Nuevo Hardware:

Cuando aparezca en la pantalla la siguiente pregunte: Puede Windows


conectarse a Windows Update para buscar el software? Selecciona
No, no esta vez. Haz click en Siguiente.

Selecciona Instalar desde una


(Avanzado) haz click en Siguiente.

Asegrate que Buscar los mejores drivers en estas localizaciones est


seleccionado;
deselecciona Buscar
en
medios
removibles;
selecciona Incluye esta localizacin en la bsqueda y navega al
directorio drivers/FTDI USB Drivers dentro de la carpeta de Arduino que
has descomprimido previamente.

El asistente de instalacin buscar los drivers y te anunciar que encontr un


"USB Serial Converter" (se traduce por Conversor USB-Serie). Haz click
en Finalizar.

El asistente de instalacin de hardware volver a iniciarse. Repite los


mismos pasos que antes y selecciona la misma carpeta de instalacin de
los drivers. Esta vez el sistema encontrar un "USB Serial Port" (o Puerto
USB-Serie).
7

lista

localizacin

especfica

Puedes comprobar que los drivers se han instalado correctamente abriendo la


carpeta del Administrador del Dispositivos, en el grupo Dispositivos del
panel de control del sistema. Busca "USB Serial Port" (o Puerto USB-Serie)
en la seccin de puertos; esa es tu placa Arduino.

5. Ejecuta la Aplicacin Arduino haciendo doble click en la aplicacin Arduino.


6. Seleccione el programa de ejemplo para hacer parpadear un LED ("LED blink"):
Archivo > Ejemplos > Basics > Blink.

7. Para seleccionar el tipo de placa a utilizar nos posicionamos en el men de


herramientas > Tarjeta > Arduino Mega (ATmega 1280).

8. Para seleccionar el puerto serie posicionamos el cursor en Herramientas > Puerto


Serial > ComX, (ComX, se dejara expresado de esta forma para cualquier nmero
que acompae a Com). Lo ms probable es que venga predeterminado con el
puerto COM3 o mayor (COM1 y COM2 se reservan, por regla general para
puertos serie de hardware). Para asegurarte de cul es, puedes desconectar la placa y
volver a mirar el men; el puerto de la placa habr desaparecido de la lista.
Reconecta la placa y selecciona el puerto apropiado.

Despus de los pasos anteriores cargamos el ejemplo en nuestra placa Arduino, unos
pocos segundos despus de finalizar el proceso de envi del programa deberas ver
cmo el led de la placa comienza a parpadear (con un color naranja).

Nota: Si se instala el software de Arduino en un idioma incorrecto, puede cambiarlo


en el dilogo de preferencias.

2.8. Comunicacin serial Arduino Y Matlab (Simulink)


1) Para empezar es necesario entrar en Matlab e iniciar Simulink como se muestra en
la imagen

2) Una vez que adentro de Simulink seleccionamos la librera llamada Instrument


Control Toolbox agregamos los bloques para la comunicacin de la placa con el
software de Arduino y Matlab, cuales son:

10

Elementos de Comunicacin Serial:

Serial Send.
Serial Receive.
Serial Configuration.

8.1) una vez seleccionados los elementos se comunicacin serial es necesario


Configurarlos, damos doble click en el bloque Serial Receive apareciendo un
nuevo bloque llamado Source Block: Serial Receive donde debemos seleccionar
la opcin Communication Port, esta opcin nos permite seleccionar el puerto de
comunicacin para l envi o recepcin de datos.

Se debe seleccionar el mismo puerto de comunicacin que se utiliza en la placa


Arduino, caso contrario no se producir la comunicacin entre el software y el
hardware.

11

8.2) De igual forma se debe configurar el bloque Serial Send dando doble click
en l, apareciendo un cuadro llamado Sink Block Parameters: Serial Send, ac
debemos cambiar al parmetro de comunicacin llamado Communication port en el
seleccionamos el puerto de comunicacin designado en los dems bloques de
comunicacin y en la placa Arduino.

8.3) respecto al bloque Serial Configuration lo configuramos de igual forma


que los dems bloques haciendo doble click en l, ac es necesario seleccionar el
puerto de comunicacin y adems es necesario modificar el parmetro Baud
Rate, lo que configura esta opcin es el nmero de unidades de seal por segundo
y el valor a ingresar es 115200.

12

Este bloque se puede agregar de 2 formas, una es agregndolo directamente de la


librera de Simulink y la segunda forma agregar solo los 2 bloques restantes y al ser
configurado y apretando Apply aparecer el siguiente cuadro:

Este bloque nos indica que para la configuracin de comunicacin es necesario


este bloque ya que en l se configuran variables importantes como lo es la
velocidad de comunicacin.

13

Cuando aparece el cuadro solo ponemos Yes y aparecer configurado con el


puerto ya seleccionado en el bloque de envi o de recepcin segn cual fue
configurado.

14

2.9. Experiencias prcticas de Arduino.


2.9.1. Encender y Apagar un LED
Al implementar el conexionado de la imagen; se deber cargar el siguiente cdigo, el cual
permitir encender y apagar un LED.
Abra el software de programacin Arduino y pegue el siguiente cdigo, luego crguelo al
Arduino con el botn de carga.

/* Inicia una seccin de comentarios


----------------------------------Encender y apagar un LED
----------------------------------El LED enciende y apaga de manera infinita mientras el Arduino se encuentre con
suministro elctrico.
*/ Cierra la seccin de comentarios
int led = 2; //se declara el pin 2 como LED,
void setup () {
pinMode (led, OUTPUT); }// Se configura el pin 2, como salida
void loop () {
digitalWrite (led, HIGH); // Activa el pin 2, se enva la seal HIGH, y entrega 5v.
// Se enciende el LED
delay (1000); // Se debe esperar 1000ms o 1 segundo
digitalWrite (led, LOW); // Desactiva el pin 2, enva la seal LOW//
// Entrega 0v y posterior a esto se apaga el LED
delay (1000); // Se esperan 1000ms o 1 segundo// El ciclo se reiniciara
}
15

2.9.2. Conectar una pantalla LCD 16x2 a la placa de desarrollo Arduino.


Las pantallas de cristal lquido LCD o Display LCD para mensajes (Liquid Cristal
Display) tienen la capacidad de mostrar cualquier carcter alfanumrico, permitiendo
representar la informacin que genera cualquier equipo electrnico de una forma simple y
econmica.
Para estos casos, Arduino dispone de una librera LiquidCrystal.h que permite utilizar y
manipular de forma sencilla pantallas LCD de diferentes tamaos y formatos.
Anlogamente se podr comparar una pantalla LCD con una matriz de la siguiente forma:
1 Potencimetro de 4,7 K.
1 Display LCD 16x2 (16 columnas y 2 filas)
Dependiendo del fabricante, en ocasiones la disposicin de los pines de salida de la pantalla
LCD puede variar, remplace el conexionado de los pines segn la disposicin de estos,
refirindose al datasheet del LCD adquirido y la siguiente referencia:
LCD RS pin al pin digital nmero 52 de la placa Arduino
LCD Enable pin al pin digital nmero 50 de la placa Arduino
LCD R/W pin al pin Gnd Arduino
LCD DB4 pin al pin digital nmero 48 de la placa Arduino
LCD DB5 pin al pin digital nmero 46 de la placa Arduino
LCD DB6 pin al pin digital nmero 44 de la placa Arduino
LCD DB7 pin al pin digital nmero 42 de la placa Arduino
LCD Vcc pin a alimentacin 5v.
LCD GND pin al Gnd del Arduino
Adicionalmente se deber conectar un potencimetro en cuyos extremos deber conectar
+Vcc a 5v y Gnd correspondientemente. La pata interior del potencimetro se deber
conectar el pin V0 del LCD. El potencimetro permitir modificar el contraste de la
pantalla LCD Por ltimo se proceder a conectar la conexin USB de la placa de desarrollo,
el usuario abrir el software de desarrollo de Arduino y se proceder a carga el siguiente
cdigo.

16

// Incluir la siguiente librera para controlar LCD


#Include <LiquidCrystal.h>
// Inicializar la librera segn los pines de conexin en la //placa de desarrollo
LiquidCrystal lcd (52, 50, 48, 46, 44, 42);
void setup () {
// Se configura el LCD para utilizar 16 columnas y 2 filas
lcd.begin (16, 2);
// Posicionar el cursor en la posicin 0,0, eso es extremo superior izquierdo
lcd.setCursor (0, 1);
// Se imprime por la pantalla LCD, el mensaje
lcd.print ("Gua Inacap!");
}
void loop () {
// posicionar el cursor en la posicin 0,1, eso es extremo inferior izquierdo
lcd.setCursor (0, 1);
// Se imprime el nmero de segundo desde el ultimo reinicio del Arduino
lcd.print (millis ()/1000);
}

17

2.9.3. Ultrasnico.
Mdulo de alcance ultrasnico HC - SR04 ofrece 2 cm - 400 cm sin contacto funcin de
medicin, la precisin que van puede llegar a 3 mm. Los mdulos incluye transmisores
ultrasnicos, el receptor y el circuito de control.
5 Voltios (VCC), Tigger Entrada de pulsos (Trigonometra), Echo de salida de pulsos
(Echo), 0 Voltios (GND)

#include <Ultrasonic.h>
Ultrasonic ultrasonic(12,11); // (Trig PIN,Echo PIN)
void setup() {
Serial.begin(9600);
}
void loop()
{
Serial.print(ultrasonic.Ranging(CM)); // CM or INC
Serial.println(" cm" );
delay(100);
}

18

2.9.4. Control Dual.


Controlador de motor dual de 4.8V- 46V y 2A, que es la versin revisada del DF-MDV1.0.
Su rendimiento ha sido altamente mejorado. Puede soportar una mayor corriente debido a
que cuenta con una mayor disipacin de calor. Es fcil de controlar, ya que usa el chip de
control de motor L298N de LGS de alta potencia. Este chip permite el control directo de 2
motores DC bidireccionales, e incorpora diodos cortos de alta velocidad para su proteccin.
Salida de corriente de hasta 2A. El controlador usa un diseo broad-brush que reduce la
resistencia que producen los cables.

int ENA = 5 ; / / conectarse al puerto de Arduino 5 (salida PWM)


int IN1 = 2 ; / / conectarse a la Arduino puerto 2
int IN2 = 3 ; / / conectarse al puerto de Arduino 3
int ENB = 6 ; / / conectarse a Arduino de puerto 6 (salida PWM)
int IN3 = 4 ; / / conectarse al puerto de Arduino 4
int IN4 = 7 ; / / conectarse al puerto de Arduino 7
digitalWrite ( IN1 , BAJA ) ;
digitalWrite ( IN2 , HIGH ) ; / / establecer directon de Motora
digitalWrite ( IN3 , HIGH ) ;
digitalWrite ( IN4 , BAJA ) ; / / establecer directon de motorB } void loop ( ) {
analogWrite ( ENA , 255 ) ; / / iniciar la conduccin motora
analogWrite ( ENB , 255 ) ; / / empezar a conducir motorB
19

2.9.5. Control de un Servomotor.


En el siguiente ejemplo se proceder a manipular la posicin de un servomotor, a travs de
un potencimetro.
Los servomotores tienen tres cables: alimentacin, tierra, y de la seal. El cable de
alimentacin es tpicamente rojo, y debe ser conectado al pin de 5V en la placa Arduino. El
cable a tierra es tpicamente negro o marrn y debe ser conectado a un pin Gnd o tierra de
la placa Arduino. El pin de la seal es generalmente de color amarillo o naranja y debe ser
conectado al pin 9 en la placa Arduino.
El potencimetro debe ser conectado de modo que las dos conexiones exteriores estn
conectadas a la alimentacin (+5 V) y tierra, y la conexin del medio estar conectada a la
entrada analgica 2 en el Arduino.

Cdigo Arduino control de un servo motor


#include <Servo.h>
//Se debe incluir la librera Servo.h para la manipulacin de los
//servos.
Servo myservo;
// Creamos un objeto llamado servo, para poder manipularlo ms fcilmente//
int potepin = 2;
// la variable potepin almacenara el pin en que est conectado el potencimetro//
int val=0;
//variable que almacenara el valor ledo desde el potencimetro
20

void setup()
{
myservo.attach(9);
//Configuraremos que el objeto myservo tendr el pin 9 para comunicarse//
}
void loop()
{
val = analogRead(potepin);
//lee el valor desde el potencimetro (este valor estar comprendido entre (0 y 1023)//
val = map(val, 0, 1023, 0, 179);
// En la variable val almacenara un escalamiento entre los 1023
//posibles datos transmitidos desde el potencimetro y los 180
//posibles datos que pueden ser recibidos por el servomotor.
myservo.write(val);
Escribe el valor del variable val en el pin del servo, para poder manipular la posicin del
servo.
delay(15);
// Espera 15 milisegundos para que el servo alcance la posicin indicada
}
Con este programa a travs de la manipulacin del potencimetro, manipularemos la
posicin del servomotor.

21

BIBLIOGRAFIA.
La informacin se obtuvo de las siguientes pginas:

http://arduino.cc/en/Main/ArduinoBoardMega2560
http://arduino.cc/en/Tutorial/Blink?from=Tutorial.BlinkingLED
http://juancolombo.com.ar/index.php/trabajos/conocimiento/26-arduino1

22

You might also like