HỆ THỐNG CẢNH BÁO KHÍ GAS VÀ CỒN

Tóm tắt ý tưởng

Thiết bị cảnh báo rò rỉ khí Gas thường được đặt trong các căn bếp để phòng chống cháy nổ và đảm bảo an toàn cho con người.

Máy đo nồng độ Cồn thường được Cảnh Sát Giao Thông sử dụng để phát hiện tình trạng của người sử dụng phương tiện nhằm đảm bảo an toàn giao thông và hạn chế tai nạn.

Để hiểu hơn về nguyên lí hoạt động của hai thiết bị trên, dự án này hướng dẫn các bạn mô phỏng lại Hệ thống cảnh báo khí Gas và Cồn (Alcohol + Gas Detector System) bằng các sản phẩm phần cứng Robotics của MakerEdu.vn với những thao tác lắp đặt và lâp trình vô cùng đơn giản.

Mô tả công dụng

  • Đọc giá trị nồng độ của cảm biến khí Gas và Cồn, hiển thị giá trị lên màn hình LCD.
  • Cảnh báo nồng độ Gas và Cồn vượt mức quy định với 3 cấp độ đèn Led và Còi báo.
  • Tương tác với phần mềm Mblock, mô phỏng cảnh báo trên giao diện phần mềm.

Danh sách vật dụng

Vật dụng  Hình ảnh Chức năng / Chuẩn giao tiếp

Mạch Vietduino Uno (Arduino Uno Compatible) (x1)

Mạch điều khiển trung tâm, tương thích Arduino Uno, giao tiếp máy tính qua cổng USB

Mạch MakerEDU Shield (x1)

Mạch Shield giúp kết nối Vietduino Uno với các phần cứng Robotics MakerEdu.vn qua chuẩn kết nối XH2.54
Mạch hiển thị MKE-M07 LCD1602 I2C module (x1)
 

Màn hình hiển thị thông tin, chuẩn giao tiếp I2C

Cảm biến khí gas MKE-S08 MQ-2 (LPG/CO/CH4) sensor (x1)

Cảm biến nồng độ khí Gas trong không khí, chuẩn giao tiếp Analog

Cảm biến nồng độ cồn MKE-S07 MQ-3 alcohol sensor (x1)

Cảm biến nồng độ Cồn trong không khí, chuẩn giao tiếp Analog

Mạch còi báo MKE-M03 buzzer module (x1)

Mạch còi báo phát âm thanh, chuẩn giao tiếp Digital

Mạch led đơn MKE-M01 10mm single LED module
Xanh x1
Vàng x1
Đỏ x1

Mạch đèn tín hiệu, chuẩn giao tiếp Digital

Cáp Kết Nối MakerEDU XH2.54-XH2.54 3Wires (x6)

Cáp kết nối phần cứng MakerEdu.vn chuẩn XH2.54 3 dây

Cáp Kết Nối MakerEDU XH2.54-XH2.54 4Wires (x1)

Cáp kết nối phần cứng MakerEdu.vn chuẩn XH2.54 4 dây

Flowchart

Hướng dẫn kết nối

LƯU Ý QUAN TRỌNG: CẦN XOÁ CHƯƠNG TRÌNH CŨ TRÊN MẠCH VIETDUINO TRƯỚC KHI THỰC HIỆN KẾT NỐI VỚI CÁC PHẦN CỨNG MỚI ĐỂ TRÁNH CÁC XUNG ĐỘT CÓ THỂ LÀM HƯ HỎNG MẠCH!!!

  • Bước 1: Xoá chương trình cũ có sẵn trên mạch Vietduino trước khi thực hiện kết nối các phần cứng mới.
  • Bước 2: Lắp Shield lên mạch Vietduino Uno
  • Bước 3: Kết nối các phần cứng theo sơ đồ sau:

Hướng dẫn lập trình Mblock for Arduino

LƯU Ý QUAN TRỌNG: TRƯỚC KHI THỰC HIỆN CẦN CÀI ĐẶT PHẦN MỀM MBLOCK, CẤU HÌNH PHẦN MỀM VỚI MẠCH VIETDUINO UNO VÀ CÀI ĐẶT CÁC EXTENSION CỦA MAKEREDU.VN THEO HƯỚNG DẪN TẠI ĐÂY

Khai Báo Biến

***Lưu ý: Khi khai báo các biến nếu có “int_” phía trước tên biến sẽ là kiểu số nguyên (Integer), mặc định nếu không có sẽ là kiểu số thực (Float).

Hình thành các bộ phận code

Code hoàn chỉnh

Code cho Sprites

***Link dự án tại Mblock: HỆ THỐNG CẢNH BÁO KHÍ GAS VÀ CỒN – Mblock Community

Giải thích code

Phân loại   Khối lệnh  Chức năng 
Events Bắt đầu chương trình
Control Lặp lại mãi mãi
Thực hiện đoạn mã các tập lệnh trong khối này nếu các điều kiện chỉ định được đáp ứng
Chờ một khoảng thời gian bao nhiêu giây
Pin Bật / tắt thiết bị chuẩn digital 
Operators Cả hai mệnh đề điều kiện đều đúng
Ít nhất một trong hai mệnh đề điều kiện đúng
Ghép hai chuỗi lại với nhau
Làm tròn số đến số nguyên gần nhất
Phép so sánh bé hơn
Phép so sánh lớn hơn
Variables Gán giá trị cho một biến
MKE-M07,08 In dòng chữ hiển thị trên màn hình LCD
Upload Mode Broadcast Gửi nội dung với giá trị 

Hướng dẫn lập trình Arduino

LƯU Ý QUAN TRỌNG: TRƯỚC KHI THỰC HIỆN CẦN CÀI ĐẶT PHẦN MỀM ARDUINO, CẤU HÌNH PHẦN MỀM VỚI MẠCH VIETDUINO UNO VÀ CÀI ĐẶT BỘ THƯ VIỆN CỦA MAKEREDU.VN THEO HƯỚNG DẪN TẠI ĐÂY

// Include library
// Cai dat thu vien
#include "LiquidCrystal_I2C.h"

// Define connected pin
// Dat ten chan cong ket noi
#define   GAS_PIN           A1
#define   ALCOHOL_PIN       A2
#define   BUZZER_PIN        A3
#define   LED_RED_PIN       9
#define   LED_YELLOW_PIN    10
#define   LED_GREEN_PIN     11
// Set gas and alcohol limt
// Dat cac gia tri nguong
#define   ALCOL_LIMIT1      100
#define   GAS_LIMIT1        400
#define   ALCOL_LIMIT2      50
#define   GAS_LIMIT2        120
// Set the LCD address to 0x27 for a 16 chars and 2 line display
// Thiet lap dia chi LCD 0x27 de hien thi ky tu LCD 16 ky tu và 2 dong
LiquidCrystal_I2C LCD(0x27, 16, 2);

void setup() {
  // We initialize serial connection so that we could print values from sensor
  // Khoi tao cong ket noi noi tiep
  Serial.begin(9600);
  // Initialize LCD 1602 to display
  // Khoi tao LCD 1602 de hien thi
  LCD.init();
  // Turn on LCD backlight
  // Bat den nen LCD 1602
  LCD.backlight();
  // Thiet lap LED va BUZZER o trang thai OUTPUT
  pinMode(LED_RED_PIN, OUTPUT);
  pinMode(LED_YELLOW_PIN, OUTPUT);
  pinMode(LED_GREEN_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  //PreHeating Sensor on 60s
  //Khoi dong lam nong cam bien trong 60s
  for (int i = 60; i >= 0; i--) {
    LCD.setCursor(0, 0);
    LCD.print("PreHeatingSensor");
    LCD.setCursor(7, 1);
    LCD.print(i);
    LCD.print("s  ");
    delay(1000);
    LCD.clear();
  }
}

void loop() {
  // Read gas and alcohol value
  // Doc gia tri cam bien khi gas va nong do con
  int gasValue = analogRead(GAS_PIN);
  int alcoValue = analogRead(ALCOHOL_PIN);
  // Print gas and alcohol value on LCD at column 1 and row 1
  // Hien thi gia tri khi gas va nong do con
  LCD.setCursor(0, 0);
  LCD.print("Gas ");
  LCD.setCursor(0, 1);
  LCD.print(gasValue);
  LCD.print("  ");
  LCD.setCursor(9, 0);
  LCD.print("Alcohol ");
  LCD.setCursor(9, 1);
  LCD.print(alcoValue);
  LCD.print("  ");
  delay(100);
  // Compare current gas and alcohol value to their limitt
  // So sanh cac gia tri nguong
  if ((alcoValue < ALCOL_LIMIT2) && (gasValue < GAS_LIMIT2)) {
    // Safe
    // An toan
    digitalWrite(LED_GREEN_PIN, HIGH);
    digitalWrite(LED_YELLOW_PIN, LOW);
    digitalWrite(LED_RED_PIN, LOW);
    digitalWrite(BUZZER_PIN, LOW);
  }
  if (((alcoValue <= ALCOL_LIMIT1) && (alcoValue > ALCOL_LIMIT2)) || ((gasValue <= GAS_LIMIT1) && (gasValue > GAS_LIMIT2))) {
    // Turn on warning Led Level 1 and Alarm
    // Bat canh bao Led muc 1 va coi bao dong
    digitalWrite(LED_GREEN_PIN, HIGH);
    digitalWrite(LED_YELLOW_PIN, HIGH);
    digitalWrite(LED_RED_PIN, LOW);
    digitalWrite(BUZZER_PIN, HIGH);
    delay(300);
    digitalWrite(LED_GREEN_PIN, LOW);
    digitalWrite(LED_YELLOW_PIN, LOW);
    digitalWrite(BUZZER_PIN, LOW);
  }
  if ((alcoValue > ALCOL_LIMIT1) || (gasValue > GAS_LIMIT1)) {
    // Turn on warning Led level 2 and Alarm
    // Bat canh bao led muc 2 va coi hoat dong lien tuc
    digitalWrite(LED_GREEN_PIN, HIGH);
    digitalWrite(LED_YELLOW_PIN, HIGH);
    digitalWrite(LED_RED_PIN, HIGH);
    digitalWrite(BUZZER_PIN, HIGH);
    delay(100);
    //Tat cac canh bao
    digitalWrite(LED_GREEN_PIN, LOW);
    digitalWrite(LED_YELLOW_PIN, LOW);
    digitalWrite(LED_RED_PIN, LOW);
  }
}

***Link tải code tại Github: makereduvn/MakerEdu_Development_Kit (github.com)

Hình ảnh thành phẩm

Tìm kiếm

Các kênh truyền thông

Bài viết phổ biến

Các chuyên mục

Đăng ký theo dõi

Hãy đăng ký theo dõi MakerLab.vn để cập nhật các bài viết và thông tin công nghệ mới nhất!

Bài viết liên quan

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments