#include <esp_now.h>
#include <WiFi.h>
uint8_t receiverMAC[] = {0xB0,0xCB,0xD8,0xCF,0xBB,0x8C};
struct DataPacket{
int j1x;
int j1y;
int j2x;
int j2y;
bool b1;
bool b2;
bool b3;
bool b4;
};
DataPacket data;
#define J1X 34
#define J1Y 35
#define J2X 32
#define J2Y 33
#define B1 13
#define B2 12
#define B3 14
#define B4 27
void setup(){
Serial.begin(115200);
pinMode(B1, INPUT_PULLUP);
pinMode(B2, INPUT_PULLUP);
pinMode(B3, INPUT_PULLUP);
pinMode(B4, INPUT_PULLUP);
WiFi.mode(WIFI_STA);
if (esp_now_init() != ESP_OK) {
Serial.println("ESP NOW Init Failed");
return;
}
esp_now_peer_info_t peerInfo;
memcpy(peerInfo.peer_addr, receiverMAC, 6);
peerInfo.channel = 0;
peerInfo.encrypt = false;
esp_now_add_peer(&peerInfo);
}
void loop(){
data.j1x = analogRead(J1X);
data.j1y = analogRead(J1Y);
data.j2x = analogRead(J2X);
data.j2y = analogRead(J2Y);
data.b1 = !digitalRead(B1);
data.b2 = !digitalRead(B2);
data.b3 = !digitalRead(B3);
data.b4 = !digitalRead(B4);
esp_now_send(receiverMAC, (uint8_t *)&data, sizeof(data));
Serial.print("J1X: ");
Serial.print(data.j1x);
Serial.print(" J1Y: ");
Serial.print(data.j1y);
Serial.print(" J2X: ");
Serial.print(data.j2x);
Serial.print(" J2Y: ");
Serial.print(data.j2y);
Serial.print(" B1: ");
Serial.print(data.b1);
Serial.print(" B2: ");
Serial.print(data.b2);
Serial.print(" B3: ");
Serial.print(data.b3);
Serial.print(" B4: ");
Serial.println(data.b4);
delay(100);
}