Here we present a simple Arduino based RF controlled robot that can be driven remotely. This robot can be built very quickly on a small budget. The RF remote control provides the advantage of a good controlling range (up to 100 metres with proper antennae) besides being omnidirectional.
Arduino based RF controlled robot circuit
The block diagram of the robot is shown in Fig. 1. It has two major sections: (a)transmitter and (b)receiver and motor driver. The transmitter circuit (Fig. 2) is built around encoder IC HT12E (IC1), 433MHz RF transmitter module (TX1) and a few discrete components. The receiver and motor driver circuit (Fig. 3) is built around Arduino UNO board (BOARD1), decoder IC HT12D (IC2), 433MHz RF receiver module (RX1), motor driver IC L293D (IC3), regulator IC 7805 (IC4) and a few discrete components.
Arduino UNO board
The heart of the robot is Arduino UNO board. Arduino is an Open Source electronics prototyping platform based on flexible, easy-to-use hardware and software. It is intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
The Arduino Uno board is based on the ATmega328 microcontroller. It consists of 14 digital input/output pins, six analogue inputs, a USB connection for programming the on-board microcontroller, a power jack, an ICSP header and a reset button. It is operated with a 16MHz crystal oscillator. It contains everything needed to support the microcontroller. It is very user-friendly; simply connect it to a computer with a USB cable to get started. The microcontroller on the board is programmed using the Arduino programming language and the Arduino development environment.
For controlling the robot remotely, Holteks’ encoder-decoder pair (HT12E and HT12D) together with a 433MHz transmitter-receiver pair is used.
HT12E and HT12D are CMOS ICs with working voltage ranging from 2.4V to 12V. Encoder HT12E has eight address and another four address/data lines. The data set on these twelve lines (address and address/data lines) is serially transmitted when transmit-enable pin TE is taken low. The data output appears serially on DOUT pin.
The data is transmitted four times in succession. It consists of differing lengths of positive-going pulses for ‘1’ and ‘0,’ the pulse-width for ‘0’ being twice the pulse-width for ‘1.’ The frequency of these pulses may lie between 1.5 and 7 kHz depending on the resistor value between OSC1 and OSC2 pins.
The internal oscillation frequency of decoder HT12D is 50 times the oscillation frequency of encoder HT12E. The HT12D receives the data from the HT12E on its DIN pin serially. If the address part of the data received matches the levels on A0 through A7 pins four times in succession, the valid transmission (VT) pin is taken high. The data on pins AD8 through AD11 of the HT12E appears on pins D8 through D11 of the HT12D. Thus the device acts as a receiver of 4-bit data (16 possible codes) with 8-bit addressing (256 possible channels).
Switches S1, S2, S3 and S4 are interfaced with AD8 through AD11 of encoder HT12E for forward (FWD), reverse (REV), left (LEFT) and right (RIGHT) motions, respectively. Resistor R1 is connected between oscillator pins 15 and 16 to set the transmitter frequency.