segunda-feira, 15 de outubro de 2012

Finalizando


Maquete com o Display mostrando as vagas do G1 e G2


Parte eletrônica final


Programação final






#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(9, 8, 7, 6, 3, 2);



int p = 0; // Variavel onde e guardado o valor lido do LDR
int p1 = 1; // Variavel onde e guardado o valor lido do LDR
int p2 = 2; // Variavel onde e guardado o valor lido do LDR
int p3 = 3; // Variavel onde e guardado o valor lido do LDR
int p4 = 4; // Variavel onde e guardado o valor lido do LDR
int p5 = 5; // Variavel onde e guardado o valor lido do LDR

int ldr5 = 5; // Pino onde vamos ligar a LDR
int ldr4 = 4; // Pino onde vamos ligar a LDR
int ldr3 = 3; // Pino onde vamos ligar a LDR
int ldr2 = 2; // Pino onde vamos ligar a LDR
int ldr1 = 1; // Pino onde vamos ligar a LDR
int ldr0 = 0; // Pino onde vamos ligar a LDR

int l=100  ;
int ll=50;


void setup() {
 
  lcd.begin(20, 2);
 
 }




void loop() {



  p = analogRead(ldr0); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p1 = analogRead(ldr1); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p2 = analogRead(ldr2); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p3 = analogRead(ldr3); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p4 = analogRead(ldr4); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p5 = analogRead(ldr5); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
 

if ((p > ll)&&(p1 > ll)&&(p2 > ll)) {
   
    lcd.setCursor(0, 0);
  lcd.print("G1: 1 2 3           ");
   }
 
  if ((p <= ll)&&(p1 > ll)&&(p2 > ll)) {
     lcd.setCursor(0, 0);
  lcd.print("G1: 2 3             ");
   }
 
   if ((p <= ll)&&(p1 <= ll)&&(p2 > ll)) {
   
     lcd.setCursor(0, 0);
  lcd.print("G1: 3               ");
   }
 
 
    if ((p > ll)&&(p1 > ll)&&(p2 <= ll)) {
       lcd.setCursor(0, 0);
     
  lcd.print("G1: 1 2             ");
   }
 
   if ((p <= ll)&&(p1 <= ll)&&(p2 <= ll)) {
   
     lcd.setCursor(0, 0);
  lcd.print("G1: Lotado          ");
   }
 
   if ((p > ll)&&(p1 <= ll)&&(p2 > ll)) {
   
     lcd.setCursor(0, 0);
  lcd.print("G1: 1 3             ");
   }
 
if ((p > ll)&&(p1 <= ll)&&(p2 <= ll)) {
   
     lcd.setCursor(0, 0);
  lcd.print("G1: 1               ");
   }
 
 
   if ((p <= ll)&&(p1 > ll)&&(p2 <= ll)) {
   
     lcd.setCursor(0, 0);
  lcd.print("G1: 2               ");
   }
 
 

//garagem 2
 
 
  if ((p3 > l)&&(p4 > l)&&(p5 > l)) {
   
    lcd.setCursor(0, 1);
  lcd.print("G2: 1 2 3           ");
   }
 
  if ((p3 <= l)&&(p4 > l)&&(p5 > l)) {
     lcd.setCursor(0, 1);
  lcd.print("G2: 2 3             ");
   }
 
   if ((p3 <= l)&&(p4 <= l)&&(p5 > l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: 3               ");
   }
 
 
    if ((p3 > l)&&(p4 > l)&&(p5 <= l)) {
       lcd.setCursor(0, 1);
     
  lcd.print("G2: 1 2             ");
   }
 
   if ((p3 <= l)&&(p4 <= l)&&(p5 <= l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: Lotado          ");
   }
 
   if ((p3 > l)&&(p4 <= l)&&(p5 > l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: 1 3             ");
   }
 
if ((p3 > l)&&(p4 <= l)&&(p5 <= l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: 1               ");
   }
 
 
   if ((p3 <= l)&&(p4 > l)&&(p5 <= l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: 2               ");
   }

}




http://www.kemper.com.br/wordpress/2012/06/01/interface-serial-arduino/

sexta-feira, 12 de outubro de 2012


Código da programação Displaey LCD 20x2 e 6 LDR's

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 6, 4, 3, 2);

int p = 0; // Variavel onde e guardado o valor lido do LDR
int p1 = 1; // Variavel onde e guardado o valor lido do LDR
int p2 = 2; // Variavel onde e guardado o valor lido do LDR
int p3 = 3; // Variavel onde e guardado o valor lido do LDR
int p4 = 4; // Variavel onde e guardado o valor lido do LDR
int p5 = 5; // Variavel onde e guardado o valor lido do LDR

int l = 250;

int ldr0 = 0; // Pino onde vamos ligar a LDR
int ldr1 = 1; // Pino onde vamos ligar a LDR
int ldr2 = 2; // Pino onde vamos ligar a LDR
int ldr3 = 3; // Pino onde vamos ligar a LDR
int ldr4 = 4; // Pino onde vamos ligar a LDR
int ldr5 = 5; // Pino onde vamos ligar a LDR

int reserva;

int cont=0;

void setup() {
    Serial.begin(9600); ///conexão com o php...
   
  // set up the LCD's number of columns and rows:
  lcd.begin(20, 2);
  // Print a message to the LCD.
  //lcd.print("Inove Engenharia");
}


void loop() {
 
 
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 0);
  // print the number of seconds since reset:

 
  p = analogRead(ldr0); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p1 = analogRead(ldr1); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p2 = analogRead(ldr2); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p3 = analogRead(ldr3); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p4 = analogRead(ldr4); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
  p5 = analogRead(ldr5); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”


if ((p > l)&&(p1 > l)&&(p2 > l)) {
  lcd.print("G1: 1 2 3           ");
 
   }
 
  if ((p <= l)&&(p1 > l)&&(p2 > l)) {
  lcd.print("G1: 2 3             ");
   }
 
  
   if ((p <= l)&&(p1 <= l)&&(p2 > l)) {
  lcd.print("G1: 3               ");
   }
    
 
   if ((p <= l)&&(p1 <= l)&&(p2 <= l)) {
  lcd.print("G1: Lotado          ");
   }
 
  //garagem 2
   
  if ((p3 > l)&&(p4 > l)&&(p5 > l)) {
   
    lcd.setCursor(0, 1);
  lcd.print("G2: 1 2 3           ");
   }
 
  if ((p3 <= l)&&(p4 > l)&&(p5 > l)) {
     lcd.setCursor(0, 1);
  lcd.print("G2: 2 3             ");
   }
 
   if ((p3 <= l)&&(p4 <= l)&&(p5 > l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: 3               ");
   }
 
 
    if ((p3 > l)&&(p4 > l)&&(p5 <= l)) {
       lcd.setCursor(0, 1);
     
  lcd.print("G2: 1 2             ");
   }
 
   if ((p3 <= l)&&(p4 <= l)&&(p5 <= l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: Lotado          ");
   }
 
   if ((p3 > l)&&(p4 <= l)&&(p5 > l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: 1 3             ");
   }
 
if ((p3 > l)&&(p4 <= l)&&(p5 <= l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: 1               ");
   }
 
 
   if ((p3 <= l)&&(p4 > l)&&(p5 <= l)) {
   
     lcd.setCursor(0, 1);
  lcd.print("G2: 2               ");
   }
 
}//final loop

quarta-feira, 10 de outubro de 2012

Testando a conexão da Arduino com PHP

O nosso projeto Estacionamento Inteligente irá possibiliatar o cliente a reservar sua vaga pela internet, onde iremos desenvolver uma página em PHP para a tal função.

Com isso estamos testando a conexão da Arduino com a porta COM3, onde o PHP irá ler e escrever se comunicando com a Arduino.

O código abaixo é compilado na Arduino, que fará o um led ligado ao pin13 ficar piscando.


int ledPin = 13;
int usbnumber = 0;
void setup() {
    pinMode(ledPin, OUTPUT);
    Serial.begin(9600);
}
void loop() {
    if (Serial.available() > 0) {
        usbnumber = Serial.read();
    }
    if (usbnumber > 0) {
        if (usbnumber % 2 == 0){
            digitalWrite(ledPin, HIGH);
            delay(300);
            digitalWrite(ledPin, LOW);
            delay(300);
        }else{
            digitalWrite(ledPin, HIGH);
            delay(300);
            digitalWrite(ledPin, LOW);
            delay(300);
            digitalWrite(ledPin, HIGH);
            delay(300);
            digitalWrite(ledPin, LOW);
            delay(300);
        }
        usbnumber = 0;
    }
}


Com o código acima escrito na microcontroladora da Arduino, escrevemos esse código em PHP para escrever e a partir daí escrever na Arduino através da porta COM3, que irá fazer o led piscar.


<?php
$fp =fopen("com3", "w");
while (true){
    $i = 10;
    echo "Wrote $i - O  LED should flash (" . ($i % 2 == 0 ? ' 1 time ' : '2 times ') . ")\r\n";
   
 fwrite($fp, $i);
    sleep(3);
}
fclose($fp);
?>



Testando Arduino + LDR + Display

terça-feira, 9 de outubro de 2012


Programação para testar o Display e LDR

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 6, 4, 3, 2);

int p = 0; // Variavel onde e guardado o valor lido do LDR

int ldr0 = 0; // Pino onde vamos ligar a LDR


void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(20, 2);
  // Print a message to the LCD.
  lcd.print("Inove Engenharia");
}


void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:

 
  p = analogRead(ldr0); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”

if (p > 200) {
  lcd.print("Vago     ");
   }
 
   if (p <= 200) {
  lcd.print("Ocupado");
   }
 
}
 Testando os display LCD junto ao sensor LDR

Display LCD 20x2 ligado a um potenciômetro de 10K



LDR ligado a um resistor de 1K




Esquema do LDR
Componentes:

Resistor de 1K
LDR 5mm
Potenciômetro de 10K
Display LCD 20x2


quarta-feira, 19 de setembro de 2012

Maquete pronta........


Já construimos nossa maquete, como visto anteriormente no projeto. Agora com ela construída iremos começar a trabalhar na parte elétrica com sensores LDR, LED's e display digital de 2x16....










segunda-feira, 17 de setembro de 2012

Início

Hoje estamos dando início a criação do novo modelo do nosso Estacionamento Inteligente, onde semestre passado criamos a idéia, nesse estamos melhorando.

Implementaremos mais vagas e terá dois pisos G1 e G2 o que deixa o protótipo mais próximo da realidade, levando- em conta o escassez de espaço nos grandes centros urbanos.

Entrou no grupo Guilherme Franco (Eng. de Computação) no lugar de Luis Peixoto (Eng Mecânica) pelo fato de Luis ter mudado de Instituição, porém o mesmo ainda continua ativo no nosso grupo de pesauisa e na implementação do projeto....
Abaixo as imagens do nosso novo protótipo............









terça-feira, 5 de junho de 2012



Essa é a programação que irá controlar os sensores e os displays


int v0 = 0; // Variavel onde e guardado o valor lido do LDR
int v1 = 0; // Variavel onde e guardado o valor lido do LDR
int v2 = 0; // Variavel onde e guardado o valor lido do LDR
int v3 = 0; // Variavel onde e guardado o valor lido do LDR
int v4 = 0; // Variavel onde e guardado o valor lido do LDR
int v5 = 0; // Variavel onde e guardado o valor lido do LDR

int ldr5 = 5; // Pino onde vamos ligar a LDR
int ldr4 = 4; // Pino onde vamos ligar a LDR
int ldr3 = 3; // Pino onde vamos ligar a LDR
int ldr2 = 2; // Pino onde vamos ligar a LDR
int ldr1 = 1; // Pino onde vamos ligar a LDR
int ldr0 = 0; // Pino onde vamos ligar a LDR


int b=2, a=3, f=7, g=8, dp=20, c=4, d=5, e=6, bb=30, aa=9, ff=12, gg=13, dpp=36, cc=28, dd=10, ee=11, it=1023.9;

void setup(){

Serial.begin(9600); // Inicia A comunicação da porta Serial para que possamos ver o valor do LDR

  pinMode(b, OUTPUT);
  pinMode(a, OUTPUT);
  pinMode(f, OUTPUT);
  pinMode(g, OUTPUT);
  pinMode(dp, OUTPUT);
  pinMode(c, OUTPUT);
  pinMode(d, OUTPUT);
  pinMode(e, OUTPUT);
 
  pinMode(bb, OUTPUT);
  pinMode(aa, OUTPUT);
  pinMode(ff, OUTPUT);
  pinMode(gg, OUTPUT);
  pinMode(dpp, OUTPUT);
  pinMode(cc, OUTPUT);
  pinMode(dd, OUTPUT);
  pinMode(ee, OUTPUT);
 
}





void loop(){

v5 = analogRead(ldr5); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
v4 = analogRead(ldr4); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
v3 = analogRead(ldr3); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
v2 = analogRead(ldr2); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
v1 = analogRead(ldr1); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”
v0 = analogRead(ldr0); // O valor que irá ser lido na porta analogica numero 6 irá ser guardado na variavel “valor”




 digitalWrite(b, LOW);

  digitalWrite(a, LOW);

  digitalWrite(f, LOW);

  digitalWrite(g, LOW);

  digitalWrite(dp, LOW);

  digitalWrite(c, LOW);
 
  digitalWrite(d, LOW);

  digitalWrite(e, LOW);

 

//////////////////////////////////////////////////////////////////////////////////////////////////// 1


if (v5 > it) {
 
   digitalWrite(b, HIGH);

  digitalWrite(a, LOW);

  digitalWrite(f, LOW);

  digitalWrite(g, LOW);

  digitalWrite(dp, LOW);

  digitalWrite(c, HIGH);

  digitalWrite(d, LOW);

  digitalWrite(e, LOW);


     
}
/////////////////////////////////////////////////////// 2


if ((v4 > it)&&(v5 < it)) {
 

 
 
  digitalWrite(b, HIGH);

  digitalWrite(a, HIGH);

  digitalWrite(f, LOW);

  digitalWrite(g, HIGH);

  digitalWrite(dp, LOW);

  digitalWrite(c, LOW);

  digitalWrite(d, HIGH);

  digitalWrite(e, HIGH);
 
   
}





///////////////////// 3

if ((v3 > it)&&(v4 < it)&&(v5 < it)) {
 

  digitalWrite(b, HIGH);

  digitalWrite(a, HIGH);

  digitalWrite(f, LOW);

  digitalWrite(g, HIGH);

  digitalWrite(dp, LOW);

  digitalWrite(c, HIGH);

  digitalWrite(d, HIGH);

  digitalWrite(e, LOW);

   
}



///////////////////////////////////////// 1

if ((v2 > it)&&(v3 < it)&&(v4 < it)&&(v5 < it)) {
 

 digitalWrite(b, HIGH);

  digitalWrite(a, LOW);

  digitalWrite(f, LOW);

  digitalWrite(g, LOW);

  digitalWrite(dp, LOW);

  digitalWrite(c, HIGH);

  digitalWrite(d, LOW);

  digitalWrite(e, LOW);



   
}
//////////////////////////2
if ((v1 > it)&&(v2 < it)&&(v3 < it)&&(v4 < it)&&(v5 < it)) {
 

  digitalWrite(b, HIGH);

  digitalWrite(a, HIGH);

  digitalWrite(f, LOW);

  digitalWrite(g, HIGH);

  digitalWrite(dp, LOW);

  digitalWrite(c, LOW);

  digitalWrite(d, HIGH);

  digitalWrite(e, HIGH);
 

   
}
//////////////////3

if ((v0 > it)&&(v1 < it)&&(v2 < it)&&(v3 < it)&&(v4 < it)&&(v5 < it)) {
 

  digitalWrite(b, HIGH);

  digitalWrite(a, HIGH);

  digitalWrite(f, LOW);

  digitalWrite(g, HIGH);

  digitalWrite(dp, LOW);

  digitalWrite(c, HIGH);

  digitalWrite(d, HIGH);

  digitalWrite(e, LOW);


   
}

///////////////////////////////////////// 0

if ((v0 < it)&&(v1 < it)&&(v2 < it)&&(v3 < it)&&(v4 < it)&&(v5 < it)) {
 

  digitalWrite(b, HIGH);

  digitalWrite(a, HIGH);

  digitalWrite(f, HIGH);

  digitalWrite(g, LOW);

  digitalWrite(dp, LOW);

  digitalWrite(c, HIGH);

  digitalWrite(d, HIGH);

  digitalWrite(e, HIGH);

   
}


///////////////////////////display 2


////////////////////////////////////
if ((v3 > it)&&(v4 > it)&&(v5 > it)) {
 
   digitalWrite(bb, LOW);

  digitalWrite(aa, LOW);

  digitalWrite(ff, HIGH);

  digitalWrite(gg, LOW);

  digitalWrite(dpp, LOW);

  digitalWrite(cc, LOW);

  digitalWrite(dd, LOW);

  digitalWrite(ee, HIGH);


     
}

if ((v3 < it)&&(v4 < it)&&(v5 < it)) {
 
  digitalWrite(bb, LOW);

  digitalWrite(aa, HIGH);

  digitalWrite(ff, HIGH);

  digitalWrite(gg, HIGH);

  digitalWrite(dpp, LOW);

  digitalWrite(cc, LOW);

  digitalWrite(dd, HIGH);

  digitalWrite(ee, HIGH);

}
     

if (((v0 < it)&&(v1 < it)&&(v2 < it)&&(v3 < it)&&(v4 < it)&&(v5 < it))) {
 
  digitalWrite(bb, LOW);

  digitalWrite(aa, LOW);

  digitalWrite(ff, HIGH);

  digitalWrite(gg, LOW);

  digitalWrite(dpp, LOW);

  digitalWrite(cc, LOW);

  digitalWrite(dd, HIGH);

  digitalWrite(ee, HIGH);

}



}

segunda-feira, 23 de abril de 2012

Essa é nossa idéia inicial do projeto, apenas para tentarmos visualizar o que realmente queremos.......

domingo, 22 de abril de 2012

Primeiro passo foi confeccionar a placa que irá controlar os sensores e displays,
uma Arduino com contraladora ATMEGA 328







A Inove Engenharia é um grupo de 4 componentes formado por Vagner, Aderson, Luis ambos de Engenharia Mecânica e Antonio Robelio de Engenharia de Computação.

Para o projeto interdiscipliar Arthe da Universidade Salvador pensamos em fazer um estacionamento inteligente.... onde iniciamos nossos trabalhos para o desenvolvimento desde já..........