1

member

Easy Basics: Project 086g Arduino Uno, RF 315/330/433 MHz XD-FST/XD-RF-5V Transmitter/Receiver - LED cont

of Acoptex.com in UNO

Basics: Project 086g

Project name: Arduino Uno, RF 315/330/433 MHz XD-FST/XD-RF-5V Transmitter/Receiver - LED control

Tags: Arduino, Arduino Uno, RF 315/330/433 MHz XD-FST / XD-RF-5V Transmitter / Receiver, way to communicate between, VirtualWire, Virtual Wire

Attachments: receiversketch, transmittersketch, library

In this project, you needed these parts (Dear visitors. You can support our project buy clicking on the links of parts and buying them or donate us to keep this website alive. Thank you):

1.Arduino Uno R3 (you can also use the other version of Arduino) 2 pcs

2. Arduino IDE ( you can download it from here  )

3.Jumper cables F-M, M-M

4. LED 2 pcs (optional)

5. Resistor 220 Ohm 2 pcs (optional)

6. RF 315/330/433 MHz XD-FST / XD-RF-5V Transmitter / Receiver module 1 pc

7. Breadboard 2 pcs

General

We will learn how to use Arduino board (UNO) with RF 315/330/433 MHz XD-FST / XD-RF-5V Transmitter / Receiver module and VirtualWire library to establish communication on 433 MHZ RF.

Understanding the RF 315/330/433 MHz XD-FST / XD-RF-5V Transmitter / Receiver

433MHz RF Transmitter

This very little transmitter is quite simple. The heart of the module is the SAW resonator which is tuned for 433.xx MHz operation. There is a switching transistor and a few passive components too.

When a logic HIGH is applied to the DATA input, the oscillator runs producing a constant RF output carrier wave at 433.xx MHz and when the DATA input is taken to logic LOW, the oscillator stops. This technique is known as Amplitude Shift Keying.

433MHz RF Receiver

It is a simple receiver module which consists of a RF tuned circuit and a couple of OP Amps to amplify the received carrier wave from the transmitter. The amplified signal is further fed to a PLL (Phase Lock Loop) which enables the decoder to "lock" onto a stream of digital bits which gives better decoded output and noise immunity.

Amplitude Shift Keying (ASK)

For sending the digital data over radio, these modules use a technique called Amplitude Shift Keying or ASK. In Amplitude Shift Keying the amplitude (i.e. the level) of the carrier wave (in our case it’s a 433MHz signal) is changed in response to the incoming data signal.

This is very similar to the analog technique of amplitude modulation which you might be familiar with if you’re familiar with AM radio. It’s sometimes called binary amplitude shift keying because there are only two levels we are concerned with. You can think of it as an ON/OFF switch.

For Digital 1 – This drives the carrier at full strength.

For Digital 0 – This cuts the carrier off completely. This is how the Amplitude modulation looks like:

Amplitude Shift keying has the advantage of being very simple to implement. It is quite simple to design the decoder circuitry. Also ASK needs less bandwidth than other modulation techniques like FSK (Frequency Shift Keying). This is one of the reasons for being inexpensive.

The disadvantage however is that ASK is susceptible to interference from other radio devices and background noise.  But as long as you keep your data transmission to a relatively slow speed it can work reliably in most environments.

You can read more about them here.

Signals and connections of the RF 315/330/433 MHz XD-FST / XD-RF-5V Transmitter / Receiver

Transmitter (TX) pins: 

ATAD (DATA) - output signal coded by first Arduino board

GND - should be connected to ground , (-) of power supply 

VCC - should be connected to power supply +3V - +12V

Receiver (RX) pins:

DATA - there are two pins, it doesn't matter which one to connect to second Arduino board, as long as you use only one of the DATA pins.

GND - should be connected to second Arduino board ground pin

VCC - should be connected to second Arduino board 5V pin.

Wiring

433MHz RF Transmitter  Arduino Uno

GND                 GND

VCC                  5V

DATA OUT         D11

433MHz RF Receiver Arduino Uno

GND                GND

VCC                 5V

                       D13 connected to LED+

                       GND connected to LED-

DATA IN           D12

Step by Step instruction

  1. Do wiring for 433 RF Ttransmitter and 433 RF Receiver.
  2. If you want to be able to monitor both ports in this project you will need to install Arduino IDE and download a portable version of Arduino IDE (download zip file and unzip it in directory Portable). You will be able to upload transmitter and receiver sketches same time and monitor different ports.
  3. Open Arduino IDE.
  4. Plug your Adruino Uno board with 433 MHZ RF transmitter into your PC USB port.
  5. Select the correct board and com port.
  6. Compile and upload the transmittersketch to your Adruino Uno board with 433 MHZ RF transmitter.
  7. Open Arduino IDE portable version.
  8. Plug your Adruino Uno board with 433 MHZ RF receiver into your PC USB port.
  9. Select the correct board and com port.
  10. Compile and upload receiversketch to your your Adruino Uno board with 433 MHZ RF receiver
  11. Open the Serial Monitor at a baud rate of 9600 (we had port COM5). 
  12. You will see the both LEDs (green and red) flashing and in Serial monitor the message Got: XX.

Code

Transmitter code

It's very simple. It will send character '1' and after 2 seconds will send character '0' and so on. The green LED (or on-board LED on the arduino board) must be turned ON when character '1' sent and turned OFF when character '0' sent.

Receiver code

It's very simple. The red LED (or on-board LED on the arduino board) must be turned ON when received character '1' and turned OFF when received character '0'.

Summary

We learnt how to use Arduino board (UNO) with RF 315/330/433 MHz XD-FST / XD-RF-5V Transmitter / Receiver module and VirtualWire library to establish communication on 433 MHZ RF.

Libraries:

  • All libraries attached on the begining of this project description.
  • VirtualWire library included.
    VirtualWire is an Arduino library that provides features to send short messages, without addressing, retransmit or acknowledgment, a bit like UDP over wireless, using ASK (amplitude shift keying). Supports a number of inexpensive radio transmitters and receivers.
    This library allow You to send and receive data"byte" and string easily
    VirtualWire is an Arduino library that provides features to send short messages, without addressing, retransmit or acknowledgment, a bit like UDP over wireless, using ASK (amplitude shift keying). Supports a number of inexpensive radio transmitters and receivers.
    This library allow You to send and receive data"byte" and string easily. Download, unzip  and add to libraries in our PC, for example C:\Users\toshiba\Documents\Arduino\libraries. This link you can find in Preferences of Adruino IDE program which installed in your PC. You can read more about it here.

Sketch:

  • See attachment on the begining of this project


Other projects of Acoptex.com
Medium Basics: Project 083w Sipeed Maixduino board - Using PlatformIO IDE of Acoptex.com in Sipeed Maixduino 08-08-2019
Medium Basics: Project 083e Sipeed Maixduino board - Uploading MaixPy of Acoptex.com in Sipeed Maixduino 04-08-2019
Medium Basics: Project 083f Sipeed Maixduino board - Using MycroPython of Acoptex.com in Sipeed Maixduino 04-08-2019

Published at 23-07-2019
Viewed: 3971 times