Quiero controlar mi auto con nRF24L01 2.4GHz Radio / Transceptores inalámbricos. Estoy usando un Arduino Mega, Arduino UNO, joystick, LED y dos transceptores de radio / inalámbricos nRF24L01 de 2.4GHz. Aquí, el Arduino Mega es el circuito del transmisor y el Arduino UNO es el circuito del receptor.
En el transmisor, las conexiones del circuito son:
- GND
- VCC 3.3V
- CE a Arduino pin 9
- CSN a Arduino pin 10
- SCK a Arduino pin 13
- MOSI a Arduino pin 11
- MISO a Arduino pin 12
- Eje del joystick X al pin A0 de Arduino
- Eje del joystick Y al pin A1 de Arduini
- Joystick Vcc y GND
Aquí quiero enviar los ejes x e y del joystick con el módulo. Aquí están las conexiones del circuito del receptor:
- GND
- VCC 3.3V
- CE a Arduino pin 9
- CSN a Arduino pin 10
- SCK a Arduino pin 13
- MOSI a Arduino pin 11
- MISO a Arduino pin 12
- LED a Arduino pin 3.
Este LED ayuda a controlar. En realidad, quiero controlar mi auto con un joystick como un auto con control remoto. Aquí está el código del transmisor:
#include "SPI.h"
#include "nRF24L01.h"
#include "RF24.h"
#define VRx A0
#define VRy A1
int VRxPos = 90;
int VRyPos = 90;
int msg[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup()
{
radio.begin();
radio.openWritingPipe(pipe);
}
void loop()
{
VRxPos = analogRead(VRx);
VRxPos = map(VRxPos, 0, 1023, 0, 180);
VRyPos = analogRead(VRy);
VRyPos = map(VRyPos, 0, 1023, 0, 180);
if((VRxPos==88) && (VRyPos==85))
{
msg[0] = 111;
radio.write(msg, 1);
} else {
msg[0] = 112;
radio.write(msg, 1);
}
}
Aquí está el código del receptor:
#include "SPI.h"
#include "nRF24L01.h"
#include "RF24.h"
int msg[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int LEDpin = 3;
void setup()
{
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
pinMode(LEDpin, OUTPUT);
}
void loop()
{
if (radio.available())
{
bool done = false;
while (!done)
{
done = radio.read(msg, 1);
if (msg[0] == 111)
{
delay(10);
digitalWrite(LEDpin, HIGH);
} else {
digitalWrite(LEDpin, LOW);
}
delay(10);
}
}
}
No está funcionando. El LED no se enciende. ¿Qué puedo hacer para resolver este problema?
¿Es const uint64_t pipe = 0xE8E8F0F0E1LL;
incorrecto? Vi algunos números diferentes para esta ecuación. ¿Qué es esta lógica?