Transmitir dados por Infravermelhos entre dois Arduinos

A maneira mais simples e económica de transmitir dados sem fios entre dois Arduinos é por infravermelhos, arrisco-me que esta forma é gratuita pois podes encontrar leds e receptores infravermelhos em televisores e comandos antigos.

Transmitir dados por Infravermelhos tem prós e contras;

Prós:

Barato;

Simples.

Contras:

Alcance reduzido;

Não atravessa obstáculos opacos.

Primeiro instalamos o transmissor (TX) como no esquema em baixo.

Concluída a instalação do circuito do transmissor, passe-mos então ao código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
//dirt cheap wireless RX by http://tthheessiiss.wordpress.com
//generates 38kHz carrier wave on pin 9 and 10
//sends data via TX every 500ms
void setup()
{
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
 
  // Clear Timer on Compare Match (CTC) Mode
  bitWrite(TCCR1A, WGM10, 0);
  bitWrite(TCCR1A, WGM11, 0);
  bitWrite(TCCR1B, WGM12, 1);
  bitWrite(TCCR1B, WGM13, 0);
 
  // Toggle OC1A and OC1B on Compare Match.
  bitWrite(TCCR1A, COM1A0, 1);
  bitWrite(TCCR1A, COM1A1, 0);
  bitWrite(TCCR1A, COM1B0, 1);
  bitWrite(TCCR1A, COM1B1, 0);
 
  // No prescaling
  bitWrite(TCCR1B, CS10, 1);
  bitWrite(TCCR1B, CS11, 0);
  bitWrite(TCCR1B, CS12, 0);
 
  OCR1A = 210;
  OCR1B = 210;
 
  Serial.begin(2400);
}
 
void loop()
{
  Serial.println("testing testing testing");
  delay(500);
}

De seguido instalamos o RX (Receiver) como está exemplificado no esquema em baixo.

Para finalizar basta fazer o upload deste sketch para o teu 2º Arduino.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
//dirt cheap wireless RX by http://tthheessiiss.wordpress.com
void setup()
{
  Serial.begin(2400);
  pinMode(13, OUTPUT);
}
 
void loop()
{
  // if incoming serial
  if (Serial.available()) {
    readSerial();
    digitalWrite(13, HIGH);
  } else {
    digitalWrite(13, LOW);
  }
  delay(10);
}
 
void readSerial() {
  char val = Serial.read();
  Serial.print(val);
}

Escrito por André Delgado

Fundador e administrador do Make Bits, desde cedo que se interessou por robótica e micro-controladores, principalmente pelo Arduino. Já escreveu 116 artigos no Make Bits sobre os mais variados temas da robótica.

Artigos Relacionados:

6 Comentários

  • Olá Make Bits
    Tenho um dúvida, não tenho comandos nem televisores velhos.
    Onde posso adquirir os Leds IR? :D

    • Olá Felisbela,

      Para adquirir este tipo de material electrónico tens a sonigate.pt

      Cumprimentos

  • Ola! Gostei do video. Voce tem um esquema eletrico detalhado disso? Ou teria a lista de peças?

    obrigado.

  • olá como eu faria para transmitir do arduino para uma tv direto

    • usando um shield, podes encontrar no adafruits

Comenta


Make Bits no teu email



* obrigatório


Publicidade:


Sistema Dinheiro Teste Drive