Update 19.05.2019 Bitte beachtet, der Beitrag ist schon etwas älter. Ich habe mehrere Sensoren getestet: CO2 – Sensor , Feinstaub-Sensor, BME 680 Sensor für LuftQualität , Multichannel Gas Sensor Methan Propan NO2 – MiCS-6814
Ich habe vor kurzen einige MQ-7 Sensoren für meine Testumgebung bestellt. Hiermit wollte ich ein separates Modul bauen, welcher Kohlenmonoxid CO auf einem Display anzeigt. Das Modul ist derzeitig noch nicht an meine Hausautomation Fhem angeschlossen, weil ich das Modul erst mal mobil einsetzen möchte.
Folgende Zutaten / Hardware benötigt man, hier Auswahl von Amazon.de:
- Arduino Nano Mini Nano v3. 0
Auto Amazon Links: Keine Produkte gefunden. http_request_failed: Es wurde keine gültige URL übermittelt. URL: https://ws-eu.amazon-adsystem.com/widgets/q?SearchIndex=All&multipageStart=0&multipageCount=20&Operation=GetResults&Keywords=B07GDL17XK&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_6f446769db434d1363be8696af33ac60
- LCD-Display ()
Auto Amazon Links: Keine Produkte gefunden. http_request_failed: Es wurde keine gültige URL übermittelt. URL: https://ws-eu.amazon-adsystem.com/widgets/q?SearchIndex=All&multipageStart=0&multipageCount=20&Operation=GetResults&Keywords=B01N3B8JMN&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_7e1b21d0a318719a0370206316a7c839
- MQ-7 Arduino Modul
Auto Amazon Links: Keine Produkte gefunden. http_request_failed: Es wurde keine gültige URL übermittelt. URL: https://ws-eu.amazon-adsystem.com/widgets/q?SearchIndex=All&multipageStart=0&multipageCount=20&Operation=GetResults&Keywords=B01MS2NJU9&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_8c9a5df4853015c7b4b7ad9ba5311b1f
- Ein Breadboard mit Kabel ()
Auto Amazon Links: Keine Produkte gefunden. http_request_failed: Es wurde keine gültige URL übermittelt. URL: https://ws-eu.amazon-adsystem.com/widgets/q?SearchIndex=All&multipageStart=0&multipageCount=20&Operation=GetResults&Keywords=B01FMKZPHK&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_6acf7efc22baed46e4aaa23a4a8a769b
ggf. externe Spannungsversorgung, hier mein RAVPower-Powerpack (-> Blog-Beitrag)
Für die Software habe ich mir ein paar Snippets von dem MySensor Modul „Air-Quality Sensor“ geklaut und die MySensor Programmzeilen herausgeworfen. Zusätzlich habe ich dann die Library für das LCD-Display und die Status-Infos hinzugefügt. Wie gesagt, 90% des Programm-Codes woanders her geklaut, kein Hexenwerk.
Beim Einschalten des Rauchsensor, erscheint erst mal auf dem LCD-Display 30s lang „Kalibrierung“. Hier wird die interne Heizung des MQ-7 Moduls gestartet. Anschließend ist es sofort einsatzbereit.
Programm-Code: mq-7-Arduino-LCD-Programm-Code
Wichtig: Bei der Beschaltung des LCD-Displays bitte die Beschaltung der richtigen Pins vornehmen: D4,D5,D6,D7,D8,D9, Versorgungsspannung 5V, siehe Programm-Code
Fazit: Das Modul könnt ihr mobil einsetzen, um zu schauen, ob alles ok ist.
An dem Blog-Beitrag wird noch gearbeitet, möglicherweise baue ich doch bald wieder das drahtlose MySensors-Modul mit rein.
Update 06.09.2015 : Hier eine kleiner Demo-Aufbau mit dem Gas-Sensor MQ-2
Mit dem MQ-2 Sensor könnt ihr Gase vom Typ: LPG, i-Butan, Propan, Methan, Alkohol, Wasserstoff und Rauch aufspüren. An dem Analogen Ausgang A0 wird der Sensor angeschlossen. Der Sensor benötigt als Betriebsspannung 5V. Die Empfindlichkeit des Sensors stellt ihr an einem Drehpoti auf der Rückseite des Sensors ein.
Als Ergebnis bekommt ihr eine Zahl. In dem Sketch wird laufend der tiefste, höchste und aktuelle Wert gemessen. Das Datenblatt zum MQ-2-Sensor findet ihr hier.
Ihr benötigt die gleichen Bauteile (siehe oben), jedoch anstatt den MQ-7 Sensor den MQ-2 Sensor, den ihr hier bekommt:
Auto Amazon Links: Keine Produkte gefunden. http_request_failed: Es wurde keine gültige URL übermittelt. URL: https://ws-eu.amazon-adsystem.com/widgets/q?SearchIndex=All&multipageStart=0&multipageCount=20&Operation=GetResults&Keywords=B00NJOIB50&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_fc857f6268d0d046fd52d317ecd02d35
Ich habe hier auch noch einige in meiner Testumgebung, einfach fragen.
Wer mal alle Sensoren durchtesten möchte: Bei amazon.de gibt es ein Set von vielen Sensoren -> MQ-Serie- 9er Set Sensoren
Update 21.10.2015: Ich habe den MQ-2 Sensor mehrere Tage mit dem Luftqualitäts-Sensor verglichen und einen Blog-Beitrag darüber geschrieben. Das Ergebnis findet ihr hier.
/* Sample Arduino for MQ2 Smoke Sensor Shield
05/03/2011
**********************************************/
// erweitert für das LCD-Display von Robins-blog.de
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
#include //Sample using LiquidCrystal library
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // select the pins used on the LCD panel
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
int count,count1;
int low=300;
int high=10;
void setup()
{
// initialize serial communications at 9600 bps:
Serial.begin(9600);
//pinMode(7, OUTPUT);
lcd.begin(16, 2); // start the LCD library
lcd.setCursor(0,0); // set cursor position at start
lcd.print(„Kalibrierung …“);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(„MQ-2: LPG,Methan,Alcohol:“);
lcd.setCursor(0,1);
lcd.print(„Propan, Butan – Sensor“);
delay (2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(„Low: 30 High:50“);
lcd.setCursor(0,1);
lcd.print(„Val: „);
}
void loop()
{
count1++;
// read the analog in value:
sensorValue = analogRead(analogInPin);
if(count1==30)
{
count1=0;
// print the results to the serial monitor:
//Serial.print(„sensor = “ );
//Serial.print(sensorValue);
Serial.print(„\t output = „);
Serial.println(sensorValue);
lcd.setCursor(6,1);
lcd.print(“ „);
lcd.setCursor(6,1);
lcd.print(sensorValue);
// get lowest Value
if(low > sensorValue)
{
lcd.setCursor(5,0);
lcd.print(“ „);
lcd.setCursor(5,0);
lcd.print(sensorValue);
low=sensorValue;
}
// get highest value
if(high < sensorValue)
{
lcd.setCursor(13,0);
lcd.print(“ „);
lcd.setCursor(13,0);
lcd.print(sensorValue);
high=sensorValue;
}
}
delay(100);
}
Und wie immer: Bei Fragen, fragen und wer das ein oder andere Bauteil benötigt kurz anfragen.
Hallo,
ich bin hier nicht der absolute Spezialist.
Ich suche eine Bauanleitung / Schaltplan für ein CO – Messgerät, bei dem
ich eine Anzeige und eine Aufzeichnungsfunktion habe. Kann mir da jemand helfen?
Hallo,
kann man eigentlich mehrere MQ Sensoren (z.B. MQ-2, MQ-7, MQ-135) an EINEN nano anschließen und dann die Werte entsprechend darstellen ?
Hast du schon eine FHEM Integration z.B. über dne mysensors LAN gateway umgesetzt ?
Grüße
Jörg
Hallo
was ist wenn man noch dazu ein Alarm bauen will ? Als Ausgabe
Vielen Dank in voraus.
Hallo Matthias,
bei meinem MQ-2 kommt am A0 eine Zahl raus. Ich habe das Modul nur so lala kalibriert.
Ich habe das MQ-2 Modul mal mit dem Luftqualitäts-Sensor von Conrad verglichen, und es kamen annähernd die gleichen Werte raus. Darüber werde ich später noch einen separaten Blog-Beitrag schreiben.
Wer also bspw. bei einem bestimmten Wert das Fenster öffnen oder schließen möchte, liegt mit dem Sensor genau richtig.
LG
/robin
Interessante Links:
http://davidegironi.blogspot.fr/2014/01/cheap-co2-meter-using-mq135-sensor-with.html
http://forum.mysensors.org/topic/147/air-quality-sensor/90 und https://github.com/empierre/arduino/blob/master/AirQuality-Multiple_Gas_Sensor1_4.ino
Gruss
Ich muss leider ganz blöd nachfragen… ist dein Sketch nicht falsch? 🙂
Zur Berechnung der Werte benötigt der Sketch, die für jeden Sensor charakteristischen Werte Werte aus dem Datasheet.
D.h. die Werte: RO_CLEAN_AIR_FACTOR, LPGCurve[3], COCurve[3] und SmokeCurve[3] sind bei jedem Sensor anders?
Bzw. mit dem MQ-7 Sensor kann man laut Datasheet (https://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-7.pdf) eigentlich auch nur nur H2 und CO vernünftig messen, da dies die einzigsten Kurven sind?
Ich bin sowieso etwas verwirrt, wie man mit einem Sensor mehrere „Gase“ messen kann.
Dein Sketch oben stimmt wohl für einen MQ-2 durchaus, man könnte ihn sogar erweitern und mit einem MQ-2 (http://sandboxelectronics.com/files/SEN-000004/MQ-2.pdf) H2, LPG, CH4, CO, Alcohol, Smoke und Propane messen.
Wobei ich mich immer noch frage, wie ein Sensor auf so viele unterschiedliche Stoffe reagieren kann…
oder irre ich komplett?
In dem Fall arbeitest du nicht mit dem originalen Gas-MySensors-Sketch: http://www.mysensors.org/build/gas
Der ist eigentlich auch aus deiner Quelle erstellt worden, lediglich um die MySensors-Zusätze erweitert worden.
In dem Fall einfach probeweise MyMessage msg(CHILD_ID_MQ, V_LEVEL); mit MyMessage msg( CHILD_ID_LIGHT, S_LIGHT_LEVEL); ersetzen 🙂
V_LEVEL scheint im FHEM-Modul scheinbar (noch) nicht integriert zu sein.
Ich habe den Sketch vom Lux-Sensor und dann die Brightness-Variable als Wert für den Sensor genommen.
LG
/robin
Hallo Robin,
mit dem originalen FHEM-Modul oder hast du es anpassen müssen?
Gruss
Hallo Matthias,
klappt bei mir auch schon mit Fhem UND mit LC-Display. Vielleicht mache ich heute ein Youtube-Video fertig und zeige Euch das wie es geht. Es war etwas frickelig, LCD UND NRF unter einem Hut zu bringen, wegen den begrenzten Ports vom Arduino-Nano.
LG
/robin
Der Sensor ist mittlerweile angekommen und auch schon zusammengebaut (ohne Display) dafür mit MySensors. Leider versteht das FHEM-Modul derzeit die neuen Variablen noch nicht…
Hallo Robin, ja hätte Interesse, schreibst du es mir per Mail? Eventuell hätte ich sogar auch noch gerne ein Display… 😀
Hallo Matthias,
ja das war die Basis für den Sketch, wie ich beschrieben habe.
Ich wollte aber auch „offline“ messen können, bzw. das man das Gerät mobil einsetzen kann. Deshalb habe ich das LCD-Display da angeschlossen.
LG
/robin
Hallo Matthias,
wenn du noch einen haben willst, ich habe noch welche da, Typ MQ7. Und richtig, es gibt verschiedene Gassensor-Typen.
LG
/robin
„Notify me of followup comments via e-mail“
PS: Natürlich dann aber auf MySensor Basis 🙂
Sehr gut 🙂
Ich wollte mir schon lange einen Gassensor bauen, nur war/bin ich mir immer noch nicht ganz sicher, wie gut die Sensoren arbeiten und welchen Sensor ich für welches Gas benötige.
Manche Sensoren scheinen ja unterschiedliche Gase zu erkennen.
Gruss
Hallo Thomas,
danke, ist korrigiert!
LG
/robin
Hallo,
kleiner Vertipper am Anfang: CO2 sollte durch CO ersetzt werden.
Hallo Sven,
danke, ich habe es korrigiert.
LG
/robin
Ich glaube der erste Link ist falsch verlinkt. Der zeigt auf den Ultraschallsensor