RF is just way too cool not to use in your designs. But if you’re a newbie like me it is difficult to successfully build solid RF transmitters and receivers. When I started out I didn’t realize that the larger breadboard I was working off of was causing a lot of the signal deviance because the metal traces on the breadboard worked like small capacitors and changed my circuit dynamics.
So after much research I found the Reynolds Electronics RWS and TWS 434 RX/TX pair. I looked into a similar product by MING Microsystems and Radioshack but the Reynolds were superior in performance, cost and ease of use. So with that and two PIC 16F84’s I started working on my serial RF link from my control interface (Joystick) to my robot. You can find these parts at http://www.rentron.com/rf_remote_control.htm
I found that the TX/RX pair and the serial communication built into the PICBasic programming language for my PIC’s worked very well together. I wasn’t sure how well the timing would work using Asynchronous Serial communication at 9600 baud, I expected some problems at this higher speed but in testing found very little error. The actual programming couldn’t be easier since it is written in Basic and uses premade serial communication routines. I simply read the position of the Potentiometer in the joystick using the PICBasic ‘POT’ command and put the result in memory location ‘B0’. From there using the ‘SEROUT’ command I sent the contents of ‘B0’ to pin 6 of the TWS 434 transmitter.
On the receiver end I use the ‘SERIN’ command and read the incoming data from pin 3 on the RWS 434 and put the result in ‘B0’. The value in ‘B0’ directly correlates to joystick position, above 150 is right, below 106 is left, and in between is center. By using these numbers I can define a deadzone.
For more detail: RF Modem Robotics Project using PIC16F84 microcontroller
Current Project / Post can also be found using:
- robot pic projects
- cleaning robot using pic
- obstacle avoiding robot using pic 18 microcontroller
- PIC16F887 RC car control project