This is the H3V4F a module that tuned out of the box at 433 MHz RF popular in most remote switching. however there are 3 versions of H3VXX Module the 315Mhz and 433Mhz frequency, this devices has a Bandwidth of 2Mhz -102dBm sensitivity at 4.8 kbps data rate max, and super heterodyne modulation runs at 2.4 ~ 4.2v typical operation for 3.3v , perfect device for RC projects, like remote control, home automations, alarm and security, anti-lost devices, RC Switch, Anti Thief devices. Etc. This module consist of RF IC’s featuring high sensitivity, low power consumption, perfect for battery operated RC devices and best replacement for traditional regenerative and heterodyne solutions. For more details please refer to the datasheet below.
Required Components
- Arduino IDE | Atmel Studio | Energia | Processing
- Arduino PRO, FIO, NANO, UNO, MINI, MEGA, PRO MINI, LEO, BT, DUE, ETHERNET,LILYPAD, NodeMCU, Teensy Board, TeensyDuino, ESP8266 12, 12E, ESP32, LinkItOne, ESP8266 NodeMCU, ESPDuino, ATMEGA328 16/12, ATMEGA32u4 16/8/ MHz, ESP8266, MSP430 ,ATMEGA250 16 MHz, ATSAM3x8E, Note: The Diagram below is using NANO. (please refer to each MCU’s respective pin-outs & bus configurations)
- H3V3F / H3V4F RX Module
- H34A TX Module
- Jumper Wire / DuPont Wire
- Breadboard
Wiring Guide
Source Code for Transmitter
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 38 39 |
#include <RCSwitch.h> //Download this library below RCSwitch rfsense = RCSwitch(); void setup() { Serial.begin(9600); Serial.println("14CORE | RF Sniffer Test Code for Transmitter"); Serial.println("RF Receiver Initializing......"); delay(2000); Serial.println("Starting.....................") delay(2000); display_Running_Sketch(); // Data transmission pinMode(2, OUTPUT); rfsense.enableTransmit(2); delay(1000); } void loop() { static int pos =0; unsigned long value; unsigned long channel = 0x5f5500; int sound[] = {0x00, 0x01, 0x04, 0x05, 0x10, 0x11, 0x14, 0x15, 0x40, 0x41, 0x44, 0x45, 0x50, 0x51, 0x54, 0x55}; int pmax = sizeof(sound) / sizeof(int); Serial.print("pmax="); Serial.println(pmax); value = channel + sound[pos]; Serial.print("value="); Serial.println(value,16); rfsense.send(value, 24); rfsense.send(value, 24); rfsense.send(value, 24); pos++; if (pos == pmax) pos = 0; delay(30000); } |
Source Code for Receiver
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 |
#include <RCSwitch.h> //Download the library below RCSwitch rfsense = RCSwitch(); void setup() { Serial.begin(9600); mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 Serial.println("14CORE | RF Sniffer Test Code for Receiver"); Serial.println("RF Sniffer Initializing......"); delay(2000); Serial.println("Starting.....................") delay(2000); } void loop() { if (rfsense.available()) { int value = rfsense.getReceivedValue(); if (value == 0) { Serial.print("Unknown encoding"); } else { Serial.print("Received 0x"); Serial.print(rfsense.getReceivedValue(),HEX ); Serial.print(" / "); Serial.print(rfsense.getReceivedBitlength() ); Serial.print("Bit Protocol: "); Serial.println(rfsense.getReceivedProtocol() ); } rfsense.resetAvailable(); } } |
Downloads
- Download RCSwitch Code Library | Zip
- Download H3V Series Datasheet | PDF
- Download H3V Series Product Manual | PDF