I'm trying to use this code "NRF24L01 + ARDUINO + PS2X", but when compiling the following error
/ sdk / hardware / tools / avr / bin / avr-g ++ -no-canonical-prefixes -std = gnu ++ 11 -c -g -Os -w -mmcu = atmega328p -DF_CPU = 16000000L -DUSB_VID = null -DUSB_PID = null -DARDUINO = 10812 -DIDE = "ArduinoDroid" -DARDUINO_ARCH_AVR -DARDUINO_AVR_NANO /build/transistor.cpp -o /build/transistor.cpp.o In file included from transistor.ino: 1: 0:
/PS2X_lib/PS2X_lib.h: In function 'void loop ()':
/PS2X_lib/PS2X_lib.h:203:29: error: 'unsigned char PS2X :: PS2data [21]' is private
unsigned char PS2data [21];
^
transistor.ino: 92: 21: error: within this context
Return code is not 0
/// Mine Code
#include <PS2X_lib.h>
#include <nRF24L01.h>
#include <RF24.h>
//Pinos do arduino para a placa mãe do controle PS2
#define PS2_DAT 6 //Marrom
#define PS2_CMD 4 //Laranja
#define PS2_SEL 3 //Amarelho
#define PS2_CLK 5 //Azul
//Pinos do arduino para o NRF24L01
#define PIN_NRF_CE 8
#define PIN_NRF_CSN 13
//Criação da ob rf
RF24 Radio (PIN_NRF_CE, PIN_NRF_CSN); // CE, CSN
const byte address[6] = "00001";
PS2X ps2x; // Cria a Instancia da classe
// www.serinsy.com
// se declaran los parametros para el boton pulsador de palanca
int pushButton = 4;
// se declaracan cada una de las variables de cada motor
int motorControl = 9;
int motorControl1 = 5;
int motorControl2 = 3;
int motorControl3 = 6;
// empieza a copilar el programa clave
void setup() {
//Serial.begin(9600);
delay(500);
//Inicializa módulo NRF24L01
Radio.begin();
Radio.openWritingPipe(00001);
Radio.setPALevel(RF24_PA_MIN);
Radio.stopListening();
int error = ps2x.config_gamepad( PS2_CLK, PS2_CMD, PS2_SEL, PS2_DAT);
if(error == 0){
Serial.println("Controle encontrado, configurado com successo");
} else {
Serial.println("Erro no controle PS2");
}
// se declara el estado de cada pin en este caso del boton palanca
pinMode(pushButton, INPUT);
// se declara el estado de cada uno de los motores
pinMode(motorControl, OUTPUT);
pinMode(motorControl1, OUTPUT);
pinMode(motorControl2, OUTPUT);
pinMode(motorControl3, OUTPUT);
}
// se corre esta area prolongadamente hasta que finalice.
void loop() {
//Ler dados da placa-mãe de controle do PS2
ps2x.read_gamepad(); //read controller and set large motor to spin at 'vibrate' speed
/descomente para depurar
for (byte i = 0; i< 22;i++){
//Descomente para depurar
Serial.print(ps2x.PS2data);*
-
Serial.print( " " );*
-
}*
-
Serial.println();*
_ */_ -
const char text[] = "Hello World";*
-
Radio.write(&ps2x.PS2data, 9);*
-
// se lee el estado del boton en este caso la palanca asia uno de los costados*
-
if(digitalRead(pushButton) == HIGH){*
-
// inicializan los motores con las velocidades declaradas*
-
for(int x = 0; x <= 255; x++){*
-
analogWrite(motorControl, x); *
-
analogWrite(motorControl1, x);*
-
analogWrite(motorControl2, x); *
-
analogWrite(motorControl3, x); *
-
delay(50); *
-
} *
-
// inicializan los motores con las velocidades declaradas*
-
for(int x = 255; x >= 03; x--){*
-
analogWrite(motorControl, x); *
-
analogWrite(motorControl1, x);*
-
analogWrite(motorControl2, x); *
-
analogWrite(motorControl3, x); *
-
delay(50); *
-
}*
} -
delay(1); // retraso entre lecturas para estabilidad*
}