Sensor de refletância - HenriqueEduardo1/The-Guider GitHub Wiki
Para se utilizar os sensores de refletância com a biblioteca é necessário utilizar as funções:
float lerSensorLinhaEsq()
float lerSensorLinhaDir()
Com as funções acima pode-se obter o valor de refletância. Os valores retornados pelas funções podem variar de 0.0 até 100.0 . Quanto mais próximo de 100 maior é o valor refletido e mais próximo do branco a superfície está. Quanto menor o valor refletido, ou seja, quanto mais próximo de 0, mais próxima do preto é a superfície.
#include <robo_hardware.h>
#include <Servo.h>
#define LED 13
#define SEPARACAO_BRANCO_PRETO 45
void setup(){
robo.configuracao(false);
}
void loop(){
if(robo.lerSensorLinhaEsq() > SEPARACAO_BRANCO_PRETO){
digitalWrite(LED, HIGH);
}
else{
digitalWrite(LED, LOW);
}
}
Nas duas primeiras linhas do código são adicionadas duas bibliotecas robo_hardware.h
e Servo.h
estas duas bibliotecas são utilizadas pelo objeto robo
, e logo a baixo são definidas duas constantes LED 13
e SEPARACAO_BRANCO_PRETO 45
. Nas linhas seguintes, dentro da função setup, está o comando robo.configurar(false)
que faz as configurações iniciais do objeto robo
. Dentro da função loop existe um if que compara o retorno de robo.lerSensorLinhaEsq()
com a constante SEPARACAO_BRANCO_PRETO
. Se o retorno for maior que a constante significa que o sensor está vendo branco e por causa disso o led é ligado. Se não, significa que o sensor está vendo preto e, portanto, o led deve ser desligado.