reciver code
1 - GND | ARDUINO uno
2 - VCC 3.3V !!! NOT 5V |
3 - CE to Arduino pin 9 |
4 - CSN to Arduino pin 10 |
5 - SCK to Arduino pin 13 | 53
6 - MOSI to Arduino pin 11 |
7 - MISO to Arduino pin 12 |
8 - UNUSED
///////////////////////////////////////////////////////////ARDUINO uno//////////////////////////////////////////////////////////////////////
*/
/////////////PINOS UTILIZADOS DIGITAL 3,5,6,8,9,10,11,12,13
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <printf.h>
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int joystick[8];
//////////MOTOR 1//////////////////////
byte IN1 = 3;
byte IN2 = 5;
////////////////////MOTOR 2//////////////////////
byte IN3 = 6;
byte IN4 = 7;
/////////////////////////////////////////////////
void RIGHT(){
analogWrite(IN3,250);
analogWrite(IN4,0);
analogWrite(IN1,250);
analogWrite(IN2,0);
}
///////////////////////////////////////////////////
void LEFT(){
analogWrite(IN3,0);
analogWrite(IN4,250);
analogWrite(IN1,0);
analogWrite(IN2,250);
}
///////////////////////////////////////////////////
void UP(){
analogWrite(IN3,250);
analogWrite(IN4,0);
analogWrite(IN1,0);
analogWrite(IN2,250);
}
/////////////////////////////////////////////////
void DOWN(){
analogWrite(IN3,0);
analogWrite(IN4,250);
analogWrite(IN1,250);
analogWrite(IN2,0);
}
//////////////////////////////////////////////////
void OFF(){
analogWrite(IN3,0);
analogWrite(IN4,0);
analogWrite(IN1,0);
analogWrite(IN2,0);
}
void setup()
{
Serial.begin(9600);
delay(1000);
Serial.println("");
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
}
void loop()
{
if ( radio.available() )
while (!radio.available())
{
radio.read( joystick, sizeof(joystick) ); // THIS IS THE COMPILE ERROR
if (joystick[2]==0 ||joystick[1]){UP();}
/////////////////////////////////////////
else if (joystick[3]==0 ||joystick[1]){RIGHT();}
/////////////////////////////////////////
else if (joystick[4]==0 ){DOWN();}
/////////////////////////////////////////
else if (joystick[5]==0){LEFT();}
Serial.println("X = ");
Serial.print(joystick[0]);
Serial.println("Y = ");
Serial.print(joystick[1]);
Serial.println("UP = ");
Serial.print(joystick[2]);
Serial.println("RIGHT = ");
Serial.print(joystick[3]);
Serial.println("DOWN = ");
Serial.print(joystick[4]);
Serial.println("LEFT = ");
Serial.print(joystick[5]);
Serial.println("START = ");
Serial.print(joystick[6]);
Serial.println("SELECT= ");
Serial.print(joystick[7]);
}
else
{
Serial.println("No radio available");
}
}
trasmit code0000000000
#include <SPI.h>
#include "RF24.h"
#include <nRF24L01.h>
#include <printf.h>
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int joystick[8];
int SELECTbut = 7;
int STARTbut =6;
int rightbut = 3;
int upbut = 2;
int downbut = 4;
int leftbut = 5;
int joystickX = 0;
int joystickY = 1;
void setup() {
Serial.begin(9600);
radio.begin();
printf_begin();
radio.openWritingPipe(pipe);
pinMode(upbut,INPUT);
digitalWrite(upbut,LOW);
pinMode(rightbut,INPUT);
digitalWrite(rightbut,LOW);
pinMode(downbut,INPUT);
digitalWrite(downbut,LOW);
pinMode(leftbut,INPUT);
digitalWrite(leftbut,LOW);
pinMode(SELECTbut,INPUT);
digitalWrite(SELECTbut,LOW);
pinMode(STARTbut,INPUT);
digitalWrite(STARTbut,LOW);
}
void loop()
{
joystick[0]=analogRead(joystickX);
joystick[1]=analogRead(joystickY);
joystick[2]=digitalRead(upbut);
joystick[3]=digitalRead(rightbut);
joystick[4]=digitalRead(downbut);
joystick[5]=digitalRead(leftbut);
joystick[6]=digitalRead(STARTbut);
joystick[7]=digitalRead(SELECTbut);
radio.write(joystick,sizeof(joystick));
Serial.print("X = ");
Serial.print(analogRead(joystickX));Serial.print(" ");
Serial.print("Y = ");
Serial.print(analogRead(joystickY));Serial.print(" ");
Serial.print("UP = ");
Serial.print(digitalRead(upbut));Serial.print(" ");
Serial.print("RIGHT = ");
Serial.print(digitalRead(rightbut));Serial.print(" ");
Serial.print("DOWN = ");
Serial.print(digitalRead(downbut));Serial.print(" ");
Serial.print("LEFT = ");
Serial.print(digitalRead(leftbut));Serial.print(" ");
Serial.print("START = ");
Serial.print(digitalRead(STARTbut));Serial.print(" ");
Serial.print("SELECT = ");
Serial.print(digitalRead(SELECTbut));Serial.print(" ");
Serial.print("\n");
}