R

 #include <esp_now.h>

#include <WiFi.h>

#include <ESP32Servo.h>


struct DataPacket{

  int j1x;

  int j1y;

  int j2x;

  int j2y;


  bool b1;

  bool b2;

  bool b3;

  bool b4;

};


DataPacket data;


Servo servo1;

Servo servo2;

Servo servo3;

Servo servo4;


#define LED1 23

#define LED2 22

#define LED3 21

#define LED4 19


void OnDataRecv(const esp_now_recv_info *info, const uint8_t *incomingData, int len){


  memcpy(&data, incomingData, sizeof(data));


  int s1 = map(data.j1x,0,4095,0,180);

  int s2 = map(data.j1y,0,4095,0,180);

  int s3 = map(data.j2x,0,4095,0,180);

  int s4 = map(data.j2y,0,4095,0,180);


  servo1.write(s1);

  servo2.write(s2);

  servo3.write(s3);

  servo4.write(s4);


  digitalWrite(LED1,data.b1);

  digitalWrite(LED2,data.b2);

  digitalWrite(LED3,data.b3);

  digitalWrite(LED4,data.b4);


  Serial.print("Servo1: ");

  Serial.print(s1);


  Serial.print(" Servo2: ");

  Serial.print(s2);


  Serial.print(" Servo3: ");

  Serial.print(s3);


  Serial.print(" Servo4: ");

  Serial.println(s4);

}


void setup(){


  Serial.begin(115200);


  pinMode(LED1,OUTPUT);

  pinMode(LED2,OUTPUT);

  pinMode(LED3,OUTPUT);

  pinMode(LED4,OUTPUT);


  servo1.attach(18);

  servo2.attach(5);

  servo3.attach(17);

  servo4.attach(16);


  WiFi.mode(WIFI_STA);


  if (esp_now_init() != ESP_OK) {

    Serial.println("ESP NOW Init Failed");

    return;

  }


  esp_now_register_recv_cb(OnDataRecv);

}


void loop(){}

Post a Comment

Previous Post Next Post

Contact Form