Gas Überwachung Raum mehrer Sensoren

Hallo ich bin neu hier und habe keine Vorkenntnisse mit Arduino oder ähnlichem. Jedoch würde ich gerne mit dem Arduino eine Raumluft Überwachung installieren wobei drei Gas Sensoren MQ9 an ein Arduino Uno angeschlossen werden. Diese sollen einen Messwert liefern der auch gespeichert werden soll, das aber erst Später.

Aufbau:
1Arduino Uno
3
Grove MQ 9 Gas Sensor
1Groove Base Shield
3
Grove LED Bar

Spätere Version soll zudem ein SD Card Shield enthalten. Dazu steht SD Card Shield v 4.3 von Seeed Studio zur Verfügung.

Die Idee ist die drei Sensoren in einem Raum an verschiedenen höhen zu platzieren. Decke, Mitte, Boden und so eine Raumüberwachung in mehreren Zonen zu erreichen. Ich weiß diese Sensoren sind ungenau und nicht zur "Gas Überwachung" geeignet bzw. wenn leib und Leben davon abhängt greift man zu Markenprodukten bspw. von Dräger oder anderen. Hierbei Handelt es sich allerdings um ein Schauobjekt/Model für die Feuerwehr und mich interessiert aus diesem Grund welche unterschiedlichen Konzentrationen/Trends sich in den verschiedenen Höhen einstellen werden.

Nun endlich zu meinem "Problem" wie eingangs erwähnt habe ich noch nicht viel Wissen zum Thema arduino erlangt, speziell im Programmieren. Was ich bis jetzt hinbekommen habe war mittels Code von der Hersteller Seite eine "Kalibrierung" der Gas Sensoren 1-3 vorzunehmen und so einen Messwert abzufragen. Dieser ist bei allen drei auch recht ähnlich was mich positiv stimmt.

Dazu konnte ich jedoch immer nur einen Sensor Kalibrieren und dann Messen lassen bzw. mir nur von einem Sensor zur Zeit einen Messwert RS/R0 ausgeben lassen. Wie muss ich es also im Code einstellen das mir alle Sensoren gleichzeitig Werte liefern im Seriellen Monitor.

Folgend ist der Code von der Hersteller Seite mit dem ich in diesem Fall den Sensor am Steckplatz "A2" auslesen kann:

void setup() {
Serial.begin(9600);
}

void loop() {

float sensor_volt;
float RS_gas; // Get value of RS in a GAS
float ratio; // Get ratio RS_GAS/RS_air
int sensorValue = analogRead(A2);
sensor_volt=(float)sensorValue/1024*5.0;
RS_gas = (5.0-sensor_volt)/sensor_volt; // omit *RL

/-Replace the name "R0" with the value of R0 in the demo of First Test -/
ratio = RS_gas/34; // ratio = RS/R0
/-----------------------------------------------------------------------/

Serial.print("sensor_volt = ");
Serial.println(sensor_volt);
Serial.print("RS_ratio = ");
Serial.println(RS_gas);
Serial.print("Rs/R0 = ");
Serial.println(ratio);

Serial.print("\n\n");

delay(1000);

}

Soweit so gut jetzt müsste ich ja dazu definieren, dass es sich bei A2 um Sensor Nr. 3 Handelt und eine entsprechende Ausgabe im Format wie Bsp.:

Sensor 3 (A2)
RS/R0:

Sensor 2 (A1)
RS/R0:

Sensor 1 (A0)
RS/R0

erreichen können. Fällt euch dazu eine Lösung ein?

Als zweiten Schritt würde ich gerne die LED Bars einfügen und mit im Verhältnis der Konzentration am jeweiligen Sensor verknüpfen und entsprechend Stark leuchten lassen.
LED Bar hat 10 Balken und Sensor kann 100-1000ppm messen also anzeige auch in der Abstufung (c.a. Reicht da keine Funktion bei (RS/R0)/ppm Diagramm gegeben ist. Dazu habe ich mich bis jetzt allerdings noch garnicht belesen da erstmal das Messproblem gelöst werden muss.

Zudem soll bei Messbereichsüberschreitung also über 1000ppm (1 Vol%) ein Warnton ertönen erzeugt durch einen Pieper (Grove Buzzer). Das müsste man Grundsätzlich über eine if abfrage lösen können oder? Also if Wert von Sensor 1 oder 2 oder 3 erreicht dann Buzzer auslösen.

Ich habe mal alles hier rein geschrieben was ich mir bis jetzt überlegt habe auch wenn es für euch vielleicht trivial erscheinen wird würde ich mich über eine konstruktive Antwort freuen.

mit freundlichem Gruß =)

Finde die Unterschiede:

void GasSensor(byte pin) {

    float sensor_volt;
    float RS_gas; // Get value of RS in a GAS
    float ratio; // Get ratio RS_GAS/RS_air
    int sensorValue = analogRead(pin);
    sensor_volt=(float)sensorValue/1024*5.0;
    RS_gas = (5.0-sensor_volt)/sensor_volt; // omit *RL

          /*-Replace the name "R0" with the value of R0 in the demo of First Test -*/
    ratio = RS_gas/34;  // ratio = RS/R0
          /*-----------------------------------------------------------------------*/
     
    Serial.print("sensor_"); Serial.println((int)pin);     
    Serial.print("sensor_volt = ");
    Serial.println(sensor_volt);
    Serial.print("RS_ratio = ");
    Serial.println(RS_gas);
    Serial.print("Rs/R0 = ");
    Serial.println(ratio);

    Serial.print("\n\n");
}

dazu passt

void loop() {
  GasSensor(A2);
  GasSensor(A1);
  GasSensor(A0);
  delay(1000);
}

War doch nicht so schwer, oder?

Mit unterschiedlichen Kalibrierungswerten musst du jetzt noch was machen.
Viel Spass!