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