Upload
crystian-soratto
View
253
Download
0
Embed Size (px)
DESCRIPTION
Desenvolvendo um sistema de estacionamento com o Arduino.
Citation preview
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 eletrônica de hardware. Sendo iniciado o projeto em 2005, seu objetivo é auxiliar na criação de ferramentas acessíveis e de baixo custo de forma flexível para todos.
Componentes utilizados:
Arduino UNO
• A versão 1.0 do arduino. O suficiente para o projeto.
Protoboard
• Finalidade:• Dotado de vários furos, o protoboard é um componente que auxilia na
montagem de circuitos elétricos experimentais. Facilita muito na inserção de componentes uma vez que não necessita soldagem.
• Quantia usada: 1x
Resistor
• Finalidade:• Limitar a corrente elétrica em um circuito de forma que não danifique
outros componentes.
• Quantia usada:• 220Ω 2x• 300Ω 2x• 10kΩ 2x
Sensor Infravermelho
• Finalidade:• Através de um emissor e um receptor, informar a variação para o
controlador para então o software atuar com alguma medida.
• Quantia usada:• Emissor infravermelho 2x• Receptor infravermelho 2x
Painel lcd 16x2
• Finalidade: • Display de cristal líquido usado para mostrar caracteres da tabela ASCII.
• Quantia usada:• 2x
Fios
• Finalidade:• Conduzir a corrente de um ponto a outro.
Servomotor
• Finalidade:• É uma máquina eletromecânica. Ela se movimenta proporcionalmente
conforme comandos recebidos.
• Quantia usada:• 2x
Botões
• Finalidade:• Enviar uma resposta digital(0 ou 1) para o controlador a fim de realizar
alguma função.
• Quantia usada:• 2x
Buzzer• Finalidade:• Dispositivo de emissão de sinais de áudio. Usos mais comuns incluem
alarmes, “timers”, entre outros.
• Quantia usada:• 1x
Código-fonte:
#include <LiquidCrystal.h>
#include <Servo.h>
Servo myservo;
Servo meuservo;
LiquidCrystal lcd(12,10,5,4,3,2);
LiquidCrystal lcd2(12,11,5,4,3,2);
int butpin=8;
int botpin=7;
int sensor=A0;
int sensor2=A1;
int vagas = 12;
void setup(){
lcd.begin(16,2);
lcd2.begin(16,2);
myservo.attach(9);
meuservo.attach(6);
lcd.setCursor(0,0);
lcd.print("Jurassic Parking");
lcd2.setCursor(0,0);
lcd2.print("Saida");
lcd.setCursor(0,1);
lcd.print("Vagas: ");
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); delay(200); noTone(13); entrada(); lcd.setCursor(0,1); lcd.print("Vagas: "); lcd.print(vagas); lcd.print(" "); }else if(digitalRead(botpin)==LOW && vagas<12){ tone(13,350,750); delay(200); noTone(13); saida(); lcd2.setCursor(0,1); lcd2.print(" "); lcd.setCursor(0,1); lcd.print("Vagas: "); lcd.print(vagas);}
else if(digitalRead(butpin)==LOW && vagas==0){ tone(13,262,750); delay(200); noTone(13); lcd.setCursor(0,1); lcd.print("Nao ha vagas"); } fecha();void fecha(){ meuservo.write(179); delay(250); meuservo.detach(); myservo.write(0); delay(250); myservo.detach();}
else if(digitalRead(butpin)==LOW && vagas==0){
tone(13,262,750);
delay(200);
noTone(13);
lcd.setCursor(0,1);
lcd.print("Nao ha vagas");
}
fecha();
void fecha(){
meuservo.write(179);
delay(250);
meuservo.detach();
myservo.write(0);
delay(250);
myservo.detach();
}
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++;
}
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: