1. Trang chủ
  2. » Luận Văn - Báo Cáo

Stem-Lập Trình Hệ Thống Báo Rò Rie Khí Gas Và Cồn.docx

11 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập Trình Hệ Thống Báo Rò Rỉ Khí Gas Và Cồn
Trường học MakerEDU Vietnam
Chuyên ngành Kỹ thuật tự động hóa, Điều khiển và Tự động hóa
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 11
Dung lượng 1,55 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1 Mục tiêu chính 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 để[.]

Trang 1

1 Mục tiêu chính:

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

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

2 Hướng dẫn thực hiện:

2.1 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

Trang 2

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

Đỏ 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

2.2 Quy trình thực hiện

Trang 3

2.3 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:

Trang 4

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

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)

Trang 5

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

Code hoàn chỉnh

Trang 6

Code cho Sprites

Trang 7

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

Trang 8

Giải thích code

Phân

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

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

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ị

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

Trang 9

// 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

Trang 10

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);

Trang 11

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)

Ngày đăng: 23/05/2023, 09:07

🧩 Sản phẩm bạn có thể quan tâm

w