#define D0 = 16; #define D1 5; #define D2 = 4; #define D3 = 0; #define D4 = 2; #define D5 = 14; #define D6 = 12; #define D7 = 13; #define D8 = 15; #define D9 = 3; #define D10 = 1; #define PinOUT 12 //Definição do Pino OUT na entrada digital 8 #define PinS2 13 //Definição do Pino S2 na entrada digital 9 #define PinS3 15 //Definição do Pinto S3 na entrada digital 10 int red;//Declaração da variável que representará a cor vermelha int green; //Declaração da variável que representará a cor verde int blue; // Declaração da variável que representará a cor azul void cores(); //Inicialização da função void setup() { pinMode(PinOUT, INPUT); //Definição do PinOUT como sendo um pino de entrada pinMode(PinS2, OUTPUT); //Definição do Pino S2 como sendo um pino de saída pinMode(PinS3, OUTPUT); //Definição do Pino S3 como sendo um pino de saída Serial.begin(115200); //Inicia o monitor Serial com velocidade de 9600 } void loop() { digitalWrite(PinS2, LOW); // Aciona um valor LOW ao Pino S2 digitalWrite(PinS3, LOW); // Aciona um valor LOW ao Pino S3 red = pulseIn(PinOUT, LOW); // define red como sendo responsável por ler a informação de pulso LOW do pino out Serial.print(" R: "); // Mostra a letra R no monitor Serial, representando red Serial.print(red); // Mostra o valor lido no PulseIn delay(15); // delay de 15 milissegundos até o próximo comando digitalWrite(PinS2, HIGH); // Aciona um valo high ao Pino S2 digitalWrite(PinS3, HIGH); // Aciona um valo high ao Pino S3 green = pulseIn(PinOUT, LOW); // define green como sendo responsável por ler a informação de pulso low no pino out Serial.print(" G: "); // Mostra a letra R no monitor Serial, representando green Serial.print(green); // Mostra o valor lido no PulseIn delay(15); // delay de 15 milissegundos até o próximo comando digitalWrite(PinS2, LOW);// Aciona um valor loq ao Pino S2 digitalWrite(PinS3, HIGH); // Aciona um valor high ao Pino S3 blue = pulseIn(PinOUT, LOW);// define blue como sendo responsável por ler a informação de pulso low no pino out Serial.print(" B: "); // Mostra a letra B no monitor Serial, representando blue Serial.println(blue); // Mostra o valor lido no PulseIn delay(15); // delay de 15 milissegundos até o próximo comando cores(); //chamada da função cores() delay(1000); } void cores() { //funçao responsavel por definir a cor que o sensor de luminosidade está lendo if ( blue < 20 && red < 20 && green < 20) { //detecção da cor branca Serial.println("Branco"); } else if (blue < red && blue < green) { //detecção da cor azul Serial.println("Azul"); } else if (green < red && green < blue) { //detecção da cor verde Serial.println("Verde"); } else if (red < blue && red < green && red < 100) { //detecção da cor vermelha Serial.println("Vermelho"); } }