Lembre-se de consultar o datasheet do tipo de sensor infravermelho escolhido para verificar a ordem de ligação dos terminais. Lembrando também que o mapeamento dos códigos Hexadecimais dos botões do controle remoto escolhido já foi ensinado no vídeo da aula 03-LEDs por controle remoto. Recomendo que assistam esse vídeo primeiro, para que possam aprender o procedimento. Você pode ligar lâmpadas, motores ou qualquer aparelho elétrico nos relês, como já vimos anteriormente.
Material Utilizado:
Código
// Programa : Sequencial de Rels com potenciometro
// EduArduino
//Cria um array para os pinos dos Reles
byte Pinosreles[]={2,3,4,5,6,};
int releDelay; // Intervalo entre as alterações
int direcao = 1; // Direcao do "movimento"
int releatual = 0;
unsigned long changeTime;
//Pino analogico 2 definido como entrada para o potenciometro
int potPin = 2;
void setup()
{Serial.begin(9600); // Inicializa a comunicacao serial
for (int x=0; x<5; x++) // Loop que define todos os pinos como saída
{
pinMode(Pinosreles[x],OUTPUT);
}
changeTime=millis();
}
void loop()
{
// Varia o valor de releDelay conforme o valor do potenciometro,
// alterando a velocidade do efeito
releDelay = analogRead(potPin);
// Escreve o valor de leitura do potenciometro na saida serial
Serial.println(releDelay);
// Verifica se já transcorreram releDelay ms desde a última alteração
if ((millis() - changeTime) > releDelay)
{
changeRele();
changeTime = millis();
}
}
void changeRele()
{
for (int x=0; x<5; x++) //Desaciona todos os Reles
{
digitalWrite(Pinosreles[x], LOW);
}
digitalWrite(Pinosreles[releatual], HIGH); // Aciona o Rele atual
releatual += direcao; //incrementa de acordo com o valor de direction
//altera a direção se tivermos atingido o fim
if (releatual == 5) {direcao = -1;}
if (releatual == 0) {direcao = 1;}
}