$Id: README,v 1.7 2003/08/29 05:43:00 dwalters Exp $ -- Open Automaton Project: http://oap.sourceforge.net -- RF REMOTE INTRODUCTION ---------------------- This README covers the source code and circuit schematics for the Open Automaton Project RF Remote Module. The RF Remote Module is a battery-powered handheld device that transmits RF (radio frequency) commands to the Input Module (which in turn, sends keypress signals to a PC motherboard). See the directory input_module fo the full details of the Input Module, including circuit schematic and source code. The circuit schematic (rf_remote.sch) was developed in gschem, part of the gEDA package, version 20030525. Circuit schematic symbols that are not in the symbol library bundled with gEDA are included as separate sym files (these .sym files can be copied into your local symbol directory, typically /usr/local/share/gEDA/sym/local/). LICENSING --------- All source code and electronic circuit designs are copyright (C) 2003, Dafydd Walters. The Open Automaton Project software is distributed under the terms of the GNU General Public License. See the file COPYING.SOFTWARE for details. Please see the file COPYING.ELECTRONICS to see the terms under which the electronic circuit designs of the Open Automaton Project are distributed. CIRCUIT NOTES ------------- NOTE: The use of radio frequency components may be regulated by some governments. Please check your local laws before using such components. The 0.1uF capacitors are power supply decoupling capacitors, and should be placed near U1 and CONN1. Any momentary action pushbuttons should work in the keypad switch matrix. Project boxes are available from electronic retail outlets (e.g. Fry's, Radio Shack) that include a membrane keypad matrix and a battery compartment suitable for a 9 volt battery. These project boxes (particularly the 4x6 key version) are ideal for this project. OPERATIONAL NOTES ----------------- One button on the keypad, labeled 'SET ROBOT CODE' is assigned to setting the Robot ID to be sent out in data packets by the transmitter (the receiving Input Module must be set to the same Robot ID to recognize packets from the transmitter). The 'SET ROBOT CODE' button must be held down for at least 2.5 seconds, and then one of the digit keys, 1 through 7, pressed to select the ID number. The Robot ID is then saved to EEPROM. The initial default value of the Robot ID code is 1. A single LED provides user feedback as follows: * On power up - 3 flashes. * When a normal key is pressed - LED is illuminated during RF transmission. * After 'SET ROBOT CODE' button has been held down for 2.5 seconds - 2 flashes. * After robot code has been selected (1 through 7) and set - 2 flashes. * Error (e.g. key other than 1-7 while waiting for code) - 5 flashes. FIRMWARE NOTES -------------- The software for the PIC16F84 PICMicro is written in assembly language, and compiles using the GNU PIC Assembler, gpasm. To compile the source code into a hex file suitable for programming a device, type gpasm -n rf_remote.asm The resulting hex file will be called rf_remote.hex The -n option puts DOS-style CR-LF newline sequences in the .hex file, required by most device programmers. It also compiles with the MPASM compiler for Microsoft Windows that is a part of the MPLAB suite from Microchip. However, you must make sure the assembly (.asm) file is in Windows/DOS format (i.e. with CR-LF sequences at the end of each line) before it will successfully compile in MPASM for Windows. Some device programmers require the configuration bits to be set manually. It is very important that these are set correctly. The RF Remote module requires the following configuration bit settings: - Code Protection off - Crystal oscillator - Power-Up Timer on - Watchdog Timer off The above settings are represented by the configuration word 3FF1 in hex.