Ứng dụng: Đo nồng độ cồn cho các chủ phương tiện khi tham gia giao thông, phát hiện các phương tiện chở cồn hoặc rượu lưu thông trên đường,vv
-Thông số kỹ thuật:
•Điện áp vào :2,5V - 5V.
•Kích thước : 32*22*27mm.
•Điện áp ra :0 – 5V (nồng độ cồn càng cao thì điện áp ra càng cao).
•Tín hiệu ra : Analog và Digital.
MQ3 là bộ cảm biến sử dụng SiO2 làm vật liệu cảm ứng nồng độ cồn trong không khí, bộ cảm biến khí sẽ rất nhạy cảm ở những nơi có nồng độ cồn trong không khí cao.
Đặc điểm của module: - Nhạy cảm với rượu và ethanol.
- Điện áp đầu ra tăng khi nồng độ khí đo được tăng.
- Nhanh chóng phản ứng và phục hồi.
- Có thể điều chỉnh được độ nhạy cảm của module.
- Có thể hiển thị kết quả trên màn hình LCD.
Sơ đồ kết nối
gồm 4 chân:
•VCC : 2,5V - 5V.
•DOUT : Digital output.
•AOUT: Analog output.
•GND : nối đất.
Ứng dụng minh họa: Đo và hiển thị cảnh báo khi nồng độ cồn vượt ngưỡng cài đặt trên LCD.
Chuẩn bị phần cứng
-1 Arduino Uno R3.
-1 LCD 1206 Keypad Shield.
-1 Module cảm biến nồng độ cồn.
-Dây kết nối
Bạn có thể xem hình sau đây
-Cắm dây USB 5V vào Arduino. Như vậy ta đã chuẩn bị xong phần cứng.
Phần lập trình , các bạn mở Arduino IDE lên và copy đoạn code dưới vào.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include<LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // cau hinh chan LCD
int gas_din=2; // pin 2 ket noi Dout
int gas_ain=A1; // A1 ket noi Aout
int ad_value; // bien luu gia tri adc
void setup()
{
lcd.begin(16, 2); // khia bao LCD 16x2
pinMode(gas_din,INPUT); // set input
pinMode(gas_ain,INPUT); // set input
Serial.begin(9600); // ket noi UART, baudrate 9600
}
void loop()
{
ad_value=analogRead(gas_ain); //doc gia tri adc
if(digitalRead(gas_din)==LOW) // so sanh neu LOW thong bao Say roi
{
lcd.setCursor(0,0);
lcd.print("Say roi!!!!"); // Say rồiJ))
lcd.setCursor(0,1);
lcd.print(ad_value);
Serial.println("Gas leakage");
Serial.println(ad_value);
}
else // nguoc lai bao chua say :D
{
lcd.setCursor(0,0);
lcd.print("Chua say!!"); // Chưa say uống tiếpJ)
Serial.println("Gas not leak");
}
delay(500);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
}