SKU : AP6902
หมวดหมู่ : สินค้า ,  Arduino ,  Gas Sensor Module , 
Share
Model No. : MQ-3
High sensitivity : Alcohol
Small sensitivity : Benzine
Voltage : 3 ~ 5 Vdc
Current : 150mA
Preheat duration : ~ 20 sec
Analog output voltage : 0 ~ 5 Vdc
Digital Output Voltage : 0 or 5 Vdc (TTL Logic)
Detection Range : 10 ~ 1000ppm
Dimension (mm) : 32 (L) x 22 (W) x 18 (H)
เซนเซอร์ MQ-3 สำหรับตรวจจับ Alcohol ใช้งานง่ายเพียงแค่จ่ายไฟ 5V ก็จะได้สัญญาณเอาต์พุตออกมาทั้งแบบ digital และแบบ analog สามารถนำค่ามาคำนวนเป็นปริมาณแก๊สแบบ ppm ได้ การใช้งานดังนี้
การต่อใช้งาน
Code ตัวอย่าง
/* MQ-3 Alcohol Sensor Circuit with Arduino */ /*SHUBHAM GUPTA - EMBEDDED ENGINEER*/ const int AOUTpin=A0;//the AOUT pin of the alcohol sensor goes into analog pin A0 of the arduino const int ledPin=13;//the anode of the LED connects to digital pin D13 of the arduino int i,alco_high,alco_low,mapped,data[200]; void setup() { Serial.begin(115200);//sets the baud rate pinMode(AOUTpin, INPUT);//sets the pin as an input to the arduino for(i=2;i<=5;i++) { pinMode(i,OUTPUT);//sets the pin as an output of the arduino } } void loop() { alco_high=0; // initially alcohol level is zero alco_low = 1023; // low threshold is 1023 for(i=200; i>0; i--){ data[i] = data[i-1]; // decrement of data if(data[i]>alco_high) alco_high=data[i]; if(data[i]<alco_low) alco_low=data[i]; } data[0]= analogRead(AOUTpin);//reads the analaog value from the alcohol sensor's AOUT pin mapped=map(data[0],0,1023,0,600); Serial.print("Alcohol value: "); Serial.println(mapped);//prints the alcohol value delay(100); if((alco_high-alco_low)>150){ if(data[0] > (alco_high-.95*(alco_high-alco_low)))//this is true if the read is greater than 95% of the span digitalWrite(2, HIGH); else digitalWrite(2,LOW); if(data[0] > (alco_high-.9*(alco_high-alco_low))) digitalWrite(3, HIGH); else digitalWrite(3,LOW); if(data[0] > (alco_high-.8*(alco_high-alco_low))) digitalWrite(4, HIGH); else digitalWrite(4,LOW); if(data[0] > (alco_high-.7*(alco_high-alco_low))) digitalWrite(5, HIGH); else digitalWrite(5,LOW); } else { for(i=2;i<=5;i++) digitalWrite(i,0); }} |