Shop OBEX P1 Docs P2 Docs Learn Events
Beau's RF Transciever Program — Parallax Forums

Beau's RF Transciever Program

kt88seampkt88seamp Posts: 112
edited 2010-05-03 12:10 in Propeller 1
I am trying to set up the demo programs for Beau's RF Transceiver program. They do not seem to be working. I think I did not upload them right. Do you just upload the receiver program to the circuit you want to receive and the transmitter one to the transmitter circuit? There is no readme on how to upload the programs.

Also I am trying to use the serial terminal to monitor the receiver. I only have one prop clip so I cannot monitor and transmit at the same time.

Comments

  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2010-04-27 04:30
    kt88seamp,

    This program is designed for the RF Transceiver that Parallax sells. Using two Propeller Demo Boards you will need to use the circuit below on BOTH the transmit and receive Demo Boards. The circuit is also located in the RF_Transceiver.spin file.

    attachment.php?attachmentid=65266

    If you are using a different transmitter or different receiver, you will want to follow this link


    If you have a relatively 'RF clean' test area, you shouldn't have much issue... first load the Transceiver TX DEMO into one Propeller Demo board, and then load the Transceiver RX DEMO into the other Propeller Demo board leaving it connected so that you can use the serial terminal to monitor the receiver. The serial terminal baud setting should be set at 38400 baud.

    See this link also for a method to send strings to the transmit and receive packets.


    Reference threads:
    need object for parallax 433 MHz RF Receiver
    Parallax RF Transceiver object using polynomial CRC method to reduce Data Errors

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.

    Post Edited (Beau Schwabe (Parallax)) : 4/27/2010 5:03:40 AM GMT
  • kt88seampkt88seamp Posts: 112
    edited 2010-04-27 15:38
    Hmm. I still am not receiving hello world on the serial terminal. The only changes I made to the program was I put the transmit and receive on pins 19 and 20 and the TX/RX on pin 16. Both of my breadboards are right next to one another. I am using the transceiver modules.
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2010-04-27 15:48
    kt88seamp,

    Use the File -> Archive -> Project ... option from the Propeller IDE and post your code please.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • kt88seampkt88seamp Posts: 112
    edited 2010-04-27 15:54
    Here is the code.
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2010-04-27 16:46
    kt88seamp,

    In the RF_Transceiver code, at the very bottom of the PUB commands, remark the dira and the outa commands for both Light_LEDs and Kill_LEDs.

    Since this was written for a Propeller DEMO Board, the on-board LED's are used for a visual 'SYNC' detect. These LEDs occupy pins 16 to 23 which encompass the pins you are assigning and causing a conflict.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • kt88seampkt88seamp Posts: 112
    edited 2010-04-27 17:32
    The LED lines are remarked out, and it is still not working. Does it matter which pin, 19 or 20, you assign transmit and receive too? It doesn't look like it. Is there a certain way the serial terminal needs to be set up aside from the baud mode being 38400?

    Post Edited (kt88seamp) : 4/27/2010 5:39:18 PM GMT
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2010-04-27 19:08
    kt88seamp,

    From a software perspective, I tried your code and, it works just fine on my end. Have you double checked the wiring? It should be exactly the same for both ends. Would it be possible to post a clear picture(s) of your physical setup?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • kt88seampkt88seamp Posts: 112
    edited 2010-04-27 19:21
    I had a ground going to VCC. Sorry to have wasted your time on the last post. It now works.
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2010-04-27 20:23
    kt88seamp,

    Excellent! smilewinkgrin.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • kt88seampkt88seamp Posts: 112
    edited 2010-04-28 02:29
    How come the data is has to be repeatedly transmitted and received (repeat loop)? I tried getting rid of that repeat loop and the transmitter did not work. However, if you repeat at least twice on the transmitter the data does go through. What if you want to transmit and receive multiple packets?
  • kt88seampkt88seamp Posts: 112
    edited 2010-04-28 16:21
    I modified the program so it transmits a single byte packet of data, not a string. I want to send multiple packets of data with different values. I tried eliminating the repeat loop in the main methods but the transmitting or receiving needs it in order for it to work. The data goes through if you run the repeat loop at least twice. Is there a way to transmit multiple packets? If I am not mistaking, the repeat loop causes the transmitter and receiver to constantly be transmitting and receiving. I want the transmitter to transmit the data and if it goes through, for the transmitter to stop transmitting the data and the receiver to not repeatedly read from the buffer. How can you send multiple packets of data if both programs are in an infinite loop transmitting the same data packet over and over?
    zip
    19K
    RX.zip 19.4K
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2010-04-28 16:56
    kt88seamp,

    "I want the transmitter to transmit the data and if it goes through, for the transmitter to stop transmitting the data and the receiver to not repeatedly read from the buffer. How can you send multiple packets of data if both programs are in an infinite loop transmitting the same data packet over and over?" - This is just a demo to get you started, there is no handshaking that takes place. In the real world due to environmental RF noise, packets can be sent several times before a valid packet is received.

    There is a proposed scheme that would work for handshaking that I posted here...
    RF handshaking

    ... that can be found with some discussion in this thread...
    Parallax RF Transceiver object using polynomial CRC method to reduce Data Errors

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • kt88seampkt88seamp Posts: 112
    edited 2010-05-03 12:10
    I am beginning to have some success but I discovered the SyncDetect Method is succumbing to noise. devil.gif I added a CRC error detect LED to see if a demo packet arrives intact. If the receiver sits waiting for a packet it will eventually (the time can vary from immediately to several seconds after power up) come on. The SynchDetect Method is supposed to cause the prop to ignore the noise and wait for a legitimate transmission. How can I rectify this problem?

    The noise is like a bunch random numbers being generates "gazillion" times a second. It will eventually generate the binary equivalent of an S and trigger (with my modification) a CRC error because no legitimate packet was received. sad.gif
Sign In or Register to comment.