//Variáveis usadas para os pinos de entrada (sensor) e saída (atuador).
const int pinoSensor = 26;
const int pinoAtuador = 27;
void setup() {
// Inicializando os pinos :
//O pino do sensor será do tipo INPUT, pois é a entrada de dados.
pinMode(pinoSensor, INPUT);
//O pino do atuador é do tipo OUTPUT, pois é a saída de dados.
pinMode(pinoAtuador, OUTPUT);
}
void loop() {
//Antes de acionar o atuador, devemos verificar se a caixa foi detectada pelo sensor.
//Caso a caixa seja detectada, o pino receberá um sinal positivo (HIGH).
if (digitalRead(pinoSensor) == HIGH) {
//O sensor detectou uma caixa. Porém, antes de acionar o atuador precisamos esperar um tempo para
//que a caixa esteja na frente do atuador. Aqui, usamos um delay de 1s (1000ms). No entanto, esse
//valor irá variar dependendo da velocidade da esteira.
delay(1000);
//Após decorrido o tempo, ativamos o atuador que irá empurrar a caixa.
digitalWrite(pinoAtuador, HIGH);
//Novamente precisamos esperar um tempo. Neste caso, devemos esperar o atuador finalizar a sua
//operação antes de desliga-lo. Esse tempo vai variar dependendo do tipo de atuador utilizado.
//Vamos supor que seja um pistão eletropneumático. Assim, usaremos 2 segundos, que seria o tempo
//necessário para o pistão ser acionado totalmente.
delay(2000);
//Após o pistão ser totalmente acionado, desativamos o mesmo.
digitalWrite(pinoAtuador, LOW);
}
//Caso não tenha caixa para ser detectada, garantimos que o atuador fique desligado.
else {
digitalWrite(pinoAtuador, LOW);
}
}