Proyecto Final
DESCARGAR DOCUMENTO
PROYECTO FINAL
Mi proyecto final es un sistema de alarma para que avise al dueño del establecimiento, si éste por algún motivo no se encuentra en el local, que ha entrado alguien y que debe ser atendido.
Para ello se va a utilizar el sensor ultrasónico para que detecte la entrada del cliente al establecimiento, este va a activar un piezo que va a emitir el sonido de alarma, se va a mostrar en la pantalla LCD la palabra BIENVENIDO, en la casa del dependiente se va a encender un LED indicando que alguien entró y va a presionar un botón donde nuevamente active la pantalla indicando al cliente que YA LE ATENDEMOS. Mientras no ingresen clientes en la pantalla se va a mostrar el nombre del establecimiento, PULPERIA MYA.
Código utilizado
#include <LiquidCrystal.h> //librería
Código utilizado
#include <LiquidCrystal.h> //librería
LiquidCrystal lcd(8,9,4,5,6,7); //define pines en arduino que controlan LCD
int pinAzul = 10;
int trig = 13; //envía onda ultrasónica a través del disparador
int echo = 12; //recibe las ondas que revotan en el objeto
int piezo = 2; //variable del pin del piezo
int boton = 11; //variable del pin del botón
int tmp=0; //variable temporal para usar en la condicional
float disCalculada; //variable que guarda el valor de la distancia
int val = 0; //val se emplea para almacenar el estado del botón
void setup()
{
lcd.noBlink(); //le indicamos al LCD que no parpadee
pinMode (trig, OUTPUT); //entradas y salidas de datos y
pinMode (echo, INPUT); //activación del monitor serial
pinMode (piezo, OUTPUT);
pinMode (boton, INPUT);
Serial.begin (9600);
}
void loop() //procedimiento que captura y procesa datos
//para mostrar en el monitor serial.
{
disCalculada = calcularDistancia ();
Serial.println ("--------");
Serial.print ("cm:");
Serial.println (disCalculada);
delay (200);
val= digitalRead(boton); // lee el estado del Boton
if (val == HIGH)
{
lcd.clear();
lcd.setCursor (1,1); //posicionamos el cursor en la fila 1, posición 1
lcd.print("YA LE ATENDEMOS"); //mostramos ese mensaje en la LCD
delay(2000);
}
//-----------------------------------//
if (disCalculada < 100 )
{
tmp=100; //a la variable temporal le vamos a asignar un valor de 100
digitalWrite (pinAzul, HIGH);
timbre ();
delay (200);
lcd.clear();
lcd.setCursor (2,1); //posicionamos el cursor en la fila 1, posición 1
lcd.print("*BIENVENIDO*"); //mostramos la palabra BIENVENIDO
delay(2000); //esperamos 2 segundo
}
else
{
tmp=0; //si la condición no se cumple, cambiamos el valor de la variable temporal a 0
digitalWrite(pinAzul, LOW);
lcd.clear();
lcd.setCursor (2,1); //posicionamos el cursor en la fila 1, posición 1
lcd.print("PULPERIA MYA"); //mostramos
}
}
int calcularDistancia ()
{ //función que calcula la distancia
long distancia; //y devuelve un valor
long duracion;
digitalWrite (trig, LOW);
delayMicroseconds (4);
digitalWrite (trig, HIGH);
delayMicroseconds (10);
digitalWrite (trig, LOW);
duracion = pulseIn (echo, HIGH);
duracion = duracion/2;
distancia = duracion/29 ;
return distancia;
}
void timbre() //tonos para timbre
{
tone(piezo,300,2000);
delay(300);
tone(piezo,200,500);
delay (200);
}
Comentarios
Publicar un comentario