First of all I want to thank you how much you help me.
Sadly it still isn’t working. I get this in the serial:
Transmitter
Traanalog channel 3 = 282
analog channel 4 = 303
analog channel 5 = 322
0 = 0
analog channel 1 = 170
analog channel 2 = 240
analog channel 3 = 282
analog channel 4 = 303
analog channel 5 = 322
e⸮X6<F⸮D⸮⸮.⸮,⸮N'Y, 2R&⸮]|T⸮⸮N'⸮x⸮Y3⸮i1⸮⸮N'⸮|⸮#&⸮_⸮0x⸮N'⸮|9Y#⸮_⸮1⸮/⸮N'X, 2R&⸮]|T⸮⸮N'Xl⸮#&⸮_|T⸮⸮N'⸮|⸮!&⸮_-⸮⸮⸮UH!&⸮]⸮e⸮N'X, 2R&⸮]-i⸮⸮U2B⸮<⸮]⸮xTN'⸮|9Y#⸮_|T⸮⸮'UH#&⸮]-⸮⸮N'Xl⸮#&⸮]-⸮⸮⸮U2B⸮<⸮]⸮⸮1⸮
Reciever
Receiver Starting
analog channel 4 = 344
analog channel 5 = 372
0 = 0
analog channel 1 = 184
analog channel 2 = 265
analog channel 3 = 315
analog channel 4 = 344
analog channel 5 = 372
0 = 0
analog channel 1 = 184
analog channel 2 = 265
analog channel 3 = 315
analog channel 4 = 344
analog channel 5 = 372
⸮⸮⸮⸮$⸮"⸮d⸮EN']$⸮DD@L⸮X⸮X\⸮R&⸮|⸮<⸮|⸮⸮⸮⸮⸮⸮UU⸮Ji1⸮1xT⸮⸮N'MIDDD@⸮N'MIDD@@⸮N⸮MM⸮⸮⸮⸮⸮N']$R⸮D@@L⸮⸮⸮8m⸮<⸮ ⸮DJ'Y,⸮D⸮⸮z⸮:⸮:⸮⸮md⸮(⸮8⸮(⸮⸮⸮UU⸮J⸮⸮i1xT⸮h⸮⸮}⸮=⸮}⸮=⸮}⸮⸮⸮8⸮<⸮ ⸮D⸮⸮-d⸮(⸮x⸮h⸮⸮H⸮
4"(R⸮.⸮.⸮.⸮
Transmitter
#include <nRF24L01.h>
#include <SPI.h>
#include <RF24.h>
const byte CE_PIN = 7;
const byte CSN_PIN = 8;
const byte slaveAddress[5] = {'R', 'x', 'A', 'A', 'A'};
RF24 radio(7, 8); // Create a Radio
volatile unsigned long time1 = 0;
volatile unsigned long time2 = 0;
volatile unsigned long Oldtime1 = 0;
volatile unsigned long Oldtime2 = 0;
volatile unsigned long TempTime1 = 0;
volatile unsigned long TempTime2 = 0;
struct DataFromRC
{
unsigned long TempTime1;
unsigned long time1;
unsigned long TempTime2;
unsigned long time2;
int analog[6];
};
DataFromRC data;
unsigned long txIntervalMillis = 1000;
void setup()
{
Serial.begin(115200);
Serial.println("Transmitter Starting");
// buttons for test only
// pinMode(2, INPUT_PULLUP);
// pinMode(3, INPUT_PULLUP);
attachInterrupt (0, channel1, FALLING);
attachInterrupt(1, channel2, FALLING);
radio.begin();
radio.setChannel(76); //76 library default
//RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH and RF24_PA_MAX
radio.setPALevel(RF24_PA_LOW);
radio.setDataRate( RF24_250KBPS );
radio.setRetries(3, 5); // delay, count
radio.openWritingPipe(slaveAddress);
}
void loop()
{
static unsigned long timer = 0;
if (millis() - timer >= txIntervalMillis)
{
timer = millis();
for (byte n = 0; n < sizeof(data.analog) / sizeof(data.analog[0]); n++)
{
data.analog[n] = analogRead(n);
}
data.TempTime1 = TempTime1;
data.time1 = time1;
data.TempTime2 = TempTime2;
data.time2 += time2;
printAll();
send();
}
}
void send()
{
radio.write( &data, sizeof(data) );
}
void printAll()
{
Serial.print("TempTime1 = ");
Serial.println(data.TempTime1);
Serial.print("time1 = ");
Serial.println(data.time1);
Serial.print("TempTime2 = ");
Serial.println(data.TempTime2);
Serial.print("time2 = ");
Serial.println(data.time2);
for (byte n = 0; n < sizeof(data.analog) / sizeof(data.analog[0]); n++)
{
Serial.print("analog channel ");
Serial.print(n);
Serial.print(" = ");
Serial.println(data.analog[n]);
}
}
//Interrupt routine for RPM1
void channel1()
{
TempTime1 = micros();
time1 = TempTime1 - Oldtime1;
Oldtime1 = TempTime1;
}
//Interrupt routine for RPM2
void channel2()
{
TempTime2 = micros();
time2 = TempTime2 - Oldtime2;
Oldtime2 = TempTime2;
}
Reciever
#include <nRF24L01.h>
#include <SPI.h>
#include <RF24.h>
const byte CE_PIN = 7;
const byte CSN_PIN = 8;
const byte thisSlaveAddress[5] = {'R', 'x', 'A', 'A', 'A'};
RF24 radio(7, 8); // Create a Radio
struct DataFromRC
{
unsigned long TempTime1;
unsigned long time1;
unsigned long TempTime2;
unsigned long time2;
int analog[6];
};
DataFromRC data;
bool newData = false;
void setup()
{
Serial.begin(115200);
Serial.println("Receiver Starting");
radio.begin();
radio.setChannel(76); //76 library default
//RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH and RF24_PA_MAX
radio.setPALevel(RF24_PA_HIGH);
radio.setDataRate( RF24_250KBPS );
radio.openReadingPipe(1, thisSlaveAddress);
radio.startListening();
}
void loop()
{
getData();
showData();
}
void getData()
{
if ( radio.available() )
{
radio.read( &data, sizeof(data) );
newData = true;
}
}
void showData()
{
if (newData == true)
{
Serial.print("TempTime1 = ");
Serial.println(data.TempTime1);
Serial.print("time1 = ");
Serial.println(data.time1);
Serial.print("TempTime2 = ");
Serial.println(data.TempTime2);
Serial.print("time2 = ");
Serial.println(data.time2);
for (byte n = 0; n < sizeof(data.analog) / sizeof(data.analog[0]); n++)
{
Serial.print("analog channel ");
Serial.print(n);
Serial.print(" = ");
Serial.println(data.analog[n]);
}
newData = false;
}
}