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

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