• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
nrf24l01 - nadajnik i odbiornik
#1
Witam
Chcialbym zrobic prosty nadajnik i odbiornik na dwoch nrf24l01.
Mam podlaczone dwa Joye oraz dwa buttony, niby wszystko dziala poza malym ale...
Po wybraniu jakiejkowiek opcji, mam diode led na odbiorniku podlaczona na test,
lecz nie swieci sie ciag,ym swiatlem lecz mruga...moze ktos pomoc.

Nadajnik:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#define CE_PIN  7
#define CSN_PIN 8
#define Lx_axis A1 
#define Ly_axis A0 
#define Px_axis A3 
#define Py_axis A2 
#define button1 2
#define button2 3

int sensorValueLX = 0;
int sensorValueLY = 0;
int sensorValuePX = 0;
int sensorValuePY = 0;

const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(CE_PIN, CSN_PIN);
int data[6]; 

void setup()
{
  Serial.begin(115200);
  radio.begin();
  radio.setPALevel(RF24_PA_HIGH);
  radio.openWritingPipe(pipe);
  pinMode(button1, INPUT_PULLUP);
  pinMode(button2, INPUT_PULLUP);
}

void loop() 
{
sensorValueLX = analogRead(Lx_axis); 
sensorValueLY = analogRead(Ly_axis);
sensorValuePX = analogRead(Px_axis); 
sensorValuePY = analogRead(Py_axis);

if (sensorValueLX < 100)
{
sensorValueLX = 1; 
}
if (sensorValueLX > 900)
{
sensorValueLX = 2; 
}

if (sensorValuePX < 100)
{
sensorValuePX = 1; 
}
if (sensorValuePX > 900)
{
sensorValuePX = 2; 
}

if (sensorValueLY < 100)
{
sensorValueLY = 1; 
}
if (sensorValueLY > 900)
{
sensorValueLY = 2; 
}

if (sensorValuePY < 100)
{
sensorValuePY = 1; 
}
if (sensorValuePY > 900)
{
sensorValuePY = 2; 
}
 
  delay(5);
  data[0] = sensorValueLX;
  data[1] = sensorValueLY;
  data[2] = sensorValuePX;
  data[3] = sensorValuePY;
  data[4] = digitalRead(button1);
  data[5] = digitalRead(button2);
  radio.write( data, sizeof(data) );
}



Odbiornik:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8); // CE, CSN
const uint64_t pipe = 0xE8E8F0F0E1LL;
int data[6];

void setup() {
  Serial.begin(115200);
  pinMode(4, OUTPUT);
  digitalWrite(4, LOW);
  radio.begin();
  radio.openReadingPipe(1, pipe);
  radio.setPALevel(RF24_PA_HIGH);
  radio.startListening();
}
void loop()
{
  delay(5);
  radio.read( data, sizeof(data));
  /*
  Serial.print(data[0]);    // Lewy L i P
  Serial.print("  ");
  Serial.print(data[1]);    // Lewy G i D
  Serial.print("  ");
  Serial.print(data[2]);    // Prawy L i P
  Serial.print("  ");
  Serial.print(data[3]);    // Prawy G i D
  Serial.print("  ");
  Serial.print(data[4]);    // Button 2
  Serial.print("  ");
  Serial.println(data[5]);  // Button 3
  */
  if (data[4] == 1) {
      digitalWrite(4, HIGH);
  } else {
      digitalWrite(4, LOW);
  }
  }
 
Odpowiedź
  


Wiadomości w tym wątku
nrf24l01 - nadajnik i odbiornik - przez fusilis - 07-11-2021, 16:30
RE: nrf24l01 - nadajnik i odbiornik - przez kaczakat - 07-11-2021, 23:28

Skocz do:


Przeglądający: 1 gości