Page 1 of 1

nRF24L01 Radio Module Component

Posted: Tue Apr 05, 2016 6:52 am
by TedO
Hi Benj and fellow Flowcoders,

I have tried everything to get your nRF24L01 radio component to work, but to no avail.

Has anyone been successful in creating a flowchart in Flowcode V6 that actually works?

If so, PLEASE post it on the forum so that we as amateurs can learn from it, I have almost no more hair on my head left trying to make these modules work!! I have tried to create my own initializing routines from the datasheet, but alas, I came close to blowing up the house!!

I would like to have a remote temp sensor outside that communicates with the "base" module that has an LCD fitted to display the temperature outside and inside.

Thank you
Ted :D :D

Re: nRF24L01 Radio Module Component

Posted: Tue Apr 05, 2016 5:26 pm
by MJU
Hello TedO,

Please check my working example here: http://www.matrixtsl.com/mmforums/viewt ... l01#p71942

It's just the basics, send and receive.
My goal was to extend the chart to one that can receive the ack from the RX and so on, but I don't have much time for that..

Re: nRF24L01 Radio Module Component

Posted: Wed Apr 06, 2016 4:11 pm
by TedO
Hi MJU

Thanks for the flowcharts, your initializing routines work very well, I tweaked the programs a bit to enable the base module to have an LCD display rather than the RS232 component and the radio modules work perfectly well thank you, can now send text Bytes to the Rx LCD.

Am now trying to get the Tx to send the temperature from a remote sensor via NRF to base module but find it a little difficult as the input from the temp sensor is an INT input and the SPI component only has a SendCHAR or SendSTRING command (which are Bytes) so how does one send an Integer value via SPI?

Would appreciate some help with this please.

Much appreciated
Regards
Ted
Die hulp word werklik waardeer!!

Re: nRF24L01 Radio Module Component

Posted: Wed Apr 06, 2016 5:14 pm
by Benj
Hello Ted,

You can split an integer variable up into two bytes using the following. MSB, LSB are byte variables and INT is your Integer variable.

MSB = INT >> 8
LSB = INT

Send the two bytes and then at the receiver end you need to combine the two bytes to an int again.

INT = ( MSB << 8 ) + LSB