Hey, using a joystick is more simple and easy to control the Small Robot. A readily available joystick module is used here to simplify the circuit. The joystick consists of two variable resistors fitted in perpendicular directions and a knob is provided to turn the variable resistors in required directions. The two variable resistors are spring loaded and positioned in mid-value of the resistance, by default.
So, when the power supply (5VDC) is applied to the Joystick module at Vcc and Gnd pins, the outputs of the variable resistors shows 2.5V by default, at dX and dY pins.
When, the joystick is moved in X-direction, one of the variable resistor moves up to its extreme value, i.e., minimum (0V) to maximum (5V). This voltage value is available at dX pin on the module.
Similarly, if the joystick is moved in Y-direction, the other variable resistor moves up to its extreme value and the voltage is available at dY pin.
A small push button is provided below the joystick knob, and its digital values of on/off status is available at SW pin on the module. This switch is not used in our joystick project.
Here also, small 8 pin micro-controllers (ATTINY13) are used in Transmitter and Receiver circuits. The concept of Joystick control is almost similar to keyboard control explained earlier.
The Joystick control system is almost similar to, Four button Keyboard control used earlier. The ADC values of dX (towards 0V and 5V) and dY (towards 0V and 5V) pins are converted to four digital values by the micro-controller, which matches to the four keyboard digital inputs.
Both the Transmitter and Receiver boards, communicate through wireless transmitter and receiver modules. The joystick operation is encoded and sent by transmitter board, which is received and decoded by the receiver board, to control the Small Robot through the motor driver fixed on base frame.
(refer Small-Robot Base Frame for motor control codes)
The transmitter board receives ADC value, by moving the joystick in X and Y directions
For the Joystick Transmitter board, a joystick module is used to control the direction of motion of Small Robot. By moving the joystick knob in forward, backward, right and left directions, the variable voltages available at dX and dY pins on the module are read by two ADC pins of micro-controller (ATTINY13). The two ADC values are converted to four bit digital data. Then, the four bits are sent through a pin as serial, in encoded form. (Refer Base Frame for four bit data)
Any RF (Radio Frequency) Transmitter may be used, to transmit the Serial data, from the micro-controller to wireless radio wave. A 433 MHz RF transmitter module is used here for the purpose.
A 7805 is used to convert 9V battery supply to 5VDC power supply for the circuit.
For the Joystick Receiver Board (which is similar to key board receiver), the serial data is received by the RF receiver module, and sent to the micro-controller (ATTINY13). The micro-controller decodes the received data, and converts to four bit parallel data. Then the four bits are sent to the base frame through the 6 pin connector, which in turn controls the movement of the Small Robot.
The 5VDC power supply for Receiver board is derived from the Main board of Base Frame, through 6 pin connector.
Download files from above link and remove .TXT extension.