Introduction: DIY Cheap RC Transmitter
The RC transmitter is mainly based on pic 16F84 microcontroller and an old PS2 joystick. Hence, the transmitter sends 6 bytes of control, i.e. Throttle, Pitch, Roll, Yaw, and two other bytes for the PS2 buttons status. Moreover, the radio transceiver nRF24L01+ has been used to send data, while the Nokia 5110 LCD has been used to print the current values of Throttle, Pitch, Roll and Yaw. All different modules are interfaced with the 16F84 via the SPI protocol using a bitbanging method, because the basic 16F84 does not support the SPI hardware.
The protocol used at the communication:
________|| byte 1 || byte 2 || byte 3 || byte 4 || byte 5 || byte 6 ||
________||Throttle || Pitch || Roll || Yaw || L. BTNs || R. BTNs ||
min value || 0% || -30° || -30° || -30° || 0x00 || 0x00 ||
max value || 100% || +30° || +30° || +30° || 0x00 || 0x00 ||
Step 1: Instructable Parts
- PS2 joystick
- Pic 16F84
- 2Ghz radio transceiver nRF24L01+
- Crystal 4Mhz
- 2 x capacitor 27pf
- Nokia 5110 LCD
- Li-ion battery
- Wires for the connection
- Empty small box of margarine
- 4 screws to fix the components
Step 2: Schematic and Source Code
The three modules (i.e. nRF24L01+, Nokia 5110 and PS2 joystick) are interfaced using a bitbanging SPI protocol.
The source code is written in assembly language and is available from the below github repository.
We have a be nice policy.
Please be positive and constructive.