sábado, 1 de fevereiro de 2014

Desenvolvimento de sensor de cor através da porta analógica

Pensando no desafio recente que teremos será necessário no desenvolvimento do robô do Ensino Médio, preparar o robô para o cruzamento de linhas. Para tanto, o robô deve, segundo a leitura do sensor, determinar quando está sobre a linha branca, preta, cinza e sobre o cruzamento de linhas que é antecedido por um círculo verde. Ou seja, os sensores tem que determinar faixas de cores diferentes. Para tanto segue abaixo o programa base que será utilizado nesta situação específica:
/* PROGRAMA DESENVOLVIDO PELA EQUIPE DE ROBÓTICA PARA DETECÇÃO DE CORES USANDO UM LDR OU UM SENSOR IR ANALÓGICO*/

void setup() {
  Serial.begin(9600);
  pinMode (13, OUTPUT);//LED AMARELO
  pinMode (12, OUTPUT);//LED AZUL
  pinMode (11, OUTPUT);//LED VERDE
}

void loop() {
  //DESLIGAR TODOS OS LED´S
  digitalWrite (13, LOW);
  digitalWrite (12, LOW);
  digitalWrite (11, LOW);
  int sensor = analogRead(A0); //LEITURA DO SENSOR ANALÓGICO
  Serial.println(sensor); //IMPRIME OS VALORES LIDOS
  //SE O SENSOR ESTIVER EM 300 - BRANCO ACENDE O LED AMARELO
  if (sensor<300){
  digitalWrite (13, HIGH);
  digitalWrite (12, LOW);
  digitalWrite (11, LOW);
  Serial.println("BRANCO");
  delay(100);
}
//SE O SENSOR ESTIVER ENTRE 300 E 700 - COLORIDO ACENDE O LED AZUL
if (sensor>=300&&sensor<700){
  digitalWrite (13, LOW);
  digitalWrite (12, HIGH);
  digitalWrite (11, LOW);
  Serial.println("COLORIDO");
  delay(100);
}
//SE O SENSOR ESTIVER ACIMA DE 700 - PRETO ACENDE O LED VERDE
if (sensor>=700){
  digitalWrite (13, LOW);
  digitalWrite (12, LOW);
  digitalWrite (11, HIGH);
  Serial.println("PRETO");
  delay(100);
}
}// FIM DO PROGRAMA

Abaixo o vídeo de teste do programa:

Nenhum comentário:

Postar um comentário