Arduino Cảm biến khí cồn MQ-3
Hướng dẫn này trình bày cách kết nối cảm biến MQ3 với Arduino để theo dõi nồng độ etanol và hơi cồn trong môi trường của bạn. Cảm biến MQ3 được sử dụng rộng rãi trong các thiết bị đo nồng độ cồn trong hơi thở tự chế, các hệ thống cảnh báo phát hiện cồn và các dự án giám sát chất lượng không khí.
Bạn sẽ khám phá:
- Kết nối mô-đun cảm biến cồn MQ-3 với bảng Arduino của bạn
- Viết mã Arduino để đo và diễn giải nồng độ cồn

Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | MQ3 Alcohol Sensor | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về cảm biến cồn MQ-3
Hoạt động như một Cảm biến điện trở hóa học, MQ-3 là một thiết bị bán dẫn oxit kim loại (MOS) nhận diện sự có mặt của cồn thông qua sự thay đổi điện trở ở vật liệu cảm biến. Mô-đun này có độ nhạy cao trong việc phát hiện hơi ethanol trong một phạm vi nồng độ rộng.
Về bản chất, cảm biến sử dụng một lớp oxit thiếc (SnO2) được phủ lên trên nền gốm oxit nhôm. Việc nung kích hoạt SnO2, làm cho nó nhạy với các phân tử cồn. Một lưới bảo vệ bằng thép không gỉ (màn chắn chống nổ) bao quanh cảm biến, che chắn phần gia nhiệt trong khi cho phép các phân tử khí đi qua tới buồng phát hiện.
Những ứng dụng phổ biến của cảm biến này bao gồm chế tạo máy đo nồng độ cồn bằng hơi thở, thiết bị phát hiện lái xe khi say (DUI), hệ thống cảnh báo nồng độ cồn và các ứng dụng giám sát nồng độ cồn trong môi trường.
Thông số kỹ thuật
- Điện áp hoạt động: 5V DC
- Điện trở tải: 200 kΩ
- Điện trở của bộ gia nhiệt: 33 Ω ± 5%
- Công suất tiêu thụ khi làm nóng: < 800 mW
- Điện trở cảm biến: 1 MΩ – 8 MΩ
- Phạm vi phát hiện: 25 – 500 ppm (phần triệu)
- Thời gian làm nóng trước khi dùng lần đầu: 24–48 giờ
Hiểu về ppm: Viết tắt ppm đại diện cho phần trên triệu, thể hiện tỷ lệ giữa các phân tử khí mục tiêu và tổng số phân tử. Theo thực tế, một giá trị đo được 500 ppm cho biết có 500 phân tử cồn tồn tại trong mỗi 1.000.000 phân tử khí tổng, phần còn lại là 999.500 phân tử khí khác trong khí quyển.
Sơ đồ các chân
Có bốn chân kết nối có sẵn trên mô-đun cảm biến MQ-3:
- Chân VCC: Cấp nguồn +5V thông qua kết nối này.
- Chân GND: Kết nối với đất (0V).
- Chân DO: Đầu ra số (digital) ở mức LOW khi phát hiện nồng độ cồn vượt ngưỡng, hoặc HIGH khi dưới ngưỡng. Biến trở tích hợp trên bảng cho phép điều chỉnh ngưỡng.
- Chân AO: Đầu ra analog cung cấp điện áp biến thiên tương ứng với nồng độ cồn. Nồng độ cồn càng cao, điện áp đầu ra càng tăng.

Hai đèn LED chỉ thị cung cấp phản hồi trực quan:
- PWR-LED: Đèn PWR-LED sáng lên khi nguồn được cấp cho module.
- DO-LED: Phản ánh trạng thái đầu ra số — sáng lên khi phát hiện nồng độ cồn và sẽ tắt khi không phát hiện.
Cách thức hoạt động
Cơ chế phát hiện của MQ3 dựa vào sự biến đổi điện trở bên trong phần tử bán dẫn đioxit thiếc (SnO2):
Điều kiện không khí sạch: Nhiệt được áp dụng lên SnO2 khiến oxy gắn lên bề mặt của nó, bắt giữ các electron và tạo ra một vùng thiếu electron. Vùng bắt electron này tạo ra một rào cản hạn chế dẫn điện, khiến điện trở cao.
Tiếp xúc với cồn: Các phân tử cồn tương tác với oxy bề mặt, phá vỡ các liên kết oxy và giải phóng các electron bị mắc kẹt trả về vào cấu trúc đioxit thiếc. Điều này làm tăng đáng kể độ dẫn điện — nồng độ cồn càng cao thì điện trở càng thấp.
Có hai chế độ đầu ra có sẵn từ cảm biến này:
Đầu ra số (chân DO):
- Một biến trở có thể điều chỉnh thiết lập ngưỡng phát hiện.
- Khi nồng độ cồn vượt quá ngưỡng đã thiết lập, đầu ra DO ở mức LOW trong khi đèn LED sáng.
- Khi nồng độ cồn vẫn dưới ngưỡng, đầu ra DO ở mức HIGH và đèn LED tắt.
Đầu ra tương tự (chân AO):
- Đầu ra điện áp tỷ lệ thuận với nồng độ cồn được phát hiện.
- Nhiều hơi cồn hơn sẽ cho giá trị điện áp đo được cao hơn.
- Ít hơi cồn hơn sẽ cho giá trị điện áp đo được thấp hơn.
- Lưu ý: Việc điều chỉnh biến trở chỉ ảnh hưởng đến đầu ra kỹ thuật số, không ảnh hưởng đến tín hiệu tương tự.
Khởi động và Hiệu chuẩn
Các yêu cầu làm nóng trước
Các phép đo chính xác từ MQ3 đòi hỏi phải được làm nóng đúng cách trước khi vận hành:
- Sử dụng lần đầu hoặc lưu trữ kéo dài (trên 30 ngày): Để ổn định cảm biến và có các phép đo đáng tin cậy, hãy để cảm biến được làm nóng liên tục trong 24-48 giờ.
- Sử dụng bình thường: Một thời gian làm nóng ngắn 5-10 phút là đủ. Các giá trị đo ban đầu có thể cao hơn nhưng sẽ nhanh chóng trở lại mức bình thường.
Để làm ấm cảm biến, chỉ cần nối VCC và GND với nguồn 5V hoặc trực tiếp vào các chân nguồn trên Arduino, giữ nguyên kết nối suốt thời gian làm ấm.
Tìm các giá trị ngưỡng của bạn
Việc lưu trữ kéo dài có thể gây sai lệch hiệu chuẩn ở các cảm biến dựa trên bộ làm nóng như MQ-3. Thiết lập các ngưỡng chính xác cho các ứng dụng đo nồng độ cồn bằng hơi thở bằng cách làm theo quy trình sau:
- Thiết lập giá trị nền cho không khí sạch: Vận hành cảm biến trong không khí trong lành và ghi nhận đầu ra analog (dự kiến giá trị gần 100-150).
- Giới thiệu hơi cồn: Giữ cồn isopropyl hoặc dung dịch sát khuẩn tay ở gần (không chạm vào) cảm biến, chỉ cho hơi bay tới cảm biến. Ghi lại các giá trị tăng lên (thường từ 400-900 dựa trên mật độ hơi).
- Xác định vùng phát hiện: Sử dụng các giá trị đã ghi lại để thiết lập các phạm vi:
- Không say: Các giá trị dưới giá trị nền + 20 (ví dụ: < 120)
- Tiêu thụ ở mức vừa phải: Các giá trị ở giữa (ví dụ: 120-400)
- Say ở mức cao: Các giá trị vượt quá ngưỡng ở mức vừa phải (ví dụ: > 400)
Quan trọng: Các đặc tính cảm biến khác nhau giữa các thiết bị và môi trường. Hãy luôn hiệu chuẩn với phần cứng cụ thể của bạn trước khi triển khai.
Thiết lập ngưỡng kỹ thuật số
Cấu hình ngưỡng kích hoạt của chân DO thông qua potentiometer điều chỉnh trên bo mạch:
- Đặt hơi cồn gần cảm biến.
- Xoay potentiometer theo chiều kim đồng hồ cho đến khi bạn thấy đèn LED sáng lên.
- Từ từ xoay ngược chiều kim đồng hồ cho đến khi đèn LED vừa tắt.
- Ngưỡng kích hoạt bây giờ đã được hiệu chuẩn đúng.
Sơ đồ đấu dây
Cả hai chân đầu ra đều có sẵn trên mô-đun MQ3. Chọn một trong hai chân hoặc sử dụng cả hai cùng lúc tùy thuộc vào yêu cầu của dự án.
| MQ3 Alcohol Sensor | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | Pin 2 |
| AO | A0 |

This image is created using Fritzing. Click to enlarge image
Mã Arduino - Đọc đầu ra kỹ thuật số
Hướng dẫn từng bước
- Mở đoạn mã ở trên trong Arduino IDE
- Tải lên cho bo mạch Arduino của bạn bằng nút Tải lên.
- Đặt nguồn hơi cồn gần cảm biến MQ-3 (nước rửa tay khô hoặc cồn isopropyl lên bông cotton sẽ hoạt động tốt)
- Theo dõi đầu ra trong Serial Monitor
Lưu ý: Khi các giá trị đo không phù hợp với điều kiện thực tế (dương tính giả hoặc phát hiện bị bỏ sót), điều chỉnh ngưỡng phát hiện bằng biến trở của mô-đun. Quay theo chiều kim đồng hồ làm tăng độ nhạy; quay ngược chiều kim đồng hồ làm giảm nó. Điều chỉnh cho đến khi độ chính xác phát hiện được cải thiện.
Mã Arduino - Đọc đầu ra tương tự
Hướng dẫn từng bước
- Tải mã vào Arduino IDE
- Tải lên bằng nút Tải lên
- Đưa hơi cồn tới cảm biến (nước sát khuẩn tay hoặc cồn isopropyl)
- Quan sát các giá trị đọc được trong Serial Monitor
Bạn có thể sử dụng đầu ra kỹ thuật số hoặc đầu ra analog để thực hiện các quyết định dựa trên ngưỡng nhằm kích hoạt cảnh báo, điều khiển các đèn cảnh báo, hoặc ghi lại dữ liệu cho chức năng đo nồng độ cồn bằng hơi thở.
Mã Arduino - Máy đo nồng độ cồn trong hơi thở có phát hiện ngưỡng
Ví dụ này trình diễn cách diễn giải đầu ra analog thông qua các ngưỡng được hiệu chuẩn để ước lượng mức độ say.
Hướng dẫn từng bước
- Cực kỳ quan trọng: Đầu tiên hiệu chuẩn cảm biến của bạn bằng ví dụ đo giá trị analog để xác định ngưỡng phù hợp với môi trường của bạn.
- Cập nhật các hằng số SOBER_THRESHOLD và DRUNK_THRESHOLD trong mã với các số đã hiệu chuẩn của bạn.
- Tải lên và nạp mã đã chỉnh sửa lên Arduino.
- Kiểm tra bằng hơi cồn (cồn isopropyl hoặc hơi nước từ dung dịch nước rửa tay).
- Xem lại các thông báo trạng thái trong Serial Monitor.
Lưu ý: Dự án này chỉ nhằm mục đích giáo dục. Tuyệt đối không dựa vào thiết bị này cho các chức năng đo nồng độ cồn bằng hơi thở hợp pháp hoặc các đánh giá an toàn khi lái xe.
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.