Preparações de Receptor e Transmissor
Primeiro, você irá ajustar o receptor para evitar interferência remota indesejada. Em seguida, você virá conectar os componentes do transmissor de infravermelho: o LED de infravermelho e o botão de pressionamento.
Reduzindo a Interferência Remota
Ao construir o receptor pela primeira vez, não gastamos muito tempo tentando evitar que as pessoas colassem.
Agora, você irá assegurar que o receptor não capte códigos não relacionados dos controles remotos, como do que você está usando para testes.
Há diversas maneiras de abordar esse problema.
Neste tutorial, você incluirá um bit final, muito parecido com o bit inicial que já está determinado e interromperá se o bit final não parecer correto.
- Configure o limite para seu
endBit de forma que seja maior que seu
startBit, conforme mostrado na Listagem 1.
Listagem 1. Configurar o Limite para o endBit de Forma que Seja Maior que o startBit
int startBit = 2000; // Esse pulso configura o limite para um bit inicial
int endBit = 3000; // Esse pulso configura o limite para um bit final
int one = 1000; // Esse pulso configura o limite para 1
int zero = 400; // Esse pulso configura o limite para 0
|
- Em sua função
senseIR , declare uma variável extra para conter o bit final.
Listagem 2. Declarar Variável Extra para Conter Bit Final
int who[4];
int what[4];
int end;
|
- Leia o pulso final após ler os bits quem e o que.
Listagem 3. Ler Pulso Final
...
what[1] = pulseIn(sensorPin, LOW);
what[2] = pulseIn(sensorPin, LOW);
what[3] = pulseIn(sensorPin, LOW);
end = pulseIn(sensorPin, LOW);
|
- Teste para ver se o bit final está configurado corretamente. Se você não gostar do que você vê, interrompa a leitura, conforme mostrado abaixo.
Listagem 4. Interromper a Leitura
if (end <= endBit)
Serial.println("bad signal");
ret[0] = -1;
return;
}
|
Isso deve ajudar a reduzir a interferência dos controles remotos. Agora chegou a hora de conectar os componentes do transmissor de infravermelho.
Montando os Componentes
Há duas partes que devem ser conectadas: o LED do infravermelho e o botão de pressionamento.
Designe o Pino 3 no Arduino para ativar o LED. Você também precisa colocar um resistor no lugar para ajudar a proteger o LED.
É uma boa idéia verificar duas vezes as necessidades de seu LED com o Calculador de LED (consulte
Recursos). O LED no exemplo precisava de um resistor de 82 ohm.
Conecte o Pino 3 a uma extremidade de seu resistor e conecte a outra extremidade de seu resistor à extremidade positiva de seu LED infravermelho.
Conecte a extremidade negativa de seu LED ao aterramento. Na primeira vez, ajuda a não fazer essas conexões permanentes.
Se ocorrem problemas, você pode querer depurar seu transmissor usando um LED colorido.
Para ligar o botão de pressionamento, você usará a mesma configuração básica usada no tutorial Botão de Pressionamento no Web site do Arduino (consulte Recursos).
Use o Pino 4 como o pino de entrada para o botão. Conecte uma extremidade do resistor de 10.000 ohm ao pino de alimentação com voltagem de 5v (o mesmo usado para alimentação de energia para o sensor de radiação de infravermelho).
A outra extremidade do resistor é conectada a uma extremidade do botão de pressionamento, assim como o Pino 4 em sua placa Arduino. A outra extremidade do botão de pressionamento é conectada ao aterramento.
É tudo que você precisa fazer por enquanto. A Figura 1 mostra a aparência que o protoshield deve ter quando concluído.
Figura 1. Protoshield
Esse protótipo tenta manter tudo compacto e em um local. O importante aqui (e em sua parte concluída) é que o LED infravermelho e o sensor de infravermelho estejam virados para a mesma direção.
Quando chegar a hora de colocar a arma em uma proteção, você provavelmente irá querer remover os componente do breadboard, conectar e soldá-los juntos e distribuir as coisas um pouco.
Mas agora você tem a ideia geral e o suficiente para permitir que você inicie a codificação do transmissor.
|