updated code to send all data

This commit is contained in:
2025-04-07 11:29:34 +02:00
parent e48daca357
commit 4ee9a76291

View File

@@ -7,6 +7,7 @@ int normalizePot(int pin, int minValue);
int mapPot(int normalizedValue); int mapPot(int normalizedValue);
int analogReadMultiPlexer(int addressA, int addressB, int addressC, int addressD, int pin); int analogReadMultiPlexer(int addressA, int addressB, int addressC, int addressD, int pin);
void espNow(); void espNow();
void readAllMultiPlexer();
const int MAXPWMVALUE = 1000; const int MAXPWMVALUE = 1000;
const int MINPWMVALUE = 2000; const int MINPWMVALUE = 2000;
@@ -20,7 +21,7 @@ typedef struct struct_message
int PWMCH3; int PWMCH3;
int PWMCH4; int PWMCH4;
} struct_message; } struct_message;
struct_message myData; // declare the struct as myData struct_message JoystickData; // declare the struct as JoystickData
esp_now_peer_info_t peerInfo; // create a class object of the ESPNow class esp_now_peer_info_t peerInfo; // create a class object of the ESPNow class
@@ -35,23 +36,19 @@ void setup()
pinMode(D8, OUTPUT); pinMode(D8, OUTPUT);
pinMode(D9, OUTPUT); pinMode(D9, OUTPUT);
pinMode(D0, INPUT); pinMode(D0, INPUT);
} }
void loop() void loop()
{ {
Serial.print("X:" + String(myData.PWMCH2)); readAllMultiPlexer();
Serial.println(" Y:" + String(myData.PWMCH1));
// Set values to send // Set values to send
myData.PWMCH1 = mapPot(analogReadMultiPlexer(0, 0, 0, 0, A0)); JoystickData.PWMCH1 = mapPot(analogReadMultiPlexer(0, 0, 0, 0, A0)); //Right joystick Y
myData.PWMCH2 = mapPot(analogReadMultiPlexer(1, 0, 0, 0, A0)); // test values JoystickData.PWMCH2 = mapPot(analogReadMultiPlexer(1, 0, 0, 0, A0)); // Right joystick X
myData.PWMCH3 = 1000; JoystickData.PWMCH3 = mapPot(analogReadMultiPlexer(0, 0, 0, 1, A0)); // left joystick Y
myData.PWMCH4 = 1000; JoystickData.PWMCH4 = mapPot(analogReadMultiPlexer(1, 0, 0, 1, A0)); // left joystick X
// Send message via ESP-NOW // Send message via ESP-NOW
esp_err_t result = esp_now_send(broadcastAddress, (uint8_t *)&myData, sizeof(myData)); esp_err_t result = esp_now_send(broadcastAddress, (uint8_t *)&JoystickData, sizeof(JoystickData));
if (result == ESP_OK) if (result == ESP_OK)
{ {
// Serial.println("Sent with success"); // Serial.println("Sent with success");
@@ -60,7 +57,7 @@ void loop()
{ {
// Serial.println("Error sending the data"); // Serial.println("Error sending the data");
} }
delay(10); //delay to avoid hammering the radio and to save power/heat delay(10); // delay to avoid hammering the radio and to save power/heat
} }
int mapPot(int normalizedValue) int mapPot(int normalizedValue)
@@ -92,7 +89,8 @@ int analogReadMultiPlexer(int addressA, int addressB, int addressC, int addressD
return analogRead(pin); return analogRead(pin);
} }
void espNow(){ // Set device as a Wi-Fi Station void espNow()
{ // Set device as a Wi-Fi Station
WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
// Init ESP-NOW // Init ESP-NOW
if (esp_now_init() != ESP_OK) if (esp_now_init() != ESP_OK)
@@ -109,4 +107,42 @@ void espNow(){ // Set device as a Wi-Fi Station
{ {
Serial.println("Failed to add peer"); Serial.println("Failed to add peer");
return; return;
}} }
}
void readAllMultiPlexer()
{
// we counting in binary
Serial.print("0,0,0,0: ");
Serial.println(analogReadMultiPlexer(0, 0, 0, 0, A0));
Serial.print("1,0,0,0: ");
Serial.println(analogReadMultiPlexer(1, 0, 0, 0, A0));
Serial.print("0,1,0,0: ");
Serial.println(analogReadMultiPlexer(0, 1, 0, 0, A0));
Serial.print("1,1,0,0: ");
Serial.println(analogReadMultiPlexer(1, 1, 0, 0, A0));
Serial.print("0,0,1,0: ");
Serial.println(analogReadMultiPlexer(0, 0, 1, 0, A0));
Serial.print("1,0,1,0: ");
Serial.println(analogReadMultiPlexer(1, 0, 1, 0, A0));
Serial.print("0,1,1,0: ");
Serial.println(analogReadMultiPlexer(0, 1, 1, 0, A0));
Serial.print("1,1,1,0: ");
Serial.println(analogReadMultiPlexer(1, 1, 1, 0, A0));
Serial.print("0,0,0,1: ");
Serial.println(analogReadMultiPlexer(0, 0, 0, 1, A0));
Serial.print("1,0,0,1: ");
Serial.println(analogReadMultiPlexer(1, 0, 0, 1, A0));
Serial.print("0,1,0,1: ");
Serial.println(analogReadMultiPlexer(0, 1, 0, 1, A0));
Serial.print("1,1,0,1: ");
Serial.println(analogReadMultiPlexer(1, 1, 0, 1, A0));
Serial.print("0,0,1,1: ");
Serial.println(analogReadMultiPlexer(0, 0, 1, 1, A0));
Serial.print("1,0,1,1: ");
Serial.println(analogReadMultiPlexer(1, 0, 1, 1, A0));
Serial.print("0,1,1,1: ");
Serial.println(analogReadMultiPlexer(0, 1, 1, 1, A0));
Serial.print("1,1,1,1: ");
Serial.println(analogReadMultiPlexer(1, 1, 1, 1, A0));
}