👃 MQ-2 Røg- og Gassensor Modul
MQ-2 er din microcontrollers næse. Et lille varmelegeme varmer et tin-dioxid-element op, og når der kommer røg eller brandbare gasser (LPG, propan, brint, metan) i luften, falder elementets modstand – og spændingen på AO stiger.
Modulet har både en analog udgang til rigtige målinger og en digital udgang med justerbar tærskel. Og ja: den bliver varm. Det er meningen.
⚡ Hurtige specifikationer
| Parameter | Værdi |
|---|---|
| Sensor | MQ-2 (SnO₂ halvleder-gassensor) |
| Forsyning | 5,0 V ±0,2 V (varmelegemet kræver 5 V) |
| Varmelegeme | ca. 31 Ω → ca. 160 mA / op til ca. 800–900 mW |
| Detekterer | LPG, propan, brint (mest følsom), metan, røg og andre brandbare dampe |
| Koncentrationsområde | ca. 300–10.000 ppm (brandbar gas) |
| Udgange | AO: analog (højere = mere gas), DO: digital via LM393 med potentiometer |
| Indkøring | Første gang: lad den køre 24–48 timer. Ved hver opstart: et par minutters opvarmning |
📌 Pinout
| Pin | Navn | Funktion | Forbindes til |
|---|---|---|---|
| – | VCC | Forsyning 5 V | 5V |
| – | GND | Stel | GND |
| – | DO | Digital alarm-udgang (på de fleste moduler LOW ved gas) | D2 |
| – | AO | Analog udgang 0–5 V | A0 |
Rækkefølgen af DO og AO varierer mellem printversioner – læs silketrykket. På de fleste MQ-moduler er DO aktiv LOW (signal-LED'en lyser samtidig), men tjek dit eget modul ved at prøve med en lighter (uden flamme!).
🔌 Sådan forbinder du den
| MQ-2 | Arduino UNO / Nano | ESP32 (DevKit) |
|---|---|---|
| VCC | 5V | 5V / VIN |
| GND | GND | GND |
| AO | A0 | GPIO34 via spændingsdeler (AO kan nå 5 V) |
| DO | D2 | GPIO27 via spændingsdeler (DO er trukket op til 5 V) |
Brug fx 10 kΩ i serie og 20 kΩ til GND på hver signal-ledning til ESP32. Husk så at regne den analoge værdi tilbage i koden.
💻 Eksempelkode
Bibliotek: ingen
const int AO_PIN = A0;
const int DO_PIN = 2;
const int GRAENSE = 400; // find din egen værdi ved test
void setup() {
Serial.begin(9600);
pinMode(DO_PIN, INPUT);
Serial.println("MQ-2 varmer op (vent et par minutter)...");
}
void loop() {
int gas = analogRead(AO_PIN);
bool alarm = (digitalRead(DO_PIN) == LOW); // aktiv LOW på de fleste moduler
Serial.print("Gasniveau: ");
Serial.print(gas);
Serial.print(" DO-alarm: ");
Serial.println(alarm ? "JA" : "nej");
if (gas > GRAENSE) {
Serial.println("Hov! Der lugter af noget!");
}
delay(1000);
}
Rå-værdien er relativ – den afhænger af temperatur, fugt og den enkelte sensor. Find "ren luft"-niveauet i dit eget rum og sæt grænsen et stykke over.
💡 KompoNemt-tip fra værkstedet
- Den bliver varm: Varmelegemet trækker ca. 160 mA. Montér den, så den ikke rører plast eller ledninger, og forsyn den ikke fra en sløj USB-port med mange andre ting på.
- Strøm fra 5V-pinnen: Arduino-boardets 5V-pin klarer det fint fra USB, men ikke fra en lille 3,3 V-regulator.
- Indkør den: Nye sensorer driver meget de første døgn. Lad den stå tændt 24–48 timer, før du sætter din grænse.
- Luft omkring: Gassen skal kunne nå sensoren – lav huller i kabinettet ud for nettet.
- Test sikkert: Pust gas fra en lighter uden at tænde den mod sensoren på afstand. Aldrig åben ild ind i elektronikken.
🔧 Fejlfinding
- Værdien kryber op og ned: Sensoren er ikke varmet op endnu. Vent et par minutter (første gang: et døgn).
- DO-alarmen er altid aktiv: Drej potentiometeret, til signal-LED'en slukker i ren luft.
- Arduino genstarter: Forsyningen kan ikke klare varmelegemet – brug en bedre USB-port eller ekstern 5 V.
- Ingen reaktion: Tjek at modulet får 5 V. På 3,3 V bliver varmelegemet ikke varmt nok.
Sidder du fast? Skriv til os – vi hjælper gerne.