Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyectoalarmaarduino PDF
Proyectoalarmaarduino PDF
ELECTRÓNICA
Sistema de
Alarma
2
- Objetivo:
El Objetivo principal de este proyecto es realizar un sistema de alarma controlado
manualmente. Dispondrá de varios modos con los que nos moveremos por el programa
(alarma apagada, encendida, etc.), de contraseña (la cual designaremos cuando arranque el
programa), de una temporización para la activación de la alarma, de un dispositivo de sonido
como un zumbador y de una pantalla LCD en la que se nos mostrará la información necesaria
para interactuar con el programa.
- Justificación:
Realizar un sistema de alarma barato, fácil de usar y con una contraseña que
podremoscambiar cuando deseemos.
- Plan de trabajo:
El plan de trabajo será dividido en varias etapas:
Ésta será la primera fase del proyecto, realizar el circuito del proyecto usando las placas
prototipo, conociendo en todo momento las entradas y salidas que usaremos en el arduino,
para una programación correcta. Para ello usaremos los siguientes materiales:
- Pack Arduino UNO: del pack usaremos la placa Arduino UNO, la pantalla LCD y el
teclado.
- 3 pulsadores.
- 1 zumbador.
- 1 potenciómetro.
- Un total de 15 resistencias
3
Para el montaje del circuito podemos seguir el siguiente esquema:
Nuestra pantalla LCD sólo tiene 4 patillas: VCC, GND, SCL y SDA. La patilla SCL la
conectaremos a la entrada analógica A5 del Arduino, y la SDA a la A4
4
5
El teclado requiere de 8 patillas digitales del arduino normalmente, pero podemos
utilizar solo una entrada analógica, si usamos un divisor de tensión para cada tecla y un
método en la programación que explicaremos más tarde, ahorrando un gran número de
patillas, sin las que nos sería imposible realizar el proyecto. Lo conectaremos de la siguiente
manera:
6
B) Programación:
Este apartado lo dividiremos en varios apartados para explicarlo lo más fácilmente posible.
Primero veremos la programación para controlar algunos componentes, como la pantalla
LCD, el teclado y el zumbador:
- La pantalla LCD:
Para poder usar la pantalla LCD en el compilador tenemos que poner esta librería:
Con esto ya podremos usar la LCD, para ello se usarán los siguientes comandos:
7
- El teclado:
Para poder conectar el teclado al Arduino usando sólo una entrada analógica, lo
haremos con el divisor de tensión que hemos explicado anteriormente. De esta
manera cada tecla nos enviará una señal analógica distinta de las otras, por lo tanto
mediante los rangos de la señal podremos asignar cada valor a un número del teclado.
Lo podremos hacer de esta forma:
do
nf = 1;
x ++;
nf = 2;
x ++;
nf = 3;
x ++;
nf = 4;
x ++;
8
}
nf = 5;
x ++;
nf = 6;
x ++;
nf = 7;
x ++;
nf = 8;
x ++;
nf = 9;
x ++;
9
{
nf = 0;
x ++;
En este proyecto solo hemos usado los números, así que si queremos añadir el resto
de teclas de nuestro teclado, comprobaremos los rangos de señal que puede dar cada
tecla y lo añadiremos en el compilador de la manera anterior.
- El zumbador:
delay (150);
delay (150);
noTone (zumbador);
10
PROGRAMACIÓN POR PARTES:
1- Declaración de variables.
int pulsador_setup = 8;
int pulsador_verde = 7;
int pulsador_naranja = 6;
int sensor_mov = 5;
2- La función setup:
11
void setup()
lcd.init ();
lcd.backlight ();
Serial.begin (9600);
12
3- La función modo_inicio:
void modo_inicio()
lcd.clear ();
lcd.setCursor (3,1);
i=0;
do
nf = 1;
x ++;
nf = 2;
x ++;
13
}
nf = 3;
x ++;
nf = 4;
x ++;
nf = 5;
x ++;
nf = 6;
x ++;
nf = 7;
x ++;
14
{
nf = 8;
x ++;
nf = 9;
x ++;
nf = 0;
x ++;
if (ultnum != nf)
x = 0;
Serial.println (nf);
lcd.print (nf);
delay (100);
noTone (zumbador);
delay (400);
ultnum = nf;
15
i++;
x = 0;
Serial.println (nf);
lcd.print (nf);
delay (100);
noTone (zumbador);
delay (400);
i++;
while (i != 6);
lcd.clear ();
lcd.setCursor (3,1);
lcd.print (pass1[0]);
lcd.print (pass1[1]);
lcd.print (pass1[2]);
lcd.print (pass1[3]);
lcd.print (pass1[4]);
16
lcd.print (pass1[5]);
delay (5000);
lcd.clear ();
do
Serial.println (temporizador);
lcd.setCursor (3,1);
lcd.print (temporizador);
inicio = 1;
nivel = 1;
17
4- La función modo_verde:
Cuando se activa esta función se enciende el led verde y nos indica que la alarma está
desactivada pero lista para usarse, con la contraseña y el tiempo de activación ya
determinados. Desde esta función puede pasarse al modo_inicio o modo_naranja:
void modo_verde()
lcd.clear();
nivel = 1;
5- La función modo_naranja:
void modo_naranja()
lcd.clear();
18
temp2 = temporizador;
lcd.setCursor (3,1);
lcd.print (temp2);
delay (150);
noTone (zumbador);
delay (850);
temp2--;
delay (150);
noTone (zumbador);
lcd.clear();
nivel = 2;
6- La función modo_rojo:
Una vez se active este modo, el led rojo y el zumbador se activarán y quedarán fijos,
con una pequeña intermitencia al principio. También se nos pedirá una contraseña de
19
6 dígitos, si introducimos la correcta el zumbador se desactivará y el programa pasará
al modo_verde, si ésta es incorrecta el modo_rojo se volverá a activar otra vez:
void modo_rojo()
lcd.clear ();
delay (100);
delay (100);
delay (100);
delay (100);
lcd.setCursor (3,1);
i=0;
do
nf = 1;
20
x ++;
nf = 2;
x ++;
nf = 3;
x ++;
nf = 4;
x ++;
nf = 5;
x ++;
nf = 6;
x ++;
21
else if ((numero2 > 720) && (numero2 < 740))
nf = 7;
x ++;
nf = 8;
x ++;
nf = 9;
x ++;
nf = 0;
x ++;
if (ultnum != nf)
x = 0;
Serial.println (nf);
22
lcd.print (nf);
delay (500);
ultnum = nf;
i++;
x = 0;
Serial.println (nf);
lcd.print (nf);
delay (500);
i++;
boolean correcta = 1;
if (pass1[i] != pass2[i])
correcta = 0;
23
}
if (correcta == 1)
lcd.clear ();
delay(5000);
modo_verde();
else
lcd.clear ();
delay (5000);
modo_rojo();
nivel = 0;
7- La función loop:
Es la última parte y el bucle principal del programa. En este caso será la función
encargada de mover el programa por los distintos modos del sistema de alarma. Para
ello se usan los pulsadores y unas variables (“inicio” y “nivel”) que irán cambiando
según se activen los distintos modos:
24
void loop()
modo_inicio();
modo_verde();
modo_verde();
modo_naranja();
modo_rojo();
25
- Presupuesto:
Teclado: 6 €
Pantalla LCD: 12 €
Sensor de movimiento: 9 €
Potenciómetro: 2 €
Zumbador: 1 €
4 leds: 4 €
15 resistencias: 0,45 €
26