MQ-2 sensor


22 ₪

الناشر: متجر القطع الالكترونية

القسم: مستشعرات - سينسور

تاريخ النشر: 2021-02-03





طريقة(1) استخدام مقاومة واحدة قيمتها 1 كيلو اوم بين الخط التماثلي ومخرج المستشعر التماثي(غير مستحسن)



ملاحظة قيمة القراءة التماثلية يمكن ان تكون من 0 الى 4095 او 1023 حسب النوع للمتحكم



يمكن توصيل مقاومة واحدة لان المنفذ التماثلي يعتبر pull-down بقيمة مقاومة 100 او 150 اوم ويمكن التاكد من خلال الاوميتر بتوصيله من المنفذ الي الخط السالب GND ..... واحيانا اذا لم نضع هذه المقاومة فان المنفذ قد يتعطل ولا يقرأ بشكل صحيح ويمكن ايضا ان يتعطل المستشعر نفسه اذا لم نضع مقاومة لذلك يجب التاكد اين حدث الخلل في المستشعر او في المنفذ



The ESP32 GPIOs require 3V3 signals (not 5V tolerent). For quick hack, you can only add a serial resistor of 1K between the MQ-2 Analog pin and the ESP32 A0 pin to protect the ESP32 GPIOs from damage.



code:

code
نسخ
اقتباس
عرض
تنزيل
	
								
#define DO_PIN 14 // D14 or GPIO14 connected to DO pin of the MQ2 sensor void setup() { Serial.begin(9600); pinMode(DO_PIN, INPUT); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasState = digitalRead(DO_PIN); if (gasState == HIGH) Serial.println("The gas is NOT present"); else Serial.println("The gas is present"); }


طريقة (2) التوصيل مع esp32 مع مقسم الفولتية (مستحسن):



ملاحظة عن الطرق ومنها مقسم الفولتية

⬢ الأفضل (موصى به): استخدم مقسم جهد بسيط [يمكن اختيار عدة قيم مقاومات حسب التجربة] ◄ R1 = 10k بين AO والنقطة الوسط ◄ R2 = 20k بين النقطة الوسط وGND ◄ النقطة الوسط → ADC ESP32 (يعطي ≈3.3V عندما AO = 5V). ⬢ حل سريع ومقبول إذا تريد أقل قطع: استخدم سلسلة مقاومة + ديود شوتكي إلى 3.3V (يمنع الجهد الأعلى). لكن هذا أفضل للمداخل الرقمية وليس لقراءة تناظرية دقيقة. ⬢ أفضل احترافيًا: استخدم محول مستوى (level shifter) أو مُحَفِّز (op-amp buffer) مزوّد بحد أعلى 3.3V — للحفاظ على دقة القراءة وحماية أفضل. ⬢ تشغيل الـ MQ-2 على 3.3V: ممكن لكن قد تقل الحساسية، ويحتاج اختبار عملي.



التوصيل مع esp32 مع مقسم الفولتية::



code:

code
نسخ
اقتباس
عرض
تنزيل
	
								
/**/ const int mq2Pin = 36; float sensorValue = 0; void setup() { Serial.begin(9600); pinMode(mq2Pin, INPUT); } void loop() { sensorValue = analogRead(mq2Pin); Serial.println("Sensor Value: "+String(sensorValue)); if(sensorValue>300 ) { Serial.println("found gas"); } else { Serial.println("no gas"); } delay(1000); }


عرض السلة (تأكيد الشراء) افراغ السلة
اتمام الشراء