Hi
I don't know if this forum is into helping troubleshoot issues with radios, but I though I might give it a shot.
I bought a couple of the RFM69HW in 433mhz and are using them with Arduino Pro Mini. Programming with an FTDI. I caught that the Adafruit FTDI sends 5v directly to the board, so I broke it out and send to the 5V to the Raw pin to regulate it. My board is built like the suggestion at:
http://www.allaboutcircuits.com/projects/introduction-to-the-rfm69hw-transceiver/
which is a variation on Felix's Blinky example. Both are built the same. Both have wire-scrap antennas, which should work with both in my basement. I added a 'localLED' so that I could see if the button was actually pressed.
I corrected a pin error that Benjamin Crabtree (author of the article) had made with his DIO0 pin and put something behind the if statement on the radio.sendWithRetry().... A 'Fail' or 'Worked' message.
One system is on a 9v battery, the other is on the FTDI so I can monitor messages. The same sketch is on both, with the 'RECEIVER' and 'SENDER' being changed in setup() and the sendWithRetry statement.
I have an SDR tuned to 433mhz so I can see and hear if I am getting a response to a button press.
ISSUES:
I can see that the radio transmit works most of the time when I press the button on either system. It will hang about 1/3 of the time. A pressing the reset on the mini will usually fix this. After hours of trying, I have managed to see exactly 3 sent messages, so I know I'm in the ballpark, but not able to reliably make the connection.
I have tinkered with commenting out some of the low power statements and baud (9600 and 1200), but still have no luck.
I do have one part of the example program that I do not understand. It seems to toggle the radio into and out of transmission mode, for some reason, based on the state of the remote LED. I assumed this was done automatically, and don't know why it would matter in this way. Snippet:
if (remoteLEDState == LOW) {
remoteLEDState = HIGH;
}
else {
remoteLEDState = LOW;
}
digitalWrite(remoteLED, remoteLEDState);
digitalWrite(RX_TOGGLE_PIN, remoteLEDState); //<<--I don't understand this.
Code is attached if someone is bored and wants to help a noob...
Thanks in advance for any suggestion / help you may toss my way.
OK!! First I guess I didn't dig deep enough in the BB, because I did find a problem. Someone else had a similar connection issue:
QuoteYour wiring of the RFM69 module is missing one important connection: Arduino D2 to RFM69 DIO0 pin.
The code and the schematic from the sample code I was using were different. The schematic showed pin 2 being used for the RadioTXToggle and the code showed pin 7. I moved to pin 7 to stay with the code, but should have moved the code to pin 2. I did this and now have the the sketch working.... one-way at least. More issues I'm sure, but this BB came through with the answer.