Sunteți pe pagina 1din 16

UNIVERSIDAD NACIONAL PERO RUIZ

GALLO

FACULTAD DE CIENCIAS FSICAS Y


MATEMTICAS

ESCUELA PROFESIONAL DE
INGENIERA ELECTRNICA

ESTACIONAMIENTO INTELIGENTE
CON ARDUINO

PRESENTADO POR:

- ALTAMIRANO MEGO MIGUEL NGEL.


- CASTILLO ELERA CRISTIAN.
- QUIROZ CAMPOVERDE JORGE ANIBAL.
- REVILLA PREZ ELIO FRANCISCO.
ESTACIONAMIENTO INTELIGENTE

FORMULACION

El proyecto consiste en un sistema inteligente que controla el flujo de los carros en


un estacionamiento, visualizando en una pantalla LCD la cantidad de lugares
disponibles que existen en el estacionamiento

OBJETIVOS

OBJETIVOS GENERALES

Desarrollar la tecnologa en todos los estacionamientos u


otros servicios pblicos

OBJETIVOS ESPECIFICOS

Disminuir gastos en el personal de servicio


Estimular la tecnologa en nuestro pas
Dando un mejor orden en dicha ciudad

JUSTIFICACIONES

Este proyecto lo realizamos con la finalidad de facilitar el orden , la economa, el


tiempo tanto del ofertante como el demandante , manteniendo la mejor tecnologa.

LIMITACIONES

La tecnologa utilizada es bsica pero muy buena , utilizando un ARDUINO


MEGA u otros componentes electrnicos

Este proyecto se utilizara en estacionamientos en el centro o fuera de la


ciudad

Tiempo de duracin del proyecto es de larga vida, si los componentes se


caducan se pueden cambiar y asi continuar con el servicio

Actualmente no se cuanto de dinero ser disponible para finaciarlo he


instalarlo, x ahora ser un estudio de factibilidad
FUNDAMENTOS TEORICOS

Veremos la investigacin de los componentes utilizados con dicho circuito utilizado

DRIVER L293D

L293D es un controlador de motor tpico o Motor Driver IC que permite motor de


corriente continua para conducir en cualquier direccin. L293D es un 16-pin IC que
puede controlar un conjunto de dos motores de corriente continua a la vez en
cualquier direccin.

Se basa en el concepto de puente H. H-puente es un circuito que permite que el


voltaje que se recorra en cualquier direccin. Como usted sabe necesidad de
tensin para cambiar su direccin para poder hacer girar el motor en sentido
horario o anti horario, ah puente H IC son ideales para la conduccin de un motor
de corriente continua.

ARDUINO CON LCD


El LCD tiene un interfaz paralelo, significando esto que el micro controlador tiene
que manipular varios pines del interfaz a la vez para controlarlo. El interfaz consta
de los siguientes pines:

Un pin de seleccin de registro (RS) que controla en qu parte de la memoria del


LCD ests escribiendo datos. Puedes seleccionar bien el registro de datos, que
mantiene lo que sale en la pantalla, o un registro de instruccin, que es donde el
controlador del LCD busca las instrucciones para saber cual es lo siguiente que
hay que hacer.

El pin de lectura/escritura (R/W)que selecciona el modo de lectura o el de


escritura.

Un pin para habilitar (enable) que habilita los registros.

8 pines de datos (D00-D07). Los estados de estos pines (nivel alto o bajo) son los
bits que ests escribiendo a un registro cuando escribes, o los valores de lectura
cuando ests leyendo.

Hay tambin un pin de contraste del display (Vo), pines de alimentacin (+5V y
GND) y pines de retro-iluminacin (Bklt+ y Bklt-), que te permiten alimentar el
LCD, controlar el contraste del display, o encender y apagar la retro-iluminacin,
respectivamente.

El proceso de controlar el display involucra la colocacin de los datos que


componen la imagen de lo que quieres mostrar, en los registros de datos, y luego,
colocar las instrucciones, en el registro de instrucciones. La librera LiquidCrystal
te simplifica todo este proceso de forma que no necesitas saber las instrucciones
de bajo nivel.

Los LCD-s compatibles con Hitachi pueden ser controlados de dos modos: 4 bits u
8 bits. El modo de 4 bits requiere siete pines de E/S de Arduino, mientras el modo
de 8 bits requiere 11 pines. Para mostrar texto en la pantalla, puedes hacer la
mayora de las cosas en modo 4 bits, por lo que el ejemplo muestra como
controlar un LCD de 2x16 en modo de 4 bits.
A
R
D
U
I
N
O

CON HCSR04

Si est en fuente de un mdulo que van por ultrasonidos, el HC-SR04 es una


buena elegir. Su rendimiento estable y de alta precisin que van lo convierten en
un mdulo muy popular en el mercado electrnico.

Especificaciones :

fuente de alimentacin: 5V DC
corriente de reposo: <= 2 mA
ngulo eficaz: <= 15
distancia que vara: 3 cm - 400 cm
Resolucin: 0,3 cm

Existen 4 patillas de mdulo: VCC, trig, Echo, GND. As que es una interfaz muy
fcil para el regulador de usarlo alcance.
ARDUINO CON LDR

las fotoclulas son sensores que le permiten detectar la luz. Son pequeas, de
bajo costo, bajo consumo de energa, fcil de usar y no se desgastan. Por esa
razn, a menudo aparecen en los juguetes, los aparatos y electrodomsticos.
Theys estn a menudo se conocen como clulas de CdS (se hacen de cadmio-
sulfuro de), resistencias dependientes de la luz (LDR) y fotorresistores.

Las fotoclulas son bsicamente un resistor que cambia su valor resistivo (en
ohmios ) en funcin de la cantidad de luz que brilla sobre la cara ondulada. Son
de muy bajo costo, fcil de conseguir en muchos tamaos y especificaciones, pero
son muy Incorrecto. Cada sensor fotoclula actuar de manera diferente que el
otro, aunque sean del mismo lote. Las variaciones pueden ser muy grandes, el
50% o ms! Por esta razn, no deberan ser utilizadas para tratar de determinar
los niveles de luz precisas en lux o Intensidad lumnica. En su lugar, usted puede
esperar que slo es capaz de determinar los cambios de luz bsicos

Para la mayora de las aplicaciones de la luz-sentsitive como "es claro u oscuro


out", "hay algo en frente del sensor (que sera bloquear la luz)", "hay algo
interrumpe un haz de lser" (sensores de rotura de vigas), o "cul de mltiples
sensores tiene la mayora de la luz golpeando", fotoclulas pueden ser una buena
opcin!
MOTOR BIPOLAR
Los denominados motores paso a paso (PaP), son
un caso bastante particular dentro de los motores en
general. La seal elctrica de alimentacin no es ni
c.c. ni c.a. como en otros casos, sino un tren de
pulsos
que se suceden con una secuencia, previamente
definida, a cada una de las bobinas que componen el
estator. Cada vez que a alguna de estas bobinas se
les aplica un pulso, el motor se desplaza un paso, y
queda fijo en esa posicin. Dependiendo de las
caractersticas constructivas del motor este
paso puede ser desde 90 hasta incluso 0,9. Por lo tanto, si somos capaces de
mover el motor en pequeos pasos, esto nos va a permitir controlar su posicin,
con mayor o menor precisin
dependiendo del avance de cada paso.
Adems, variando la frecuencia con la que se aplican los pulsos, tambin
estaremos variando la velocidad con que se mueve el motor, lo que nos permite
realizar un control de velocidad. Por ltimo si invertimos la secuencia de los
pulsos de alimentacin aplicados a las bobinas, estaremos realizando una
inversin en el sentido de giro del motor.

SECUENCIA DE UN MOTOR PAP BIPOLAR


PROGRAMACION

#include<LiquidCrystal.h>
constint fotores01=0;
constint LED=22;
int foto01=0;
constint TRIG = 11;
constint ECHO =10;
constint TRIG1 = 9;
constint ECHO1 =7;
int x=4;
intvacio=4;

int motorPin1 = 26; // Pines del Motor


int motorPin2 = 28;
int motorPin3 = 30;
int motorPin4 = 32;
intdelayTime = 2000; // DelayTime determina la espera entre uno
y otro paso
int delayTime1 = 35; // DelayTime1 determina la velocidad de
giro entre uno y otro paso
int enable1=30;

int motorPinS1 = 36; // Pines del Motor


int motorPinS2 = 40;
int motorPinS3 = 44;
int motorPinS4 = 48;
intdelayTimeS = 2000; // DelayTime determina la espera entre
uno y otro paso
int delayTimeS1 = 35; // DelayTime1 determina la velocidad de
giro entre uno y otro paso
int enableS1=30;

LiquidCrystallcd(13, 12, 5, 4, 3, 2); //define pines del LCD

voidsetup() {
Serial.begin(9600);
pinMode(motorPin1, OUTPUT); // Configuracin de los Pines como
salida digital
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
pinMode(enable1,OUTPUT);

pinMode(motorPinS1, OUTPUT); // Configuracin de los Pines como


salida digital
pinMode(motorPinS2, OUTPUT);
pinMode(motorPinS3, OUTPUT);
pinMode(motorPinS4, OUTPUT);
pinMode(enableS1,OUTPUT);

pinMode(LED,OUTPUT);
pinMode(TRIG,OUTPUT);
pinMode(ECHO,INPUT);
pinMode(TRIG1,OUTPUT);
pinMode(ECHO1,INPUT);
lcd.begin(16, 2); // define el lcd de cuantos es
lcd.print("ESTACIONAMIENTO"); // mensaje en el lcd
}

voidloop() {
lcd.setCursor(2, 1);
lcd.print("ESPAC VACIO");
lcd.setCursor(0, 1);
lcd.print(vacio);

foto01= analogRead(fotores01)/4;
if(foto01<248)
{
digitalWrite(LED,LOW);
}
if(foto01>250)
{
digitalWrite(LED,HIGH);
}

longduracion,distancia;
digitalWrite(TRIG,LOW);
delayMicroseconds(2);
digitalWrite(TRIG,HIGH);
delayMicroseconds(10);
digitalWrite(TRIG,LOW);
duracion=pulseIn(ECHO,HIGH);
distancia=(duracion/2)/29;

long duracion1,distancia1;
digitalWrite(TRIG1,LOW);
delayMicroseconds(2);
digitalWrite(TRIG1,HIGH);
delayMicroseconds(10);
digitalWrite(TRIG1,LOW);
duracion1=pulseIn(ECHO1,HIGH);
distancia1=(duracion1/2)/29;

if(distancia<=6)
{
x=x-1;
vacio=x;
delay(500);
digitalWrite(enable1, HIGH);
for(int i=0;i<6;i++)
{
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime1);

digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime1);

digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime1);

digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime1);

}
delay(delayTime);

for(int i=0;i<6;i++)
{
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime1);

digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime1);

digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime1);

digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime1);

}
delay(3000);

if(distancia1<=4)
{
x=x+1;
vacio=x;
delay(500);

digitalWrite(enableS1, HIGH);

for(int i=0;i<3;i++)
{
digitalWrite(motorPinS1, HIGH);
digitalWrite(motorPinS2, LOW);
digitalWrite(motorPinS3, HIGH);
digitalWrite(motorPinS4, LOW);
delay(delayTimeS1);

digitalWrite(motorPinS1, HIGH);
digitalWrite(motorPinS2, LOW);
digitalWrite(motorPinS3, LOW);
digitalWrite(motorPinS4, HIGH);
delay(delayTimeS1);

digitalWrite(motorPinS1, LOW);
digitalWrite(motorPinS2, HIGH);
digitalWrite(motorPinS3, LOW);
digitalWrite(motorPinS4, HIGH);
delay(delayTimeS1);

digitalWrite(motorPinS1, LOW);
digitalWrite(motorPinS2, HIGH);
digitalWrite(motorPinS3, HIGH);
digitalWrite(motorPinS4, LOW);
delay(delayTimeS1);
}
delay(3000);

for(int i=0;i<3;i++)
{
digitalWrite(motorPinS1, LOW);
digitalWrite(motorPinS2, HIGH);
digitalWrite(motorPinS3, HIGH);
digitalWrite(motorPinS4, LOW);
delay(delayTimeS1);
digitalWrite(motorPinS1, LOW);
digitalWrite(motorPinS2, HIGH);
digitalWrite(motorPinS3, LOW);
digitalWrite(motorPinS4, HIGH);
delay(delayTimeS1);

digitalWrite(motorPinS1, HIGH);
digitalWrite(motorPinS2, LOW);
digitalWrite(motorPinS3, LOW);
digitalWrite(motorPinS4, HIGH);
delay(delayTimeS1);

digitalWrite(motorPinS1, HIGH);
digitalWrite(motorPinS2, LOW);
digitalWrite(motorPinS3, HIGH);
digitalWrite(motorPinS4, LOW);
delay(delayTimeS1);

}
delay(delayTimeS);

if(distancia>=500 || distancia <=0)


{
Serial.println("FUERA DE ALCANCE");
}
else
{
Serial.print(distancia);
Serial.println("cm-ENTRADA");
}
delay(1000);

if(distancia1>=500 || distancia1 <=0)


{
Serial.println("FUERA DE ALCANCE");
}
else
{
Serial.print(distancia1);
Serial.println("cm-SALIDA");
}
delay(1000);
}

ANTECEDENTES

Este proyecto ya asido planteado por otros, haban utilizado como sensores solo
foto celdas, nosotros teniendo un perspectiva ms eficaz y no haya ningn
problema hemos trabajado con sensores HCSR04.

PRESUPUESTO

El estacionamiento es muy inteligente y tambin econmico, el costo ha sido sin


considerar el arduino mega

(2) Motor paso a paso bipolares. -----------------------------6.00


(1) Pantalla LCD.---------------------------------------------------14.00
(2) Sensores ultrasnicos HCSR04.---------------------------20.00
(1) LDR.--------------------------------------------------------------- 0.5
(10) Resistencias de 330 .------------------------------------- 1.00
(6) Diodos led.------------------------------------------------------1.00
(1) regulador 7805------------------------------------------------0.5
(2) L293b------------------------------------------------------------8.00
cables para protoboard------------------------------------------1.00
Pintura negra.------------------------------------------------------2.00
Una base de cartn prensado.---------------------------------2.00

Aproximadamente es costo es un total de 56 soles

CONCLUSIONES

Para perfeccionar este proyecto, necesitara tener 2 ms sensores ya si


ubicarlos respectivamente con su programacin

Ha sido un arduo trabajo, nosotros como estudiantes nos sentimos muy


emocionados en realizar este proyecto, trabajamos una semana
aproximadamente 5 horas diarias, pero vali la pena.

Una opcin de mejorar y perfeccionarlo este proyecto es conectarlo a un


GPS, por medio de internet , para as facilitar a los clientes el servicio
brindado
BIBLIOGRAFIA

http://mirrors.arcadecontrols.com/ladyyada.net/learn/sensors/cds.html
http://arduino.cc/es/Tutorial/LiquidCrystal
http://www.youtube.com/watch?v=DkzMpiDymRc
http://dfists.ua.es/~jpomares/arduino/page_01.htm

S-ar putea să vă placă și