segunda-feira, 19 de março de 2012

Blinking Led - Condicional (Complemento R1)

Com o circuito montado para leitura no LDR, montamos um programa e um sistema físico em que tenhamos uma sequencia de leds acendendo conforme a distancia de bloqueio de luz no LDR.
A sequencia deve ser a seguinte: Com a dimiuição da distância acenderemos os leds na seguinte sequência:
* Maior distancia: led azul
* Distancia intermediaria1 (mais próxima led verde)
* Menor distancia vermelho
Para acender os leds use as portas digitais e inserimos linhas de programação com condições de “if”, conforme o código-fonte abaixo:
Obs: O vídeo, esquema e código-fonte são os mesmos do R1

int LDR; //declara a variavel
unsigned long tempo; //declara tempo
int LedAzul = 7;
int LedVerde = 6;
int LedVermelho = 5;

void setup() {

pinMode(A0, INPUT);
pinMode(LedAzul, OUTPUT);
pinMode(LedVerde, OUTPUT);
pinMode(LedVermelho, OUTPUT);


Serial.begin(9600);

}

void loop() {

tempo= millis(); // base de tempo para a coleta

LDR = analogRead(A0);

{

Serial.print(tempo);

Serial.print(" "); // introduz um espaço entre as colunas
Serial.print(" ");
Serial.print(LDR);

if ( LDR > 100){
digitalWrite(LedAzul,HIGH);
}
else {
digitalWrite(LedAzul,LOW);
}

if ( LDR > 150){
digitalWrite(LedVerde,HIGH);
}
else {
digitalWrite(LedVerde,LOW);
}

if ( LDR > 200){
digitalWrite(LedVermelho,HIGH);
}
else {
digitalWrite(LedVermelho,LOW);
}
}

Serial.println(); // imprime em linhas

delay(100);

}

Nenhum comentário:

Postar um comentário