domingo, 4 de outubro de 2015
Tutorial Emissor e Receptor Infra-vermelho com Arduino
Neste tutorial, mostraremos como implementar o emissor e receptor de infravermelho com Arduino.
Para este tutorial você irá precisar de dois arduinos, um emissor de infravermelho, um receptor de infravermelho, um resistor de 200 Ohm e pushbuttons. Você pode utilizar o controle remoto de sua tv ao invés do emissor!
Antes de mais nada, é preciso ver a pinagem do Receptor IR está demonstrada abaixo: Agora, podemos fazer as ligações para o emissor e receptor IR.
A figura abaixo mostra as ligações a serem feitas:
Esquema de ligações para o Emissor IR: Esquema de ligações para Receptor IR: Agora, podemos ir para a programação. Antes de mais nada, baixe a bilbioteca para controlar o IR clicando aqui.
Extraia a bilbioteca na pasta "libraries" da IDE do Arduino. Para a versão 1.0 da IDE do Arduino, abra o arquivo "IRRemoteInt.h" com um editor de texto( bloco de notas, gedit, etc). Dentro do editor de texto, troque a seguinte linha:
"#include " para "#include ".
As programações abaixo foram retiradas e modificadas do livro Arduino Cookbook. Clique aqui para maiores informações.
Agora abra a IDE do arduino e passe a seguinte programação para o arduino emissor IR:
/*
irSend sketch
this code needs an IR LED connected to pin 3
and 5 switches connected to pins 4 - 8
*/
#include
// IR remote control library
const int numberOfKeys = 1;
const int firstKey = 4;
// the first pin of the 5 sequential pins connected to buttons
boolean buttonState[numberOfKeys];
boolean lastButtonState[numberOfKeys];
long irKeyCodes[numberOfKeys] = {
0x18E758A7, //0 key
};
IRsend irsend;
void setup()
{
for (int i = 0; i < numberOfKeys; i++){
buttonState[i]=true;
lastButtonState[i]=true;
int physicalPin=i + firstKey;
pinMode(physicalPin, INPUT);
digitalWrite(physicalPin, HIGH); // turn on pull-ups
}
Serial.begin(9600);
}
void loop() {
for (int keyNumber=0; keyNumber //adds the library code to the sketch
const int irReceiverPin = 2; //pin the receiver is connected to
const int ledPin = 13;
IRrecv irrecv(irReceiverPin); //create an IRrecv object
decode_results decodedSignal; //stores results from IR detector
void setup()
{
pinMode(ledPin, OUTPUT);
irrecv.enableIRIn();
}
boolean lightState = false;
unsigned long last = millis();
// Start the receiver object
//keep track of whether the LED is on
//remember when we last received an IR
void loop()
{
if (irrecv.decode(&decodedSignal) == true) //this is true if a message has been received
{
if (millis() - last > 250) {
//has it been 1/4 sec since last message
lightState = !lightState;
//toggle the LED
digitalWrite(ledPin, lightState);
}
last = millis();
irrecv.resume();
// watch out for another message
}
}
Agora que você passou as programações, você pode testar! Ao clicar o botão do Arduino emissor e direcionando o LED infravermelho na direção do receptor, o LED do Arduino Receptor acenderá. Ao clicar o botão novamente, o LED do Arduino receptor apagará! E é isso aí!! Esperamos que tenham gostado! Se tiverem dúvidas, postem aqui neste blog! Caso tiverem sugestões, vocês podem sugerir aqui neste POST e vocês podem ver os outros tutoriais que fizemos clicando aqui e os projetos clicando aqui! Até a próxima!!
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário