Módulos RF

Outubro 17, 2008 at 10:23 pm | In Arduino, RF | 4 Comments

Encontrei esta página que mostra como podemos ligar dois arduinos por RF. Vou tentar adaptar o código de forma a não precisar de 2 arduinos. A ideia é enviar os dados do PC para o Arduino pela porta paralela.

Vou fazer os testes da seguinte forma:
PC – Porta Paralela – RF TX – Antena … Antena – RF RX – Arduino – USB – PC

Com esta ligação vou poder enviar os dados pela porta paralela, recebê-los pelo arduino e lê-los por Serial.

#include 

/*
Read from a RF Link receiver module
and get the data into a computer.
*/

#define rxPin 2
#define txPin 3
#define ledPin 13

// set up a new serial connection for communicating with RF receiver
// (this also frees up Arduino's built in serial port for PC communication)
SoftwareSerial rfSerial =  SoftwareSerial(rxPin, txPin);

char prevChar = 0;

void setup() {
  // set up the input and output pins
  pinMode(rxPin, INPUT); // set up pins for serial comm. with RF receiver
  pinMode(ledPin, OUTPUT);
  // initialize serial comm
  rfSerial.begin(2400); // begin serial connection with RF Link unit
  Serial.begin(2400); // begin serial communication over USB to the computer
  // blink LED on and then off just to let us know the setup routine is complete
  digitalWrite(ledPin,HIGH); // turn on LED
  delay(1000);
  digitalWrite(ledPin,LOW); // turn off LED
}

void loop(){
  char someChar = '0';
  someChar = rfSerial.read(); // read whatever the RF Link has to offer
  // print out the character:
  if (someChar!=prevChar) { // only print out new data (don't print 0 a billion times in a row)
    Serial.print(someChar, BYTE); // send data to computer
    prevChar=someChar; // store what we just read
  }
}

A partir dos dados lidos pelo arduino, programo-o de modo produzir outputs (LEDs, para já) de acordo com os dados recebidos pelo RF.

4 Comentários »

Feed RSS para comentários a este post. TrackBack URI

  1. Amigo, uma sugestão. Vc está usando os pinos do RX/TX do RF como se fosse uma Serial certo. O protocolo usado no RS-232 não é nada confiável qnd usado no RF, que como é sem fio, passa por mta interferência. Já tive grandes problemas com isso. Te sugiro dar uma olhada na Virtual Wirte: http://www.open.com.au/mikem/arduino/VirtualWire.pdf

    Flw

  2. Obrigado pela referência ao VirtualWire.

    Já li sobre ele e vou futuramente fazer alguns testes com ele.
    Estou só à espera do novo Arduino, que virá provavelmente na próxima semana.

    Cumps,
    Ricardo

  3. Parabens!!!
    Muito bom mesmo.
    será que tem como você me informar qual o decodificar usado no RX?

  4. Boas Kevin.

    Não se usa mais nenhum componente electrónico além do módulo receptor.
    A descodificação é feita no Arduino.

    Cumprimentos,
    Ricardo Dias


Publicar um comentário

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Blog em WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.