Arduino UNO R4 Cảm Biến Cồn MQ3
Hướng dẫn này sẽ chỉ bạn cách sử dụng Arduino UNO R4 và cảm biến cồn MQ3 để phát hiện hơi cồn và ethanol trong không khí. Cảm biến này thường được sử dụng trong các dự án máy thử nồng độ cồn và hệ thống phát hiện cồn.
- Cách kết nối cảm biến cồn MQ3 với Arduino UNO R4
- Cách viết code cho Arduino UNO R4 để đọc nồng độ cồn từ cảm biến

Phần Cứng Cần Thiết
| 1 | × | Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima | ||
| 1 | × | (Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi | ||
| 1 | × | Arduino UNO R4 Minima (Thay thế) | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Cảm Biến Cồn MQ3 | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Power Splitter for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT 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 MQ3
Cảm biến cồn MQ3 là một cảm biến MOS (Metal Oxide Semiconductor), còn được gọi là Chemiresistor, vì nó phát hiện cồn dựa trên sự thay đổi điện trở của vật liệu cảm biến khi tiếp xúc với hơi cồn. Nó được thiết kế đặc biệt để phát hiện hơi cồn (ethanol) trong không khí và có độ nhạy cao với nồng độ cồn.
Cảm biến sử dụng lớp phủ Tin Dioxide (SnO2) trên chất nền ceramic Aluminum Oxide làm phần tử cảm biến. Khi được đun nóng, SnO2 trở nên nhạy cảm với cồn. Cảm biến được bao phủ bằng lưới thép không gỉ (mạng chống nổ) bảo vệ phần tử gia nhiệt bên trong và lọc các hạt lơ lửng trong khi vẫn cho phép các phần tử khí tiếp cận buồng cảm biến.
Các ứng dụng phổ biến bao gồm máy phân tích hơi thở, hệ thống phát hiện lái xe say rượu, báo động hiện diện cồn, và các dự án cần 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ở gia nhiệt: 33Ω ± 5%
- Công suất gia nhiệt: < 800mW
- Điện trở cảm biến: 1 MΩ – 8 MΩ
- Phạm vi phát hiện: 25 – 500 ppm (parts per million)
- Thời gian làm nóng sơ bộ: 24-48 giờ cho lần sử dụng đầu tiên
ppm có nghĩa là gì? Parts-per-million (ppm) là đơn vị đo nồng độ khí. Ví dụ, 500 ppm cồn có nghĩa là trong một triệu phân tử khí, 500 phân tử là cồn và 999,500 là các khí khác.
Sơ Đồ Chân
Cảm biến cồn MQ3 có bốn chân:
- Chân VCC: Kết nối chân này với VCC (5V).
- Chân GND: Kết nối chân này với GND (0V).
- Chân DO: Đây là chân đầu ra digital. Nó hiển thị LOW khi phát hiện cồn và HIGH nếu không. Bạn có thể điều chỉnh ngưỡng phát hiện cồn bằng biến trở trên bo mạch.
- Chân AO: Đây là chân đầu ra analog. Nó tạo ra điện áp thay đổi tùy thuộc vào nồng độ cồn. Nồng độ cồn cao hơn làm điện áp tăng lên.

Nó cũng có hai đèn LED:
- Một đèn PWR-LED hiển thị nguồn điện đang bật.
- Một đèn DO-LED hiển thị trạng thái phát hiện cồn dựa trên giá trị chân DO: nó sáng lên khi phát hiện cồn và tắt khi không có.
Cách Hoạt Động
Cảm biến MQ3 hoạt động dựa trên sự thay đổi điện trở của phần tử cảm biến Tin Dioxide (SnO2):
Trong không khí sạch: Khi chất bán dẫn SnO2 được gia nhiệt, các phân tử oxy được hấp phụ trên bề mặt, tạo ra một lớp nghèo electron. Điều này tạo thành một rào cản điện thế làm cho vật liệu có điện trở cao, ngăn dòng điện chạy qua.
Khi có mặt cồn: Hơi cồn phản ứng với oxy được hấp phụ, giảm mật độ oxy bề mặt và hạ thấp rào cản điện thế. Điều này giải phóng electron vào tin dioxide, cho phép dòng điện chạy tự do. Càng nhiều cồn có mặt, điện trở càng thấp.
Cảm biến cung cấp hai loại đầu ra:
Đối với chân DO (Digital Output):
- Module bao gồm một biến trở để điều chỉnh ngưỡng nhạy cảm cho việc phát hiện cồn.
- Nếu nồng độ cồn vượt quá ngưỡng đã đặt, chân đầu ra của cảm biến chuyển thành LOW và đèn DO-LED sáng lên.
- Nếu nồng độ cồn dưới ngưỡng, chân đầu ra của cảm biến chuyển thành HIGH và đèn DO-LED tắt.
Đối với chân AO (Analog Output):
- Điện áp đầu ra tỷ lệ với nồng độ cồn.
- Nồng độ hơi cồn cao hơn tạo ra điện áp cao hơn.
- Nồng độ hơi cồn thấp hơn tạo ra điện áp thấp hơn.
- Biến trở không ảnh hưởng đến giá trị chân AO.
Làm Nóng và Hiệu Chuẩn Cảm Biến MQ3
Thời Gian Làm Nóng
Cảm biến cồn MQ3 phải được gia nhiệt trước khi sử dụng để có được kết quả chính xác:
- Lần sử dụng đầu tiên hoặc sau khi cất giữ lâu (hơn một tháng): Làm nóng nó trong 24-48 giờ để có kết quả ổn định và chính xác.
- Sử dụng gần đây: Nó chỉ cần 5-10 phút để làm nóng. Lúc đầu, các số liệu có thể cao, nhưng chúng sẽ ổn định sau một thời gian ngắn.
Để làm nóng cảm biến MQ3, kết nối các chân VCC và GND của nó với nguồn điện hoặc với VCC và GND trên Arduino UNO R4, và để nó kết nối trong thời gian làm nóng.
Hiệu Chuẩn Cho Các Giá Trị Ngưỡng
Vì MQ3 là cảm biến hoạt động bằng gia nhiệt, việc hiệu chuẩn có thể trôi dạt nếu để trong kho lâu. Để hiệu chuẩn cảm biến và tìm giá trị ngưỡng cho dự án máy thử nồng độ cồn của bạn:
- Ghi lại giá trị cơ sở: Chạy cảm biến trong không khí sạch và ghi lại các số liệu analog (thường khoảng 100-150).
- Thử nghiệm với cồn: Sử dụng cồn isopropyl hoặc nước rửa tay (không để chất lỏng lên cảm biến - chỉ hơi). Ép chai gần cảm biến để giải phóng hơi và ghi lại số liệu (thường 400-900 tùy thuộc vào nồng độ).
- Đặt ngưỡng: Dựa trên số liệu của bạn, bạn có thể định nghĩa các mức ngưỡng:
- Tỉnh táo: Dưới cơ sở + 20 (ví dụ: < 120)
- Trong giới hạn hợp pháp: Giữa cơ sở và mức trung bình (ví dụ: 120-400)
- Trên giới hạn hợp pháp: Trên mức trung bình (ví dụ: > 400)
Lưu ý: Các giá trị này thay đổi tùy thuộc vào cảm biến cụ thể và môi trường của bạn. Luôn hiệu chuẩn với cảm biến của riêng bạn trước khi sử dụng.
Điều Chỉnh Ngưỡng Digital Output
Để đặt ngưỡng cho chân DO bằng biến trở trên bo mạch:
- Để cảm biến tiếp xúc với hơi cồn.
- Xoay biến trở theo chiều kim đồng hồ cho đến khi đèn LED trạng thái sáng lên.
- Xoay biến trở ngược chiều kim đồng hồ cho đến khi đèn LED vừa tắt.
- Ngưỡng của bạn giờ đã được đặt.
Sơ Đồ Đấu Nối
Module cảm biến cồn MQ3 có hai đầu ra. Bạn có thể sử dụng một hoặc cả hai, tùy thuộc vào nhu cầu của bạn.
| Cảm Biến Cồn MQ3 | Arduino UNO R4 |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | Pin 2 |
| AO | A0 |

This image is created using Fritzing. Click to enlarge image
Code Arduino UNO R4 - Đọc giá trị từ chân DO
Các Bước Nhanh
Làm theo hướng dẫn từng bước sau:
- Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
- Kết nối bo mạch Arduino Uno R4 với cảm biến cồn MQ3 theo sơ đồ được cung cấp.
- Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
- Khởi chạy Arduino IDE trên máy tính của bạn.
- Chọn bo mạch Arduino Uno R4 thích hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
- Sao chép code ở trên và mở nó trong Arduino IDE.
- Nhấp vào nút Upload trong Arduino IDE để tải code lên Arduino UNO R4.
- Để cảm biến MQ3 tiếp xúc với hơi cồn (bạn có thể sử dụng nước rửa tay hoặc cồn y tế trên bông gần cảm biến).
- Kiểm tra kết quả trên Serial Monitor.
Lưu ý: Nếu đầu ra của cảm biến không phản ánh sự hiện diện thực tế của cồn (ví dụ: nó phát hiện cồn khi không có, hoặc không phát hiện khi có cồn), bạn cần điều chỉnh ngưỡng kích hoạt bằng cách xoay biến trở trên module cảm biến. Xoay theo chiều kim đồng hồ để tăng độ nhạy hoặc ngược chiều kim đồng hồ để giảm độ nhạy cho đến khi việc phát hiện phù hợp với thực tế.
Code Arduino UNO R4 - Đọc giá trị từ chân AO
Các Bước Nhanh
- Sao chép code ở trên và mở nó trong Arduino IDE
- Nhấp vào nút Upload trong Arduino IDE để tải code lên Arduino UNO R4
- Để cảm biến MQ3 tiếp xúc với hơi cồn (bạn có thể sử dụng nước rửa tay hoặc cồn y tế)
- Kiểm tra kết quả trên Serial Monitor.
Dựa trên các giá trị từ DO hoặc AO, bạn có thể đặt các mức ngưỡng để phát hiện cồn và kích hoạt báo động, bật LED cảnh báo, hoặc ghi lại dữ liệu cho các ứng dụng máy thử nồng độ cồn.
Code Arduino UNO R4 - Máy Thử Nồng Độ Cồn Đơn Giản với Ngưỡng
Ví dụ nâng cao này sử dụng đầu ra analog để ước tính mức độ say rượu dựa trên các giá trị ngưỡng đã hiệu chuẩn.
Các Bước Nhanh
- Quan trọng: Trước khi sử dụng code này, hãy chạy sketch hiệu chuẩn ở trên để tìm các giá trị ngưỡng của cảm biến trong không khí sạch và khi có cồn.
- Thay thế các giá trị ngưỡng trong code (SOBER_THRESHOLD và DRUNK_THRESHOLD) bằng các giá trị đã hiệu chuẩn của bạn.
- Tải code lên Arduino UNO R4.
- Thử nghiệm bằng cách để cảm biến tiếp xúc với hơi cồn (nước rửa tay hoặc cồn isopropyl).
- Kiểm tra kết quả trên Serial Monitor.
Lưu ý: Điều này chỉ mang tính chất giáo dục. Không sử dụng như một máy thử nồng độ cồn hợp pháp hoặc để xác định khả năng 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.