esp 32dev_mac — ESP32 simulation

An interactive ESP32 circuit simulation you can run free in your browser on Velxio, by usaamaamf4925.

Components

Sketch code

#include <HardwareSerial.h>

HardwareSerial fromN1(1);
HardwareSerial toN4(2);

#define FAIL_BTN 4
#define REPAIR_BTN 5

bool failed = false;

void setup() {

  Serial.begin(115200);

  pinMode(FAIL_BTN, INPUT_PULLUP);
  pinMode(REPAIR_BTN, INPUT_PULLUP);

  fromN1.begin(115200, SERIAL_8N1, 16, 17);
  toN4.begin(115200, SERIAL_8N1, 19, 18);

  Serial.println("NODE2 READY");
}

void loop() {

  if (!digitalRead(FAIL_BTN)) {

    failed = true;

    Serial.println("================================");
    Serial.println("FAILURE BUTTON PRESSED");
    Serial.println("NODE2 FAILED");
    Serial.println("PRIMARY ROUTE LOST");
    Serial.println("================================");

    fromN1.println("FAIL:N2");
    toN4.println("FAIL:N2");

    delay(600);
  }

  if (!digitalRead(REPAIR_BTN)) {

    failed = false;

    Serial.println("================================");
    Serial.println("REPAIR BUTTON PRESSED");
    Serial.println("NODE2 REPAIRED");
    Serial.println("PRIMARY ROUTE RESTORED");
    Serial.println("================================");

    fromN1.println("REPAIR:N2");
    toN4.println("REPAIR:N2");

    delay(600);
  }

  if (!failed && fromN1.available()) {

    String msg = fromN1.readStringUntil('\n');
    msg.trim();

    Serial.print("FROM NODE1: ");
    Serial.println(msg);
    
    toN4.println(msg);
  }
}

More projects by usaamaamf4925