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

MANUAL DE

PROGRAMACIN EN
ARDUINO N1 PLUS

Programacin en Arduino N1
Plus

201
6

Introduccin.
Arduino puede tomar informacin del entorno a travs de sus pines de
entrada, de toda una gama de sensores y puede afectar aquello que le rodea
controlando luces, motores y otros actuadores. El Microcontrolador en la placa
arduino se programa mediante el lenguaje de programacin arduino (basado
en wiring) y el entorno de desarrollo arduino (basado en processing). Los
proyectos hechos con arduino pueden ejecutarse sin necesidad de conectar a
un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con
diferentes tipos de software.

El presente manual de prcticas basado en la placa Arduino Uno R3, con la


finalidad de apoyar a los estudiantes en la construccin gradual de sistemas
basados en Microprocesador, especialmente pensados para su uso en un
amplio

rango

de

aplicaciones industriales y de gran consumo, como

dispositivos embebidos.

RESUMEN. Arduino es una plataforma de hardware abierto para la creacin

de

prototipos basada en software y hardware flexibles y fciles de usar. Se cre para


artistas, diseadores, aficionados y cualquiera interesado en crear entornos u objetos
interactivos.

Qu es el Arduino?
Arduino es una plataforma de hardware de cdigo abierto, basada en una
sencilla placa con entradas y salidas, analgicas y digitales, en un entorno

Programacin en Arduino N1
Plus

201
6

de desarrollo que est basado en el lenguaje de programacin Processing.


Es un dispositivo que conecta el mundo fsico con el mundo virtual, o el mundo
analgico con el digital.
Arduino es una plataforma de hardware en cdigo abierto para gente que quiere
hacer una introduccin a la electrnica sin necesidad de tener conocimientos
previos en ciencias. Se puede decir que todo el sistema de desarrollo, el
software, los circuitos y la documentacin son abiertos.

Estructura de un programa en lenguaje c.


La estructura bsica del lenguaje de programacin del Arduino es muy simple, y
corre en al menos 2 partes. Estas 2 partes requeridas, o funciones, encierran
bloques de sentencias.
Cdigo
void setup()
{
sentencias;
}
void loop()
{
sentencias;
}

Donde setup() es la preparacin, loop() es la ejecucin. Ambas funciones son


requeridas para que el programa trabaje a la funcin setup debe seguir la
declaracin de las variables al principio del programa. Es la primer funcin para
correr en el programa, se corre solo una vez, y es usada para fijar el modo de los
pins (pinMode), o inicializar la comunicacin serial.

Programacin en Arduino N1
Plus

201
6

La funcin loop es la que le sigue e incluye el cdigo para ser ejecutada


continuamente leyendo las entradas, disparando las salidas, etc. Esta funcin es
el ncleo de todos los programas arduino, y hace la mayor parte del trabajo.

Setup()

La funcin setup() es llamada una vez cuando arranca tu programa. Se usa


para inicializar el modo de los pins (pinMode), o inicializar el modo serial. Se
debe incluir en un programa aun cuando no haya sentencias para correrlas.

Cdigo
void setup()
{
pinMode(pin, OUTPUT); // programa un 'pin' como salida.
}

Loop()

Despus de llamar a la funcin setup(), la funcin loop(), hace precisamente


lo que su nombre sugiere, y hace ciclos consecutivamente, permitiendo al
programa cambiar, responder, y controlar a la tarjeta Arduino.
Cdigo

void loop()
{
digitalWrite(pin, HIGH);

//pone el 'pin' en uno lgico

delay(1000);

//se espera un segundo

digitalWrite(pin, LOW);

//pone el 'pin' en cero lgico

delay(1000);

//se espera un segundo

Programacin en Arduino N1
Plus

201
6

{ } Llaves (curly braces)


Las llaves, definen el principio y el fin de una funcin bloque y el final de un
bloque de sentencias tales como la funcin void loop(), y las sentencias for e
if.
Cdigo
type function()
{
sentencias;
}

Una llave de apertura {debe siempre ser seguido de una llave de cierre }, de
lo contrario puede haber errores de compilacin. El ambiente arduino
incluye una caracterstica conveniente para revisar el balance de las llaves.
Solo selecciona una llave y se destaca a su compaera de cierre.

";" punto y coma (semicolon)


El punto y coma se debe utilizar para terminar una sentencia y separar
elementos de un programa.Tambin es usado para separar elementos de un
ciclo for.
Cdigo

int x = 13;

// declara la variable 'x' como el entero 13.

/* */ bloque de comentarios (block comments)


Son reas de texto ignoradas por el programa y son utilizadas para
descripciones largas del cdigo o comentarios que puedan ayudar a otros a
entender partes del programa. Se inicia con /* y termina con */ y puede agrupar
mltiples lneas.

Programacin en Arduino N1
Plus

201
6

Cdigo

/* Este es un bloque multilinea de comentarios, no olvide cerrar el comentario,


tienen que estar balanceados los signos de apertura y cierre */

// lnea de comentarios
Los comentarios de lnea simple comienzan con // y terminan con la siguiente
lnea de cdigo. Estos comentarios son ignorados por el programa y no
ocupan espacio de memoria, al igual que el block de comentarios.

Cdigo
// Este es un comentario de una sola lnea.

Constantes.
El lenguaje Arduino tiene algunos valores predefinidos, qu son llamados
constantes. Son usados para hacer programas fciles de leer. Las constantes
son clasificadas en grupos.
True/False
Estas son constantes Boolean que definen niveles lgicos. FALSE es fcilmente
definido como 0 (cero) mientras que TRUE es frecuentemente definido como 1,
pero puede tambin ser cualquiera excepto cero. Entonces en el sentido
Boolean, -1, 2 y -200 tambin son definidos como TRUE.

Cdigo
If (b == TRUE);
{
doSomething;
}

Programacin en Arduino N1
Plus

201
6

High/low
Estas constantes definen niveles de pin como HIGH (alto) o LOW (bajo) y
son usadas cuando se leen o se escriben pines digitales. HIGH es definido
como nivel 1 lgico, ON o 5 volts mientras que LOW es el nivel lgico 0, OFF o
0 volts.
Cdigo
digitalWrite(13, HIGH);

Input/output
Constantes usadas con la funcin pinMode() para definir el modo de un pin
digital ya sea como INPUT (entrada) u OUTPUT (salida).

Cdigo
pinMode(13, OUTPUT);

If
La sentencia if prueba si una cierta condicin ha sido alcanzada, tal como un
valor analgico estando encima de un cierto nmero, y ejecuta cualquier
sentencia dentro de las llaves si la sentencia es verdadera. Si es falsa el
programa pasa por alto las sentencias. El formato para una prueba

Cdigo
If (algunaVariable ?? valor)
{
haceAlgo;
}

Programacin en Arduino N1
Plus

201
6

If- else
If... else permite para si no decisiones para ser tomadas. Por ejemplo, si
quiere probar una entrada digital y hacer algo si la entrada fue HIGH o en lugar
de eso hacer otra cosa si la entrada fue LOW, se deber escribir de este modo:

Cdigo

If (inputPin == HIGH)
{
doThingA;
}
else
{
doThingB;
}

While
Los ciclos while se estarn ciclando continua e infinitamente, hasta que la
expresin dentro del parntesis se vuelva falsa. Algo debe cambiar la variable
de prueba, o el ciclo nunca terminara. Esto podra ser en el cdigo, tal como
una variable de incremento, o una condicin externa, tal como un sensor de
prueba.

Cdigo

While (someVariable ?? value)


{
doSomething;
}

Programacin en Arduino N1
Plus

201
6

PinMode(pin, mode)
Usado en void setup() para configurar un pin especfico para que se comporte ya
sea como INPUT o como OUTPUT.
Cdigo
pinMode(pin, OUTPUT);//Establece pin como salida

Los pins digitales del arduino por default estn como INPUTS (entradas), as
que no es necesario declararlos explcitamente como entradas con pinMode().
Los pins configurados como INPUT se dice que estn en un estado de alta
impedancia.
digitalRead(pin)
Lee el valor de un pin digital especfico con el resultado ya sea HIGH o LOW. El
pin puede ser especificado ya sea como variable o como constante (0-13).
Cdigo

Value = digitalRead(Pin);

//Establece value igual a


//el pin de entrada.

digitalWrite(pin, value)
Fija las salidas a un nivel lgico HIGH o LOW (enciende o apaga) en un pin
digital especfico. El pin puede ser especificado como variable o como constante
(0-13).
Cdigo

digitalWrite(pin, HIGH);

// Establece pin como HIGH.

Programacin en Arduino N1
Plus

201
6

analogRead(pin)
Lee el valor de un pin analgico especfico con una resolucin de 10-bit. Esta
funcin solo trabaja en los pines analgicos de entrada (0-5). El rango de
valores enteros resultante va de 0 a 1023.
Cdigo

value = analogRead(pin);

//establece value igual a pin

Nota: A diferencia de los pines digitales, los pines analgicos no necesitan


ser declarados como INPUT u OUTPUT.

analogWrite(pin, value)
Escribe un valor pseudo anlogo usando habilitacin de hardware pulse width
modulation (PWM) a un pin de salida marcado como PWM.
En los arduinos ms nuevos con el chip ATmega168, esta funcin trabaja en
los pines 3, 5, 6, 9, 10 and 11. Los arduinos ms viejos con el chip ATmega8
solo soporta los pines 9, 10 y 11. El valor puede ser especificado como una
variable o constante con el valor de 0 a 255.
Cdigo

analogWrite(pin,
//escribe value
analgico.

value);
a pin

Delay(ms)
Pausa un programa por la cantidad de tiempo que sea especificado en
milisegundos, donde 1000 equivale a 1 segundo.
Cdigo

delay(1000);

//espera por un segundo

Programacin en Arduino N1
Plus

201
6

Serial.begin(rate)
Abre el puerto serial y establece la velocidad para la transmisin de datos
en serie. La velocidad tpica de transmisin para la comunicacin con la
computadora es de 9600bps aunque tambin soporta otras velocidades.
Cdigo
Void setup()
{
Serial.begin(9600);
}

EJEMPLO DE PROGRAMAS
ENTRADAS DIGITALES.

// abre el puerto serial


// Establece la velocidad de transmisin a 9600 bps.

DE ENTRADAS ANALOGICAS Y SALIDAS

SALIDA DIGITAL.

Este es el programa bsico hola mundo usado para simplemente prender o


apagar algo. En este ejemplo, un LED es conectado al pin13, y parpadea cada
segundo. El resistor puede ser omitido en este pin ya que el Arduino tiene uno
en su estructura.

Cdigo
int ledpin = 13;
// LED en el pin 13 void
setup()
// corre una vez

Programacin en Arduino N1
Plus

201
6

{
pinMode(ledPin, OUTPUT);

// establece el pin 13 como salida

}
void loop()

// corre una y otra vez

{
digitalWrite(ledPin, HIGH);
// prende el LED delay(1000);
// pausa por un segundo
digitalWrite(ledPin, LOW);
// apaga el LED delay(1000);
// pausa por un segundo
}

ENTRADA DIGITAL.

Este es la forma ms simple de entrada con solo 2 posibles estados: prendido o


apagado. Este ejemplo lee un switch simpl o pushbuttton conectado al pin 2.
Cuando el switch se cierra el pin de entrada leer HIGH y prendera un LED.
Cdigo

int ledPin = 13;


int inPin = 2;
// pin de entrada para el switch void
setup()

// pin de salida para el LED

Programacin en Arduino N1
Plus

201
6

{
pinMode(ledPin, OUTPUT);
// Se
declara el LED como salida pinMode(inPin,
INPUT);
// Se declara el
Switch como entrada
}
void loop()
{
If (digitalRead(inPin) == HIGH)

// Comprueba si la entrada est en HIGH

{
digitalWrite(ledPin, HIGH);
// prende el LED delay(1000);
// pausa por un segundo
digitalWrite(ledPin, LOW);
// apaga el LED delay(1000);
// pausa por un segundo
}
}

SALIDA PWM.

Modulacin por ancho de pulsos (Pulsewidth Modulation) es una manera de


simular una salida analgica por la pulsacin de la salida. Esto puede ser usado
para atenuar o aumentar el brillo de un LED o incluso controlar un servomotor.
El siguiente ejemplo atena lentamente un LED usando ciclos for.

Programacin en Arduino N1
Plus
Cdigo
int ledPin = 9;

// pin PWM para el LED

void setup(){ ]

// no se requiere

Void loop()
{
for (int i=0; i<=255; i++)

// incremento de i

{
analogWrite(ledPin, i);
// establece el nivel de brillo a i
delay(100);
// pausa por 100ms
}
for (int i=255; i>=0; i--)
{
analogWrite(ledPin, i);
// establece el nivel de brillo a i
delay(100);
//pausa por 100ms
}
}

ENTRADA DE POTENCIOMETRO

// decremento de i

201
6

Programacin en Arduino N1
Plus

201
6

Usando un potencimetro y un pin conversor analgico-a-digital (ADC) del


arduino es posible leer valores de 0 a 1024. El siguiente ejemplo usa un
potencimetro para controlar el valor de parpadeo de un LED.
Cdigo
int potPin = 0;

int ledPin = 13;

// pin de entrada para el potencimetro

// pin de salida para el LED

void setup()
{
pinMode(ledPin, OUTPUT);

// Se declara el ledPin como salida

}
void loop()
{
digitalWrite(ledPin, HIGH);

// prende el LED

delay(analogRead(potPin));

// pausa el programa

digitalWrite(ledPin, LOW);

// apaga el LED

delay(analogRead(potPin));

// pausa el programa

PARTES DEL ARDUINO UNO.

Programacin en Arduino N1
Plus

201
6

Prctica # 1
Salidas y entradas digitales

Objetivo:
El alumno programar e identificara las entradas y salidas digitales con el
encendido y apagado de LEDs con o sin intermitencia mediante la tarjeta Arduino
Uno-R3.

Materiales a utilizar:
1. 5 LEDS, de distinto colores.
2. Una tarjeta Arduino Uno-R3.
3. Cable jumper dupont Macho - Hembra
4. Tarjeta Protoboard.
5. Resistencias 220 ohms.
6. Botn normalmente abierto.

Montaje de la Prctica:

Encender y Apagar un LED con una tarjeta Arduino.

Programacin en Arduino N1
Plus

201
6

Antes de comenzar a la realizacin del montaje del circuito electrnico, se debe


tener en cuenta el conocimiento de cul es el ctodo y nodo del LED. Se coloca
el nodo en el pin 9 y el ctodo a tierra (ground), como se muestra en la figura 1:

Conexin del equipo.

Figura 1 Conexin con led.

Procedimiento de cmo llevar a cabo el desarrollo del programa:

// Prctica encender y apagar un LED


const int LED=9;
void setup()

// Definir puerto digital.

Programacin en Arduino N1
Plus

201
6

{
pinMode(LED,OUTPUT); // Se declara el tipo de seal.
}
void loop()

// Estructura del cdigo.

{
digitalWrite(LED,HIGH); // Enva una seal digital en alto (1).
delay(1000);

// Tiempo que estar en alto.

digitalWrite(LED,LOW); // Enva una seal digital en bajo (0).


delay(1000);

// Tiempo que estar en bajo.

Encender y Apagar un Led con botn pulsador en la tarjeta Arduino.

En el montaje del circuito es el mismo procedimiento que la primera parte de la


prctica solo que hemos aadido un botn pulsador esto se muestra en la Figura
2.

Botn pulsador pin 6 digital.

Led pin 9 digital.

Programacin en Arduino N1
Plus

Figura 2 Conexin de led y botn.

Procedimiento de cmo llevar a cabo el desarrollo del programa:

// Prctica encender y apagar un LED a travs de botn pulsador


const int LED=9;
//Se define el Puerto del led.
const int BOTON=6;
//Se define el Puerto del botn.
int val;
void setup(){
pinMode(LED,OUTPUT); // Se declara el tipo de seal del led.
pinMode(BOTON,INPUT); // Se declara el tipo de seal del botn.

201
6

Programacin en Arduino N1
Plus

201
6

}
void loop(){

// Estructura del cdigo.

val=digitalRead(BOTON);

// Lectura del estado del botn.

if (val==HIGH){

// Si el botn es presionado.

digitalWrite(LED,HIGH);

// Enciende el Led.

}
else {

//De lo contrario.

digitalWrite(LED,LOW);

// El led estar apagado.

}
}

Actividad en clase:

Desarrollar la programacin y descargarlo a la placa Arduino que simule el


funcionamiento de un semforo.

Programacin en Arduino N1
Plus

201
6

Prctica # 2
Enlace de potencia para activacin de lmparas de
corriente alterna.

Objetivo:
El alumno programar e identificara las entradas y salidas digitales con el
encendido y apagado de luminarias conectadas a corriente alterna con el uso del
mdulo de relevadores (enlace de potencia) mediante la tarjeta Arduino Uno-R3.

Materiales a utilizar:
1. Una tarjeta Arduino Uno-R3.
2. Mdulo de relevadores (enlace de potencia).
3. Cable jumper dupont Macho - Hembra
4. Resistencia 220 ohms.
5. Botn normalmente abierto.
6. Clavija con cable.
7. Socket con cable.

Programacin en Arduino N1
Plus

201
6

Montaje de la Prctica:

Encender y Apagar una lmpara de CA con el uso del Mdulo de relevadores.


Al presionar el botn mande la seal de salida al mdulo de relevadores para que
este pase de estar en estado abierto (NO) ha estado cerrado (NC) y encienda la
lmpara, como se muestra en la figura 3:

Botn pulsador pin 3 digital.


Mdulo de relevadores pin 9 digital.
Negativo (GND) del arduino a negativo del mdulo de relevadores.
Positivo (+5V) del arduino al positivo del mdulo de relevadores.
Conectar la lmpara en el normalmente abierto del relevador.

Conexin del equipo.

Figura 3 Conexin del mdulo de relevadores.

Programacin en Arduino N1
Plus

201
6

Procedimiento de cmo llevar a cabo el desarrollo del programa:

// Encender y Apagar una lmpara de CA con el uso del Mdulo de relevadores.


const int RELEVADOR=9;
//Se define el Puerto del mdulo del relevador.
const int BOTON=3;
//Se define el Puerto del botn.
int val;
void setup(){
pinMode(RELEVADOR,OUTPUT); // Se declara el tipo de seal del relevador.
pinMode(BOTON,INPUT); // Se declara el tipo de seal del botn.
}
void loop(){

// Estructura del cdigo.

val=digitalRead(BOTON);

// Lectura del estado del botn.

if (val==HIGH){

// Si el botn es presionado.

digitalWrite(RELEVADOR,HIGH);

// Enciende la lmpara.

}
else {

//De lo contrario.

digitalWrite(RELEVADOR,LOW);

// La lmpara estar apagada.

}
}

Prctica # 3

Programacin en Arduino N1
Plus

201
6

Automatizacin de una lmpara de CA utilizando


una fotoresistencia (LDR).
Objetivo:
El alumno programar e identificara las entradas analgicas con el encendido y
apagado de luminarias conectadas a corriente alterna con el uso de la
fotoresistencia (LDR) y el mdulo de relevadores (enlace de potencia) mediante la
tarjeta Arduino Uno-R3.

Materiales a utilizar:
1. Una tarjeta Arduino Uno-R3.
2. Mdulo de relevadores (enlace de potencia).
3. Fotoresistencia (LDR).
4. Cable jumper dupont Macho - Hembra
5. Resistencia 220 ohms.
6. Botn normalmente abierto.
7. Clavija con cable.
8. Socket con cable.

Montaje de la Prctica:
Al presionar el botn pulsador inicie el programa, con el uso de la fotoresistencia
(LDR) detecte ausencia de luz, y mande la seal de salida al mdulo de

Programacin en Arduino N1
Plus

201
6

relevadores para que pase de estar en estado abierto (NO) ha estado cerrado
(NC) y encienda la lmpara, como se muestra en la figura 4:

Botn pulsador pin 3 digital.


Mdulo de relevadores pin 9 digital.
Fotoresistencia (LDR) pin A1 analgico.
Negativo (GND) del arduino a negativo del mdulo de relevadores.
Positivo (+5V) del arduino al positivo del mdulo de relevadores.
Conectar la lmpara en el normalmente abierto del relevador.

Conexin del equipo.

Programacin en Arduino N1
Plus

Figura 4 Conexin de fotoresistencia (LDR).

Procedimiento de cmo llevar a cabo el desarrollo del programa:

#define Lmpara 9 //relevador est conectado en el pin 9


#define LDR 1 //El LDR est conectador en el pin A1
int luz = 0;

201
6

Programacin en Arduino N1
Plus

201
6

int valor_sensor = 0;
int valor_limite = 490; //Este valor har que la lmpara cambie de estado a una
determinada luminosidad (con distintos valores para ajustar la sensibilidad)
void setup() {
//Configuracin de los pin como entrada o salida
Serial.begin(9600);
pinMode(Lmpara,OUTPUT);
pinMode(LDR,INPUT);
}
void loop () //Configuracin de los valores del LDR
{
valor_sensor = analogRead(LDR);
luz = (5.0 * valor_sensor * 100.0)/1024.0; //Para entender esta frmula visitar:
http://programarfacil.com/podcast/48-sensor-de-temperatura-en-arduino/
Serial.print(luz);
Serial.println(" Luz");
delay(300);
if (luz <= valor_limite) //Si el valor de luz es menor o igual que el valor limite
{
digitalWrite (Lmpra, LOW); //La lmpara se apaga
}
if (luz > valor_limite) //Si es mayor que el valor limite
{
digitalWrite (LED, HIGH); //El led se enciende
}
}

Prctica # 4
Sensor de presencia (SONAR) para deteccin
de personas enfocada a seguridad.
Objetivo:
El alumno programar e identificara las entradas y salidas digitales con el uso del
sensor de presencia (PIR) enfocada a la seguridad en deteccin de personas .

Programacin en Arduino N1
Plus

201
6

Materiales a utilizar:
1. Una tarjeta Arduino Uno-R3.
2. Mdulo de relevadores (enlace de potencia).
3. Sensor de presencia (PIR).
4. Cable jumper dupont Macho - Hembra
5. Resistencia 220 ohms.
6. Botn normalmente abierto.
7. Clavija con cable.
8. Socket con cable.

Montaje de la Prctica:
Al presionar el botn pulsador inicie el programa, el sensor PIR al detectar
presencia mandar la seal al mdulo de relevadores para que este pase de estar
en estado abierto (NO) ha estado cerrado (NC) y encienda una alarma, como se
muestra en la figura 5:

Botn pulsador pin 3 digital.


Mdulo de relevadores pin 9 digital.
Sensor de presencia (PIR) pin 4 digital.
Negativo (GND) del arduino a negativo del mdulo de relevadores.
Positivo (+5V) del arduino al positivo del mdulo de relevadores.
Conectar alarma en el normalmente abierto del relevador.

Programacin en Arduino N1
Plus

Conexin del equipo.

Figura 5 Conexin del sensor de presencia (SONAR).

Procedimiento de cmo llevar a cabo el desarrollo del programa:

long distancia;
long tiempo;

201
6

Programacin en Arduino N1
Plus

201
6

void setup(){
Serial.begin(9600);
pinMode(9, OUTPUT); /*activacin del pin 9 como salida: para el pulso
ultrasnico*/
pinMode(8, INPUT); /*activacin del pin 8 como entrada: tiempo del rebote del
ultrasonido*/
}
void loop(){
digitalWrite(9,LOW); /* Por cuestin de estabilizacin del sensor*/
delayMicroseconds(5);
digitalWrite(9, HIGH); /* envo del pulso ultrasnico*/
delayMicroseconds(10);
tiempo=pulseIn(8, HIGH); /* Funcin para medir la longitud del pulso entrante.
Mide el tiempo que transcurrido entre el envo
del pulso ultrasnico y cuando el sensor recibe el rebote, es decir: desde que el pi
n 12 empieza a recibir el rebote, HIGH, hasta que
deja de hacerlo, LOW, la longitud del pulso entrante*/
distancia= int(0.017*tiempo); /*frmula para calcular la distancia obteniendo un
valor entero*/
/*Monitorizacin en centmetros por el monitor serial*/
Serial.println("Distancia ");
Serial.println(distancia);
Serial.println(" cm");
delay(1000);
}

Prctica # 5
Control de lmparas mediante Smartphone
Android

Programacin en Arduino N1
Plus

201
6

Objetivo:
El alumno programar e integrar el control de I/O digitales para automatizar
lmparas de corriente alterna, con el uso del sensor e interfaz bluetooth enlazado
a una

app en un Smartphone Android para controlar el proceso mediante

comandos de voz.

Materiales a utilizar:
1. Una tarjeta Arduino Uno-R3.
2. Mdulo de relevadores (enlace de potencia).
3. Mdulo bluetooth HC-05.
4. Smartphone Android.
5. Cable jumper dupont Macho - Hembra
6. 6 Resistencias 220 ohms.
7. Botn normalmente abierto.
8. 5 leds diferentes colores.
9. Alarma.
10. Clavija con cable.
11. Socket con cable.

Montaje de la Prctica:

Programacin en Arduino N1
Plus

201
6

Al presionar el botn pulsador inicie el programa, con el uso del bluetooth


enlazado al Smartphone y la app se dictaran palabras declaradas para que este
ejecute las instrucciones, como se muestra en la figura 6:

Botn pulsador pin 3 digital.


Led1 pin 4 digital.
Led2 pin 5 digital.
Led3 pin 6 digital.
Mdulo de relevadores pin 9 digital.
Negativo (GND) del arduino a negativo del mdulo de relevadores.
Positivo (+5V) del arduino al positivo del mdulo de relevadores.
Conectar alarma en el normalmente abierto del relevador.
Mdulo bluetooth RX con TX de arduino.
Mdulo bluetooth TX con RX de arduino.
Negativo (GND) del bluetooth a negativo del arduino.
Positivo (+5V) del bluetooth a positivo del arduino.

Programacin en Arduino N1
Plus

Conexin del equipo.

Figura 6 Conexin de mdulo Bluetooth.

201
6

Programacin en Arduino N1
Plus

Procedimiento de cmo llevar a cabo el desarrollo del programa:

int estado=1;
void setup(){
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
}
void loop(){
if(Serial.available()>0){
estado = Serial.read();
}
if (estado =='a'){
digitalWrite(13,1);
}
if (estado =='b'){
digitalWrite(13,0);
}
if (estado =='c'){
digitalWrite(12,1);
}
if (estado =='d'){
digitalWrite(12,0);
}
if (estado =='e'){

201
6

Programacin en Arduino N1
Plus
digitalWrite(11,1);
}
if (estado =='f'){
digitalWrite(11,0);
}
if (estado =='g'){
digitalWrite(10,1);
}
if (estado =='h'){
digitalWrite(10,0);
}
if (estado =='i'){
digitalWrite(9,1);
}
if (estado =='j'){
digitalWrite(9,0);
}
if (estado =='k'){
digitalWrite(8,1);
}
if (estado =='l'){
digitalWrite(8,0);
}
if (estado =='m'){
digitalWrite(7,1);
}
if (estado =='n'){
digitalWrite(7,0);
}
if (estado =='o'){
digitalWrite(6,1);
}
if (estado =='p'){
digitalWrite(6,0);
}
if (estado =='q'){ //all off
digitalWrite(13,0);
digitalWrite(12,0);
digitalWrite(11,0);
digitalWrite(10,0);
digitalWrite(9,0);
digitalWrite(8,0);
digitalWrite(7,0);
digitalWrite(6,0);

201
6

Programacin en Arduino N1
Plus
}
if (estado =='r'){ // all on
digitalWrite(13,1);
digitalWrite(12,1);
digitalWrite(11,1);
digitalWrite(10,1);
digitalWrite(9,1);
digitalWrite(8,1);
digitalWrite(7,1);
digitalWrite(6,1);
}
if (estado =='s'){ // blink
digitalWrite(13,1);
digitalWrite(12,1);
digitalWrite(11,1);
digitalWrite(10,1);
digitalWrite(9,1);
digitalWrite(8,1);
digitalWrite(7,1);
digitalWrite(6,1);
delay(500);
digitalWrite(13,0);
digitalWrite(12,0);
digitalWrite(11,0);
digitalWrite(10,0);
digitalWrite(9,0);
digitalWrite(8,0);
digitalWrite(7,0);
digitalWrite(6,0);
delay(500);
}
if (estado =='t'){ //Sequence 1
digitalWrite(13,1);
delay(200);
digitalWrite(12,1);
delay(200);
digitalWrite(11,1);
delay(200);
digitalWrite(10,1);
delay(200);
digitalWrite(9,1);
delay(200);
digitalWrite(8,1);
delay(200);

201
6

Programacin en Arduino N1
Plus
digitalWrite(7,1);
delay(200);
digitalWrite(6,1);
delay(200);
digitalWrite(13,0);
digitalWrite(12,0);
digitalWrite(11,0);
digitalWrite(10,0);
digitalWrite(9,0);
digitalWrite(8,0);
digitalWrite(7,0);
digitalWrite(6,0);
delay(200);
}
if (estado =='u'){ //Sequence 2
}
if (estado =='v'){ //Sequence 3
digitalWrite(13,1);
delay(200);
digitalWrite(13,0);
digitalWrite(12,1);
delay(200);
digitalWrite(12,0);
digitalWrite(11,1);
delay(200);
digitalWrite(11,0);
digitalWrite(10,1);
delay(200);
digitalWrite(10,0);
digitalWrite(9,1);
delay(200);
digitalWrite(9,0);
digitalWrite(8,1);
delay(200);
digitalWrite(8,0);
digitalWrite(7,1);
delay(200);
digitalWrite(7,0);
digitalWrite(6,1);
delay(200);
digitalWrite(6,0);
digitalWrite(7,1);
delay(200);
digitalWrite(7,0);

201
6

Programacin en Arduino N1
Plus
digitalWrite(8,1);
delay(200);
digitalWrite(8,0);
digitalWrite(9,1);
delay(200);
digitalWrite(9,0);
digitalWrite(10,1);
delay(200);
digitalWrite(10,0);
digitalWrite(11,1);
delay(200);
digitalWrite(11,0);
digitalWrite(12,1);
delay(200);
digitalWrite(12,0);
}
}

201
6

Programacin en Arduino N1
Plus

201
6

Glosario.
Led. Es un dispositivo diodo emisor de luz. Los LED se usan como indicadores en
muchos dispositivos y en iluminacin. Los primeros LEDS emitan luz roja de baja
intensidad, pero los dispositivos actuales emiten luz de alto brillo en el espectro
infrarrojo, visible y ultravioleta. Un LED comienza a funcionar aproximadamente
con 2 voltios.

Resistencia. La Resistencia Elctrica es la oposicin o dificultad al paso de la


corriente elctrica. Cuanto ms se opone un elemento de un circuito a que pase
por el la corriente, ms resistencia tendr.

Protoboard. Es un tablero con orificios conectados elctricamente entre s,


habitualmente siguiendo patrones de lneas, en el cual se pueden insertar
componentes electrnicos y cables para el armado y prototipado de circuitos
electrnicos y sistemas similares. Est hecho de dos materiales, un aislante,
generalmente un plstico, y un conductor que conecta los diversos orificios entre
s. Uno de sus usos principales es la creacin y comprobacin de prototipos de
circuitos electrnicos antes de llegar a la impresin mecnica del circuito en
sistemas de produccin comercial.

Programacin en Arduino N1
Plus

201
6

Enlace de potencia. Es un dispositivo mecnico capaz de comandar cargas


pesadas a partir de una pequea tensin aplicada a su bobina. Bsicamente la
bobina contenida en su interior genera un campo magntico que acciona el
interruptor mecnico. Ese interruptor es el encargado de manejar la potencia en s,
quedando al circuito electrnico la labor de "mover" la bobina. Permite as aislar
mecnicamente la seccin de potencia de la de control.

Fotoresistencia LDR. Es un componente electrnico cuya resistencia disminuye


con el aumento de intensidad de luz incidente. Puede tambin ser llamado
fotorresistor, fotoconductor, clula fotoelctrica o resistor dependiente de la luz,
cuyas siglas, LDR.

Sensor de presencia PIR. Es un sensor electrnico que mide la luz infrarroja (IR)
radiada de los objetos situados en su campo de visin. Se utilizan principalmente
en los detectores de movimiento basados en PIR.

Mdulo bluetooth. Permite realizar comunicaciones inalmbricamente a 10mts


max resultando muy fciles de manejar gracias a su SPP (Serial Port Protocol) de
bajo consumo ya que trabajan a 3.3V. Los mdulos de bluetooth HC-05 y HC-06
resultan

populares

para

aplicaciones

con

microcontroladores

Arduino. Sacando ventaja de su tamao 12.7mmx27mm.

PIC

Programacin en Arduino N1
Plus

201
6

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