terça-feira, 17 de julho de 2012

Uso de switch e break na leitura de sensores de robô de sumo

Abaixo exemplo proposto por Robson Machado - www.eaduino.com.br que ainda não testamos mas, demonstra uma aplicação dos comandos switch e break. A principal dúvida seria nos cases - como testá-los. Uma aplicação deste código fonte seria a leitura de sensores com intervalos, por exemplo, para medir a quantidade de água de um reservatório e tomar ações a partir disso - Projeto Educasaen.


/* Código desenvolvido por Robson Machado - www.eaduino.com.br a partir de questionamento
feito pela nossa equipe, adaptado para a equipe Orion e Fenix.
*/
int led = 6;
int led1 = 7;
int s1 = 0;
int s2 = 1;
int var2=1;
int var = 0;
void setup () {
  pinMode (led, OUTPUT);
  pinMode (led1, OUTPUT);
  pinMode (s1, INPUT);
  pinMode (s2, INPUT);
}
void loop () {
 var=analogRead (s1);//leitura do sensor de linha da frente
switch (var) {
case 1:
digitalWrite (led, HIGH);//inserir comando de movimento do motor
break;
case 2: // se sensor 1 sem sinal proceder a leitura dos sensores laterais
var2=analogRead (s2); // leitura do sensor 2 foi realizada
digitalWrite (led1, HIGH); //testar a variavel 2 se positivo, ordenar movimento
break;
default:// caso negativo, ordenar a frente
digitalWrite (led, HIGH);
delay (1000);
digitalWrite (led1, HIGH);
delay (1000);
digitalWrite (led, LOW);
digitalWrite (led1, LOW);
delay (10000);
}
}

Nenhum comentário:

Postar um comentário