Você está na página 1de 4

Aula 30 - Sensor de Obstáculo - IR

O sensor TCRT5000 é um sensor de obstáculo infravermelho que pode ser usado para distinguir
entre cores preto e branco com base na reflexão da luz infravermelha. O preto geralmente
absorve mais luz infravermelha do que o branco, então você pode detectar a diferença na
reflexão de luz infravermelha para determinar se uma superfície é preta ou branca.

int pinoSensor = 2;
int Pino_LED = 4;
int Sensor_IR = 0;

void setup() {
pinMode(pinoSensor, INPUT);
pinMode(Pino_LED, OUTPUT);
Serial.begin(9600);
}

void loop() {
Sensor_IR = digitalRead(pinoSensor);
Serial.println (Sensor_IR);

if (Sensor_IR == 0) {
digitalWrite(Pino_LED, HIGH);
}
if (Sensor_IR == 1) {
digitalWrite(Pino_LED, LOW);
}
}
Detecta diferentes níveis de reflexão de luz infravermelha

Este código configura um sensor infravermelho conectado ao pino A0 de um Arduino para


detectar diferentes níveis de reflexão de luz infravermelha. Dependendo do valor lido pelo sensor,
ele imprime uma mensagem indicando a cor estimada (preto, branco, azul ou rosa) com base nos
limiares definidos. Note que os valores dos limiares podem precisar ser ajustados com base nas
características do seu sensor e nas condições de iluminação do ambiente.

int Pin_Sensor = A0; // Pino de entrada analógica do sensor TCRT5000


int pin_led_vermelho = 6; //Variável pin_led_vermelho
int pin_led_verde = 5; //Variável pin_led_verde
int pin_led_amarelo = 4; //Variável pin_led_amarelo

int Leitura_Sensor = 0; // Variável para armazenar a leitura do sensor

void setup() {
pinMode(Pin_Sensor, INPUT);
pinMode(pin_led_vermelho, OUTPUT); // Define o pino do LED vermelho como saída
pinMode(pin_led_verde, OUTPUT); // Define o pino do LED verde como saída
pinMode(pin_led_amarelo, OUTPUT); // Define o pino do LED amarelo como saída
Serial.begin(9600); // Inicia a comunicação serial a uma taxa de 9600 baud
}

void loop() {
Leitura_Sensor = analogRead(Pin_Sensor); // Lê o valor analógico do sensor TCRT5000

if (Leitura_Sensor > 800) { //Se a Leitura do Sensor for maior que 800
digitalWrite(pin_led_amarelo, HIGH); // Liga o LED amarelo
Serial.println(Leitura_Sensor) ; //
Serial.print("Preto: ");
} else { //Senão
digitalWrite(pin_led_amarelo, LOW); // Desliga o LED amarelo
}

if (Leitura_Sensor > 550 & Leitura_Sensor < 700) { //Se a Leitura do Sensor maior do 500 e
menor do 600
digitalWrite(pin_led_verde, HIGH); // Liga o LED verde
Serial.println(Leitura_Sensor);
Serial.print("Verde: ");
} else { // Senão
digitalWrite(pin_led_verde, LOW); // Desliga o LED verde
}
if (Leitura_Sensor < 500) { // Se a Leitura do Sensor for menor que 480
digitalWrite(pin_led_vermelho, HIGH); // Liga o LED vermelho
Serial.println(Leitura_Sensor);
Serial.print("Branco ou Vermelho: ");
} else {
digitalWrite(pin_led_vermelho, LOW); // Desliga o LED vermelho
}

delay(500); // Pequeno atraso entre as leituras


}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Montagem do Circuito

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

A função else if é uma extensão do comando if em programação. Ela permite que você
teste múltiplas condições em sequência e execute um bloco de código associado à
primeira condição que seja verdadeira. Em outras palavras, o else if é usado quando
você tem várias condições a serem testadas e deseja executar o código relacionado à
primeira condição verdadeira encontrada.

Aqui está a sintaxe geral da estrutura else if:

if (condição1) {
// Código a ser executado se condição1 for verdadeira
} else if (condição2) {
// Código a ser executado se condição2 for verdadeira
} else if (condição3) {
// Código a ser executado se condição3 for verdadeira
} else {
// Código a ser executado se nenhuma das condições anteriores for verdadeira
}

- O bloco de código associado a condição1 será executado se condição1 for verdadeira.


- Se condição1 for falsa, o programa verificará condição2. Se condição2 for verdadeira, o
bloco de código associado a condição2 será executado.
- O processo continua dessa forma para cada else if até que uma condição verdadeira seja
encontrada ou até que o bloco else final seja alcançado se nenhuma das condições
anteriores for verdadeira.

Aqui está um exemplo prático do uso do else if em um código Arduino:

int valor = 5;

if (valor == 1) {
Serial.println("O valor é 1.");
} else if (valor == 2) {
Serial.println("O valor é 2.");
} else if (valor == 3) {
Serial.println("O valor é 3.");
} else {
Serial.println("O valor não é 1, 2 ou 3.");
}

Neste exemplo, o programa verificará cada condição em ordem e imprimirá a mensagem


associada à primeira condição verdadeira encontrada. Neste caso, a saída seria "O
valor não é 1, 2 ou 3." porque o valor é 5, e nenhuma das condições anteriores é
verdadeira.

Você também pode gostar