MQ 5 ist für Propan Butan bzw LPG für Flüssiggas. Der Sensor reagiert auch auf Alkohol Kohlenmonoxyd Erdgas und Rauchgase, aber für diese
Gase gibt es andere Sensoren.gibt es andere.

Ganz einfach wie im Bild anschliessen. GND, +5V und A0. Wozu D0 ist hab ich noch nicht rausgefunden.
Die rote LED sollte leuchten , die grüne kann. Das Poti dient der Kalibrierung. Einfach soweit dehen bis die grüne LED erlischt, dann hat man den Schwellpunkt.
Mit einem Gasfeuerzeug ohne Flamme testen. Die Grüne LED sollte jetzt leuchten

In der seriellen Ausgabe des Arduino sieht man einen deutlichen Anstieg des Analogen Wertes.
Zur exakten Anzeige in PPM muss eine Referenzmessung mit einer bekannten Grösse gemacht werden.
Wie man das macht hab ich noch nicht raus. Man kann aber feststellen das etwas da ist und wenn was da ist dann ist was undicht. Das sollte reichen um diversere Leitungen und Schläuche auf Dichtigkeit zu prüfen.
Man könnte den Sketch etwas ändern und beim Anstieg des AD Wertes einen Buzzer piepen lassen. Prima Warnung für Wohnwagenbesitzer.

MQ5 Propan Lq5 Sensor am Arduino

Hier ein einfacher Sketch zum testen.

///Arduino Sample Code
void setup()
{
  Serial.begin(9600); //Set serial baud rate to 9600 bps
}
void loop()
{
int val;
val=analogRead(0);Read Gas value from analog 0
Serial.println(val,DEC);//Print the value to serial port
delay(100);
}
 

MQ7 CO Sensor

Das Breakout ist geauso aufgebaut wie das für den MQ5 lediglich der Sensor ist speziel für das gefährliche Kohlelnmonoxyd ausgelegt.

Der Sketch ähnelt dem des MQ5 wertet aber den Digitalwert mit aus, der bei Schwellwert auf  High wechselt.

/* MQ-7 Carbon Monoxide Sensor Circuit with Arduino */

const int AOUTpin=0;//the AOUT pin of the CO sensor goes into analog pin A0 of the arduino
const int DOUTpin=8;//the DOUT pin of the CO sensor goes into digital pin D8 of the arduino
const int ledPin=13;//the anode of the LED connects to digital pin D13 of the arduino

int limit;
int value;

void setup() {
Serial.begin(9600);//sets the baud rate
pinMode(DOUTpin, INPUT);//sets the pin as an input to the arduino
pinMode(ledPin, OUTPUT);//sets the pin as an output of the arduino
}

void loop()
{
value= analogRead(AOUTpin);//reads the analaog value from the CO sensor's AOUT pin
limit= digitalRead(DOUTpin);//reads the digital value from the CO sensor's DOUT pin
Serial.print("CO value: ");
Serial.println(value);//prints the CO value
Serial.print("Limit: ");
Serial.print(limit);//prints the limit reached as either LOW or HIGH (above or underneath)
delay(100);
if (limit == HIGH){
digitalWrite(ledPin, HIGH);//if limit has been reached, LED turns on as status indicator
}
else{
digitalWrite(ledPin, LOW);//if threshold not reached, LED remains off
}
}