Thanks Bob and gcjr, (and anyone else who replied this morning while I was testing/learning).
Your advice solved the problem. I had inaccurate notions about the data types that are acceptable to the radio classes.
For future searchers with a similar question/project. Below are my sketches that worked (mostly). I was not successful at getting the Tx to detect an ack, so I commented out ack detection flow in my Tx sketch (input on that appreciated!).
Derived from Robin2's Simple nRF24L01+ 2.4GHz transceiver demo
First Sketch is for sending the analog data collected from a potentiometer.
// Reads pot value and sends it over nRF24L01
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
int dataToSend;
bool rslt;
const byte slaveAddress[5] = {0x52,0x78,0x41,0x41,0x41};
RF24 radio(CE_PIN, CSN_PIN); // Create a Radio
void setup() {
Serial.begin(9600);
Serial.println("SimpleTx Starting");
radio.begin(); //loads a set of most commonly used radio settings
radio.setDataRate( RF24_250KBPS );
radio.setRetries(3,5); // delay, count
radio.openWritingPipe(slaveAddress);
}
//====================
void loop() {
delay(300);
send();
Serial.print(dataToSend);
Serial.print(" ack=");
Serial.println(rslt);
}
//====================
void send() {
// commented out because tx is not hearing ack.
rslt = radio.write( &dataToSend, sizeof(dataToSend) );
// if (rslt) {
// Serial.println(" Acknowledge received");
updateMessage();
// }
// else {
// Serial.println(" Tx failed");
// }
}
//================
void updateMessage() {
dataToSend =(analogRead(A0));
}
Second sketch (below) is for displaying the potentiometer data (0 to 1023) on the serial monitor.
// Receives Pot Value displays on Serial Monitor
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
int dataReceived;
const byte thisSlaveAddress[5] = {0x52,0x78,0x41,0x41,0x41};
bool newData = false;
RF24 radio(CE_PIN, CSN_PIN); // Create a Radio
//===========
void setup() {
Serial.begin(9600);
Serial.println("SimpleRx Starting");
radio.begin();
radio.setDataRate( RF24_250KBPS );
radio.openReadingPipe(1, thisSlaveAddress);
radio.startListening();
}
//=============
void loop() {
getData();
showData();
}
//==============
void getData() {
if ( radio.available() ) {
radio.read( &dataReceived, sizeof(dataReceived) );
newData = true;
}
}
void showData() {
if (newData == true) {
Serial.println(dataReceived);
newData = false;
}
}