mask (copy_0) — Arduino Mega simulation

An interactive Arduino Mega circuit simulation you can run free in your browser on Velxio, by 2023beec071.

Components

Sketch code

/*
   =========================================================
            MASTER NODE - ARDUINO MEGA 2560
   =========================================================

   Slave 1 -> Fall Detection
              Serial1
              RX1 = 19
              TX1 = 18

   Slave 2 -> Smart Mask / Gas
              Serial2
              RX2 = 17
              TX2 = 16

   Slave 3 -> Heart Rate / SpO2
              Serial3
              RX3 = 15
              TX3 = 14

   =========================================================
*/

#define FALL_TIMEOUT 3000
#define MASK_TIMEOUT 3000
#define HEART_TIMEOUT 3000

// ---------------------------------------------------------
// Slave 1 - Fall Detection
// ---------------------------------------------------------

int fallDetected = 0;
unsigned long lastFallData = 0;

// ---------------------------------------------------------
// Slave 2 - Smart Mask
// ---------------------------------------------------------

String gasStatus = "UNKNOWN";
String fanStatus = "UNKNOWN";
String valveStatus = "UNKNOWN";

unsigned long lastMaskData = 0;

// ---------------------------------------------------------
// Slave 3 - Heart / SpO2
// ---------------------------------------------------------

int heartRate = 0;
int spo2 = 0;

unsigned long lastHeartData = 0;

// ---------------------------------------------------------
// Temporary serial buffers
// ---------------------------------------------------------

String fallBuffer = "";
String maskBuffer = "";
String heartBuffer = "";


// =========================================================
// SETUP
// =========================================================

void setup()
{
    Serial.begin(115200);

    // Slave 1
    Serial1.begin(115200);

    // Slave 2
    Serial2.begin(115200);

    // Slave 3
    Serial3.begin(115200);

    Serial.println();
    Serial.println("========================================");
    Serial.println("       MASTER NODE - STARTING");
    Serial.println("========================================");

    Serial.println("Slave 1 : Fall Detection");
    Serial.println("Slave 2 : Smart Mask / Gas");
    Serial.println("Slave 3 : Heart Rate / SpO2");

    Serial.println();
    Serial.println("UART Communication Started");
    Serial.println("========================================");
}


// =========================================================
// LOOP
// =========================================================

void loop()
{
    readSlave1();
    readSlave2();
    readSlave3();

    checkTimeouts();

    displayStatus();

    delay(1000);
}


// =========================================================
// READ SLAVE 1
// =========================================================

void readSlave1()
{
    while (Serial1.available())
    {
        char c = Serial1.read();

        if (c == '\n')
        {
            processFallData(fallBuffer);
            fallBuffer = "";
        }
        else
        {
            fallBuffer += c;
      

More projects by 2023beec071