Sunteți pe pagina 1din 19

Eletricidade e

circuitos digitais
CCP
Construindo um sistema de
estacionamento com o arduino.

Equipe:
Anderson Seiji Ishii
Crystian da Silva Sorato
Renan Rocha de Andrade
Wellynton Mafei Rodrigues

Arduino
uma plataforma de prototipagem
eletrnica de hardware. Sendo iniciado o
projeto em 2005, seu objetivo auxiliar
na criao de ferramentas acessveis e
de baixo custo de forma flexvel para
todos.

Componentes
utilizados:

Arduino UNO
A verso 1.0 do arduino. O suficiente
para o projeto.

Protoboard
Finalidade:
Dotado de vrios furos, o protoboard um componente
que auxilia na montagem de circuitos eltricos
experimentais. Facilita muito na insero de componentes
uma vez que no necessita soldagem.

Quantia usada:
1x

Resistor
Finalidade:
Limitar a corrente eltrica em um circuito de forma que
no danifique outros componentes.

Quantia usada:
220 2x
300 2x
10k 2x

Sensor Infravermelho
Finalidade:
Atravs de um emissor e um receptor, informar a
variao para o controlador para ento o software atuar
com alguma medida.

Quantia usada:
Emissor infravermelho 2x
Receptor infravermelho 2x

Painel lcd 16x2


Finalidade:
Display de cristal lquido usado para mostrar caracteres
da tabela ASCII.

Quantia usada:
2x

Fios
Finalidade:
Conduzir a corrente de um ponto a outro.

Servomotor
Finalidade:
uma mquina eletromecnica. Ela se movimenta
proporcionalmente conforme comandos recebidos.

Quantia usada:
2x

Botes
Finalidade:
Enviar uma resposta digital(0 ou 1) para o controlador a
fim de realizar alguma funo.

Quantia usada:
2x

Buzzer
Finalidade:
Dispositivo de emisso de sinais de udio. Usos mais
comuns incluem alarmes, timers, entre outros.

Quantia usada:
1x

Cdigo-fonte:

#include <LiquidCrystal.h>

void setup(){
lcd.begin(16,2);

#include <Servo.h>

lcd2.begin(16,2);

Servo myservo;

myservo.attach(9);

Servo meuservo;

meuservo.attach(6);

LiquidCrystal lcd(12,10,5,4,3,2);

lcd.setCursor(0,0);

LiquidCrystal lcd2(12,11,5,4,3,2);

lcd.print("Jurassic Parking");

int butpin=8;

lcd2.setCursor(0,0);

int botpin=7;

lcd2.print("Saida");

int sensor=A0;

lcd.setCursor(0,1);

int sensor2=A1;

lcd.print("Vagas: ");

int vagas = 12;

lcd.setCursor(8,1);
lcd.print(vagas);
pinMode(sensor,INPUT);
pinMode(sensor2,INPUT);
pinMode(butpin,INPUT_PULLUP);
pinMode(botpin,INPUT_PULLUP);
}

void loop(){
if (digitalRead(butpin)==LOW &&
vagas>0){
tone(13,700,750);

else
if(digitalRead(butpin)==LOW
&& vagas==0){

delay(200);

tone(13,262,750);

noTone(13);

delay(200);

entrada();

noTone(13);

lcd.setCursor(0,1);

lcd.setCursor(0,1);

lcd.print("Vagas: ");

lcd.print("Nao ha vagas");

lcd.print(vagas);

lcd.print(" ");
}else if(digitalRead(botpin)==LOW
&& vagas<12){
tone(13,350,750);

void fecha(){

delay(200);

meuservo.write(179);

noTone(13);

delay(250);

saida();
lcd2.setCursor(0,1);
lcd2.print("

");

meuservo.detach();
myservo.write(0);

lcd.setCursor(0,1);

delay(250);

lcd.print("Vagas: ");

myservo.detach();

lcd.print(vagas);
}

fecha();

else if(digitalRead(butpin)==LOW &&


vagas==0){

myservo.attach(9);
myservo.write(90);

tone(13,262,750);

lcd.setCursor(0,1);

delay(200);

lcd.write("Bem Vindo ");

noTone(13);

delay(4000);

lcd.setCursor(0,1);

while(analogRead(sensor)>1010){

lcd.print("Nao ha vagas");
}

fecha();

vagas--;

void fecha(){
meuservo.write(179);

}
void saida(){

delay(250);

meuservo.attach(6);

meuservo.detach();

meuservo.write(90);

myservo.write(0);
delay(250);
myservo.detach();
}

delay(1000);

lcd2.setCursor(0,1);
lcd2.print("Volte Sempre");
delay(4000);
while(analogRead(sensor2)>1010){
delay(3000);
}
vagas++;

void entrada(){
myservo.attach(9);
myservo.write(90);
lcd.setCursor(0,1);
lcd.write("Bem Vindo ");
delay(4000);
while(analogRead(sensor)>1010){
delay(1000);
}
vagas--;
}
void saida(){
meuservo.attach(6);
meuservo.write(90);
lcd2.setCursor(0,1);
lcd2.print("Volte Sempre");
delay(4000);
while(analogRead(sensor2)>1010){
delay(3000);
}
vagas++;
}

Funcionamento:

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