ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Garaje automatico


Enviado por   •  26 de Agosto de 2017  •  Informes  •  3.183 Palabras (13 Páginas)  •  393 Visitas

Página 1 de 13

El proyecto garaje automático trata que mediante sensores se abra y se cierre la puerta del garaje e indique cuando se debe detener el auto , el procedimiento consiste en: por medio de un celular se digita una clave y la puerta del garaje abre, luego hace una secuencia de luces y en el LCD sale un mensaje de bienvenida, después mediante unos sensores de luz detecta en donde está el auto y según el sensor hace una operación, con el primer sensor, enciende el led verde y la puerta se abre, con el segundo sensor, el led rojo enciende, suena un busser y la puerta se cierra, y si ningún sensor detecta, el led amarrillo prendera.

Nuestro proyecto lo pensábamos hacer con un sensor de ultrasonido para poder medir la distancia y ser más precisos en la ubicación del auto, pero debido a que el sensor de ultrasonido no nos daba una medida correcta, decidimos usar fotorresistencia o sensores sensibles a la luz, para determinar la posición del auto pero tuvimos otra dificultad los sensores no detectaban bien ya que dependía de la luz que les llegara, entonces tuvimos que poner un potenciómetro para ajustarlos según la intensidad de la luz.

Luego necesitábamos que el motor girara en ambos sentidos entonces investigamos y tuvimos que hacer un puente h por medio de varios transistores y unas resistencias para que el motor girara en ambos sentidos, luego de cuadrar los sensores y probar que todo funcionara empezamos a programar y el código nos quedó así:

#include <18F4550.h>

#fuses NOMCLR INTRC_IO,XT,NOPROTECT,NOBROWNOUT,NOWDT,PUT,NOCPD,NODEBUG,NOLVP,NOMCLR,HSPLL,PLL5,CPUDIV1,VREGEN,USBDIV

#use delay(clock = 48000000)

#USE rs232(baud=9600, parity=N , xmit=Pin_C6, rcv=Pin_C7, bits=8)

#include <stdlib.h>

#include <math.h>

#define LCD_E PIN_E2 // definimos los puertos para el lcd

#define LCD_CK PIN_E1 // definimos los puertos para el lcd

#define LCD_DAT PIN_E0 // definimos los puertos para el lcd

#include <LCD4x20_3PIN.C> //agregamos una librería

#include <KBD18F.C>

#ROM 0xf00000={0x9819}

#ROM 0xf00002={0x1234}

long segundos;

long auxsegundos;

char datom;

int datoe[4];

int clave[4],b,i;

int p;

int d;

int x;

void teclado_movil() //método para usar el teclado desde el celular

{

segundos=0;

auxsegundos=0;

b=6;

lcd_putc('\f');

for (i=0;i<4;i++)

{

do{

if(input(PIN_D4))

{

delay_ms(60);

d = input_D();

d= d & 0x0F;

switch (i+1)

{

case 1:

clave[0]=d;

swap(clave[0]);

lcd_gotoxy(6,1);

printf(lcd_putc,"*");

delay_ms(50);

break;

case 2:

clave[1]=d;

clave[0]=clave[0]+clave[1];

printf(lcd_putc,"*");

delay_ms(50);

break;

case 3:

clave[2]=d;

swap(clave[2]);

printf(lcd_putc,"*");

delay_ms(50);

break;

case 4:

clave[1]=d;

clave[1]=clave[1]+clave[2];

printf(lcd_putc,"*");

delay_ms(50);

break;

}

i++;

delay_ms(500);

segundos=0;

auxsegundos=0;

auxsegundos++;

if(auxsegundos >20)

{

segundos++;

auxsegundos=0;

}

}

}while((segundos<6)&&(i<4));

...

Descargar como (para miembros actualizados)  txt (9.8 Kb)   pdf (57.5 Kb)   docx (17.1 Kb)  
Leer 12 páginas más »
Disponible sólo en Clubensayos.com