I'm am a beginner, so I'm sorry I have written this wrong.
Is this piece of code correct? If not where?
Transmitter:
#include <SPI.h>
#include "RF24.h"
int* Msg, mSg, msG;
RF24 radio(9, 10);
const uint8_t pipe = 1;
void setup() {
// put your setup code here, to run once:
radio.begin();
radio.setPALevel(RF24_PA_LOW);
radio.openWritingPipe(pipe);
}
void loop() {
// put your main code here, to run repeatedly:
Msg = analogRead(A1);
radio.write(Msg, sizeof(Msg));
mSg = analogRead(A2);
radio.write(mSg, sizeof(mSg));
msG = analogRead(A3);
radio.write(msG, sizeof(msG));
delay(100);
}
Receiver:
#include <SPI.h>
#include "RF24.h"
#define in1 2
#define in2 3
#define in3 4
#define in4 5
#define in5 A2
#define in6 A3
#define in7 A4
#define in8 A5
const int maxMsgLength = 64;
char Msg[maxMsgLength];
const int maxmSgLength = 64;
char mSg[maxmSgLength];
const int maxmsGLength = 64;
char msG[maxmsGLength];
RF24 radio(9, 10);
const uint8_t pipe = 1;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
radio.begin();
radio.setPALevel(RF24_PA_LOW);
radio.openReadingPipe(1, pipe);
radio.startListening();
}
void loop() {
// put your main code here, to run repeatedly:
if (radio.available()) {
radio.read(Msg, maxMsgLength - 1);
radio.read(mSg, maxmSgLength - 1);
radio.read(msG, maxmsGLength - 1);
}
int xAxis = Msg;
int yAxis = mSg;
int YAxis = msG;
if (xAxis < 450) {
// Forward
digitalWrite(in1, 1);
digitalWrite(in2, 0);
digitalWrite(in3, 1);
digitalWrite(in4, 0);
Serial.println("Forward");
}
else if (xAxis > 550) {
// Backward
digitalWrite(in1, 0);
digitalWrite(in2, 1);
digitalWrite(in3, 0);
digitalWrite(in4, 1);
Serial.println("Backward");
}
else {
// Stop
digitalWrite(in1, 0);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
Serial.println("Stop");
}
if (yAxis < 450) {
// Left
digitalWrite(in5, 1);
digitalWrite(in6, 0);
Serial.println("Left");
}
else if (yAxis > 550) {
// Right
digitalWrite(in5, 0);
digitalWrite(in6, 1);
Serial.println("Right");
}
else {
// Stop
digitalWrite(in5, 0);
digitalWrite(in6, 0);
Serial.println("Stop");
}
if (yAxis < 450) {
// Flipper Up
digitalWrite(in7, 1);
digitalWrite(in8, 0);
Serial.println("Up");
}
else if (yAxis > 550) {
// Flipper Down
digitalWrite(in7, 0);
digitalWrite(in8, 1);
Serial.println("Down");
}
else {
// Stop
digitalWrite(in7, 0);
digitalWrite(in8, 0);
Serial.println("Mid");
}
delay(250);
}
Edit:
Transmitter:
#include <SPI.h>
#include "RF24.h"
int x, y, f;
RF24 radio(9, 10);
const uint8_t pipe = 1;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
radio.begin();
radio.setPALevel(RF24_PA_LOW);
radio.openWritingPipe(pipe);
}
void loop() {
// put your main code here, to run repeatedly:
x = analogRead(A1);
radio.write(x, sizeof(x));
y = analogRead(A2);
radio.write(y, sizeof(y));
f = analogRead(A3);
radio.write(f, sizeof(f));
delay(100);
}
Receiver:
#include <SPI.h>
#include "RF24.h"
#define in1 2
#define in2 3
#define in3 4
#define in4 5
#define in5 A2
#define in6 A3
#define in7 A4
#define in8 A5
int x;
int y;
int f;
RF24 radio(9, 10);
const uint8_t pipe = 1;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
radio.begin();
radio.setPALevel(RF24_PA_LOW);
radio.openReadingPipe(1, pipe);
radio.startListening();
}
void loop() {
// put your main code here, to run repeatedly:
if (radio.available()) {
radio.read(&x, sizeof(x));
radio.read(&y, sizeof(y));
radio.read(&f, sizeof(f));
}
if (x < 450) {
// Forward
digitalWrite(in1, 1);
digitalWrite(in2, 0);
digitalWrite(in3, 1);
digitalWrite(in4, 0);
Serial.println("Forward");
}
else if (x > 550) {
// Backward
digitalWrite(in1, 0);
digitalWrite(in2, 1);
digitalWrite(in3, 0);
digitalWrite(in4, 1);
Serial.println("Backward");
}
else {
// Stop
digitalWrite(in1, 0);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
Serial.println("Stop");
}
if(x > 1023)x = 1023;
if(x < 0)x = 0;
if (y < 450) {
// Left
digitalWrite(in5, 1);
digitalWrite(in6, 0);
Serial.println("Left");
}
else if (y > 550) {
// Right
digitalWrite(in5, 0);
digitalWrite(in6, 1);
Serial.println("Right");
}
else {
// Stop
digitalWrite(in5, 0);
digitalWrite(in6, 0);
Serial.println("Stop");
}
if(y > 1023)y = 1023;
if(y < 0)y = 0;
if (f < 450) {
// Flipper Up
digitalWrite(in7, 1);
digitalWrite(in8, 0);
Serial.println("Up");
}
else if (f > 550) {
// Flipper Down
digitalWrite(in7, 0);
digitalWrite(in8, 1);
Serial.println("Down");
}
else {
// Stop
digitalWrite(in7, 0);
digitalWrite(in8, 0);
Serial.println("Mid");
}
if(f > 1023)f = 1023;
if(f < 0)f = 0;
Serial.println(x);
Serial.println(y);
Serial.println(f);
delay(250);
}
Thank you for your time.