Arduino Projects: RF Controlled Robot

Here we present a simple Arduino-board based robot that can be driven remotely using an RF remote control. -- Robin Chalana

5
32171
Fig. 8: Author’s prototype

Here we present a simple Arduino-board based robot that can be driven remotely using an RF remote control. This robot can be built very quickly in 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.

Circuit description
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.

Fig. 1: Block diagram of Arduino-based RF controlled robot
Fig. 1: Block diagram of Arduino-based RF controlled robot
Fig. 2: Circuit of transmitter section
Fig. 2: Circuit of transmitter section

7E6_TableArduino 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.

Remote control. 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.

Fig. 3: Circuit of receiver and motor driver
Fig. 3: Circuit of receiver and motor driver

443_PartsThe 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).

Transmitter circuit. 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.

5 COMMENTS

  1. Are the inputs “latched” or can it be made to do so? I’m looking for a way to press the button (fwd), and have it keep moving without having to hold it. Then switch off when the opposite button (rev) is pressed, or add in a stop button.

    If that was silly, forgive me, I’m very new to this.

LEAVE A REPLY

Please enter your comment!
Please enter your name here