#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>

// Configuración del NRF24L01
RF24 radio(9, 10); // CE, CSN

const byte addresses[][6] = {"00001", "00002", "00003", "00004"};

Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;

void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(1, addresses[0]); // Canal 1
  radio.openReadingPipe(2, addresses[1]); // Canal 2
  radio.openReadingPipe(3, addresses[2]); // Canal 3
  radio.openReadingPipe(4, addresses[3]); // Canal 4
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();

  servo1.attach(3);
  servo2.attach(5);
  servo3.attach(6);
  servo4.attach(9);
}

void loop() {
  if (radio.available()) {
    int pos1, pos2, pos3, pos4;

    // Leer posición del servo 1 desde el Canal 1
    radio.read(&pos1, sizeof(pos1));
    servo1.write(pos1);
    Serial.print("Servo 1 posición: ");
    Serial.println(pos1);

    // Leer posición del servo 2 desde el Canal 2
    radio.read(&pos2, sizeof(pos2));
    servo2.write(pos2);
    Serial.print("Servo 2 posición: ");
    Serial.println(pos2);

    // Leer posición del servo 3 desde el Canal 3
    radio.read(&pos3, sizeof(pos3));
    servo3.write(pos3);
    Serial.print("Servo 3 posición: ");
    Serial.println(pos3);

    // Leer posición del servo 4 desde el Canal 4
    radio.read(&pos4, sizeof(pos4));
    servo4.write(pos4);
    Serial.print("Servo 4 posición: ");
    Serial.println(pos4);
  }

  delay(1000);
}
