PRECISO DE AJUDA PARA FAZER UM FLUXOGRAMA. O CÓDIGO É ESSE:

//Programa : Detector de cores usando modulo TCS230 

 //Alteracoes e comentarios : Arduino e Cia 

 // 

 //Baseado no programa original de Martin Mason 

  

 //Pinos de conexao do modulo TCS230 

 

#include <Servo.h>

 

Servo motor1;

Servo motor2;

Servo motor3;

Servo motor4;

Servo motor5;

Servo motor6;

 

 const int s0 = 8; 

 const int s1 = 9; 

 const int s2 = 12; 

 const int s3 = 11; 

 const int out = 10;  

  

 //Pinos dos leds 

 int pinoledverm = 2; 

 int pinoledverd = 7; 

 int pinoledazul = 4; 

   

 //Variaveis que armazenam o valor das cores 

 int red = 0; 

 int green = 0; 

 int blue = 0; 

   

 void setup()  

 { 

  motor1.attach(13);

  motor2.attach(7);

  motor3.attach(6);

  motor4.attach(5);

  motor5.attach(4);

  motor6.attach(3);

 

  pinMode(s0, OUTPUT); 

  pinMode(s1, OUTPUT); 

  pinMode(s2, OUTPUT); 

  pinMode(s3, OUTPUT); 

  pinMode(out, INPUT); 

 

  Serial.begin(9600); 

  digitalWrite(s0, HIGH); 

  digitalWrite(s1, HIGH); 

 } 

   

 void loop() { 

  color(); //Chama a rotina que le as cores 

  //Mostra no serial monitor os valores detectados 

  Serial.print("Vermelho :"); 

  Serial.print(red, DEC); 

  Serial.print(" Verde : "); 

  Serial.print(green, DEC); 

  Serial.print(" Azul : "); 

  Serial.print(blue, DEC); 

  Serial.println(); 

  //Verifica se a cor vermelha foi detectada 

  if (red < blue && red < green && red>45) 

  { 

   Serial.println("PRETO");

 preto();

  } 

  //Verifica se a cor azul foi detectada 

  else if (blue > red && blue < green && blue<15)  

  { 

   Serial.println("BRANCO");

 

 branco();

  } 

  //Verifica se a cor verde foi detectada 

  else if (green > red && green < blue && green >10) 

  { 

   Serial.println("AMARELA"); 

   amarelo(); 

  }

 

else if (blue < red && blue < green) 

  { 

   Serial.println("cor não identificada"); 

   descarte(); 

  } 

  Serial.println();

  delay(500);

 

 } 

   

 void color() 

 { 

  //Rotina que le o valor das cores 

  digitalWrite(s2, LOW); 

  digitalWrite(s3, LOW); 

  //count OUT, pRed, RED 

  red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); 

  digitalWrite(s3, HIGH); 

  //count OUT, pBLUE, BLUE 

  blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); 

  digitalWrite(s2, HIGH);  

  //count OUT, pGreen, GREEN 

  green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); 

 }

 void preto()

 {

 motor1.write(180);

// motor2.write(10);

 //motor1.write(180);

// motor4.write(10);

// motor5.write(10);

// motor6.write(10);

 }

 void amarelo()

 {

  motor1.write(0);

// motor2.write(10);

 //motor1.write(180);

// motor4.write(10);

// motor5.write(10);

// motor6.write(10);

 }

 void branco()

 {

 }

 void descarte()

 {

 }

Exibições: 550

Responder esta

Respostas a este tópico

Trabalho de TCC ?

Não. é um trabalho, mas não é TCC.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço