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

Đề tài xây dựng hệ thống cảnh báo rò rỉ khí gas

35 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Xây dựng hệ thống cảnh báo rò rỉ khí gas
Tác giả Đỗ Nhật Minh, Nguyễn Mạnh Hựng, Đào Hải Đăng
Người hướng dẫn Trần Thị Thanh Thủy
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 35
Dung lượng 4,03 MB

Nội dung

LOI MO DAU Ngày nay, khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng dụng cho các hệ thông nhúng ngày cảng trở nên phố biến vào đời sông, từ những ứng dụng đơn giản như: điề

Trang 1

HOC VIEN CONG NGHE BUU CHINH VIEN THONG

KHOA CONG NGHE THONG TIN

BAO CAO

Mon hoc: [OT và ứng dụng

Đề tài: Xây dựng hệ thống cảnh báo rò rỉ khí gas

Giảng viên: Trần Thị Thanh Thủy

Mã lớp học: INT14149 nhóm 04 Nhóm BTL: 04

Thành viên: Đỗ Nhật Minh - B21IDCCN521

Nguyễn Mạnh Hùng - B21DCCN413 Dao Hai Dang - B21DCCN197

Hà Nội - 2024

Trang 2

MUC LUC

LOI MO DAU

PHAN CONG NHIEM VU

CHUONG 1: TONG QUAN VE DE TAI NGHIEN CUU

2 Danh gid két qua

Tài liệu tham khảo

Trang 3

LOI MO DAU

Ngày nay, khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng dụng cho

các hệ thông nhúng ngày cảng trở nên phố biến vào đời sông, từ những ứng dụng đơn giản

như: điều khiên LED, bật tắt thiết bị điện tử đến những ứng dụng cho xã hội như: Điều

khién đèn giao thông, hệ thông cầu thang máy, cửa tự động cho đến những ứng dụng lớn như Robot, phi thuyền không người lái, kiêm soát nhà máy hạt nhân Các hệ thống tự động trước đây sử dụng nhiều công nghệ khác nhau như các hệ thông tự động hoạt động bằng nguyên lý khí nén, thủy lực, relay cơ điện, mạch điện tử số, các thiết bị máy móc tự động bằng các cam chốt cơ khí Các thiết bị, hệ thông này có chức năng xử lý và mức độ

tự động thấp so với các hệ thong tự động hiện đại được xây dựng trên nền tảng của các hệ

thống nhúng

Với những kiến thức đã được học và tìm hiểu từ trường học và khoa học công nghệ

của cuộc sống hiện đại, chúng em cũng muốn góp thêm phần phát triển xã hội bằng cách học hỏi và đưa ra những sản phần có ích cho cuộc sông.Chúng em xin giới thiệu một sản pham rat thiết thực cho cuộc sống của chúng ta: “Hệ thống cảnh báo rò rỉ khí gas” Với ý tưởng trên chúng em mong muốn được góp phần bảo vệ cho những gia đình,

tập thê hay công ty có sử dụng khí Gas được an toàn hơn Mạch phát hiện sự rò rỉ khí Gas

sẽ cảnh báo cho chúng ta biết được có khí Gas bị rò rỉ ra khỏi bình chứa hoặc ống dan dé

tránh được những tai nạn đáng tiếc xảy ra

Trang 4

PHAN CONG NHIEM VU

STT Ho va tén Mã sinh viên Nhiệm vụ

Nguyễn Mạnh Hùng B21DCCN413 Lap mach, lam slide, stra

bao cao, tim hiéu ma nguôn chương trình

Đỗ Nhật Minh B21DCCN521 Lắp mạch, sửa báo cáo,

tìm hiêu mã nguôn chương trình

ly giao diện, tìm hiệu mã nguôn chương trình

Trang 5

CHUONG 1: TONG QUAN VE DE TAI NGHIEN CUU

1 Lý do lựa chọn đề tài

Ngày nay với sự phát triển vượt bậc của khoa học kỹ thuật, điện tử đã được ứng dụng ở rất nhiều lĩnh vực trong thực tế để phục vụ nhu cầu : chăm sóc sức khỏe, bảo vệ tính

mạng và tài sản cho con người

Khi đời sống con người được cải thiện thì việc sử dụng bếp gas hay các sản phẩm

của øas làm nhiên liệu đun nau dang pho biến Bên cạnh việc tiện lợi của gas, một vấn đề

khác của gas cũng được quan tâm đó là : an toàn khi sử dụng gas Khi con người tiếp xúc trực tiếp với khí gas (vượt quá một nông độ cho phép nhất định) trong thời gian dài thì rất

dễ bị ngộ độc gas và có thê gây tử vong Không những vậy khí gas rò ri vào trong không khí có thê dễ dàng bắt lửa và gây cháy nô, ảnh hưởng nghiêm trọng tới an toàn của người

sử dụng cũng như những người xung quanh Vì vậy, van dé phát hiện và xử lý sự cố rò gas

là một việc rất cần thiết với người thường xuyên sử dụng gas Đặc biệt là các bạn sinh viên thường sử dụng các bình gas mini không đảm báo chất lượng, có thể rò ri gas bất cứ khi

nào Xuất phát từ ý tưởng và tình hình thực tế em thấy đây là một đề tài hay, có tính ứng

dụng cao và có thê phát triển nên em đã chọn đề tài này làm đề tài chính trong đồ án môn học

Đề khắc phục sự cố của khí gas khi sử dụng chúng em đã làm ra thiết bị cảnh báo rò

rỉ khí gas, thiết bị này giúp chúng ta dé dàng nhận biệt khí gas khi bị rò rỉ, được sử dụng trong các tòa nhà và hộ gia đình

2 Giới thiệu về đề tài

Như thầy cô và mọi người đã biết trong cuộc sông xã hội hiện đại ngày nay vấn đề

sử dụng khí đốt ( ở đây chúng ta đang nói đến là khí Gas ) trong việc nấu ăn hàng ngày và hay cả sử dụng khí đốt cho các ngành công nghiệp đang rất phố biến Như ngày xưa khoảng

15 năm về trước thì chỉ có thành phố mới sử dụng khí đốt cho nấu ăn hay nhưng cho những ngành công nghiệp còn nông thôn thường sử dụng bếp rạ và củi cho việc đun nấu thì nay gần như từ quê lên phó thì 99% sử dụng khí đốt cho bếp lúc đun nấu nên khi khí gas bị rò

Trang 6

rỉ ra ngoài khả năng cháy nô là rất cao vì chỉ cần có tia nửa điện từ các 6 cam hay thiét bi điện hay một đoạn dây bị hở sỉnh ra tia lửa điện là khả năng hỏa hoạn cho ngôi nhà là rất cao ảnh hưởng đến tài sản và tính mạng con người Vì thế đề tài nghiên cứu của chúng em

nhằm phần nảo đó việc phát hiện hiện khí gas và ngăn chặn hỏa hoạn cho cho người và tải san

Với nội dung chính của đề đó là khi phát hiện có khí gas thiết bị sẽ bật còi báo cho

người trong nhà biết được khí gas đang bị rò ri đê đưa ra các phương án khắc phục

3 Mục tiêu đồ án

Mục tiêu của đồ án bao gôm cả mục tiêu cá nhân và mục tiêu sản phâm, được định hình

rõ ràng như sau:

Mục tiêu cá nhân:

®_ Hiểu và năm vững cấu trúc phần cứng, sơ đồ khôi, cũng như nguyên lý hoạt động

của mạch điều khiến

e Tìm hiểu sâu về lập trình Arduino, từ đó cải thiện khả năng lập trình và phát triển

các ứng dụng nhúng

e Trang bị kỹ năng thực hiện và hoàn thiện một đồ án đầy đủ, giúp ích cho quá trình

thực hiện đồ án tốt nghiệp trong tương lai

Mục tiêu sản phâm:

e Đảm bao san pham hoạt động ôn định với các tính năng cần thiết, phục vụ cho việc cảnh báo khí gas một cách hiệu quả

e Thiết kế sản phẩm có kích thước nhỏ gọn, đảm báo tính thâm mỹ, dễ dàng sử dụng

và phù hợp với môi trường lắp đặt

®_ Đặt mục tiêu tạo ra sản phâm có giá thành hợp lý, phù hợp với nhu cầu và khả năng tài chính của người tiêu dùng hiện nay, mang lại giá trị thiết thực và sự an tâm cho

họ

Nhờ vào những mục tiêu này, đồ án sẽ không chỉ đáp ứng được yêu cầu về mặt kỹ thuật

mà còn mang lại ý nghĩa thực tế và tiềm năng ứng dụng rộng rãi

Trang 7

CHUONG 2: CO SO LY THUYET

1 Thiết bị phần cứng

Module ESP8266 NodeMcu CP2102: Đóng vai trò là bộ vi xử lý trung tâm, kết nỗi cảm

biên và gửi dữ liệu lên hệ thông giám sát từ xa

Module ESP8266 NodeMcu CP2012

Chỉ tiết các chân như sau:

3V3: Chân cung cấp nguồn 3.3V cho module

GND: Chan nổi đất

VIN: Chân này cung cấp nguồn 5V đề chuyển sang 3.3V thông qua bộ chuyên đôi điện

áp trên board

EN: Chan Enable, khi duoc kéo cao, no sé bat module

RST: Chan reset, khi duoc kéo xuéng thap sé reset module

TXD0/TXDI: Chân truyền dữ liệu (TX)

RXD0/RXDI: Chân nhận dữ liệu (RX)

GPIO: Chân I/O da nang cia module

e GPIO0: Chân đa năng, thường dùng để khởi động chế độ Flash.

Trang 8

GPIO1 (TX): Dung lam chan TX cho UART

GPIO2: Chân đa năng, thường sử dụng đề điều khiên đèn LED trên board GPIO3 (RX): Dung lam chan RX cho UART

GPIO4, GPIOS: Cac chan I/O théng dung

GPIO9, GPIO10: Thường được dùng trong giao tiếp với bộ nhớ flash SPI GPIO12, GPIO13, GPIO14: Cac chan giao tiép SPI (MOSI, MISO, SCLK) GPIO15: Chan giao tiếp SPI hoặc làm đầu ra thông thường

GPIO16: Thường dùng để đánh thức module từ chế độ ngủ (wake-up)

MOSL, MISO, SCLK, CS: Cac chan này dùng dé giao tiếp với thiết bị ngoại vi thông qua giao thirc SPI (Serial Peripheral Interface):

MOST (Master Out Slave In): Dữ liệu từ Master đến Slave

MISO (Master In Slave Out): Dir liéu ttr Slave dén Master

SCLK (Serial Clock): Déng hé SPI

CS (Chip Select): Chon thiét bi SPL

ADCO (ADCO): Chan doc gia trị tương tự (analog), co thể đọc các tín hiệu điện áp analog với mức điện áp từ 0 dén LV

Module relay 1 kênh 5VDC:

Thông số kỹ thuật sản phẩm:

Điện áp sử dụng: 5VDC

Dòng tiêu thụ: khoảng 200mA /1Relay

Tín hiệu kích: Tùy chọn mức cao High (5VDC) hoặc thấp Low (0VDC)

Tiếp điểm đóng ngắt Relay trên mạch: Max 250VAC-10A hoặc 30VDC-10A Kích thước: 50 x 26 x I9mm

Module relay 1 kénh SVDC tuy chon kich hoạt mức cao hoặc thấp H/L

Trang 9

Module cảm biển khí ga MQ2: Là loại cảm biến phát hiện khí gas như LPG, propan,

methane, hydrogen, khoi, va con Cam biên này hoạt động dựa trên sự thay đối điện trở của

một vật liệu khi nó tiếp xúc với khí gas

MQ2-Module cam bién khi ga MQ2

Coi chip 3-24V 3015A Buzzer: Coi Buzzer bao dong 3~24VDC duoc str dung dé phat ra

âm thanh lớn khi cập nguôn, ứng dụng trong các hệ thông chông trộm, cảnh báo, Thông số kỹ thuật sản phẩm:

e_ Điện áp hoạt động: 3 ~ 24VDC

e Dong điện tiêu thụ: 30mA 12V, 40mA 24V

e_ Biên độ âm thanh: lên đến 100dB

e Kích thước: 27 x l5mm

Trang 10

Cầu hình tiếp diém: Single Pole Single Throw (SPST)

Kiéu chan: Xuyén 16

Trang 11

LED 5mm do chan dai:

Với Blynk, người dùng có thê tạo ra các ứng dụng điều khiến thiết bị loT chỉ trong vải phút ma khong cần có kiến thức chuyên sâu về lập trinh Blynk cung cấp một loạt các công cụ và giao diện người dùng trực quan giúp người dùng dễ dàng kéo thả và tương tác với các thành phân điều khiến, biểu đô, cảm biến, và nhiều tính năng khác

Cu thé, người dùng có thể tạo ra các ứng dụng để điều khiển đèn, quạt, cảm biến nhiệt độ, đo lường độ ấm và thậm chí là máy rửa chén thông minh Blynk hỗ trợ

đa nên táng, từ các thiết bị di động như điện thoại thông minh đến các thiết bị nhúng như Arduino, Raspberry Pi, ESP§266 và nhiều hơn nữa

Điều này giúp Blynk trở thành một công cụ hữu ích không chỉ cho các nhà phát triển IoT chuyên nghiệp mà còn cho những người mới bắt đầu quan tâm đến thé giới IoT Với sự tiện lợi và tính linh hoạt, Blynk đã và đang giúp mọi người dễ dàng thực hiện những ý tưởng sáng tạo của mình trong lĩnh vực loơT một cách hiệu qua

11

Trang 12

Arduino IDE: Arduino IDE 1a mét phan mềm có mã nguồn mở, được sử dụng chủ yếu đề viết và biên dịch mã hóa vào module Arduino Nó bao gôm phần cứng và phần mềm Phần cứng chứa tới 300.000 bo mạch được thiết kế sẵn với các cảm biến, sự kiện Phần mềm giúp bạn có thê sử dụng các biến thé, sự kiện của Arduino một cách linh hoạt phù hợp

với mục tiêu sử dụng

3 Thiết kế phần mềm

Code hệ thống (Arduino IDE)

6 CANH BAO KHI GAS_ MQ2.mo (Đoạn mã chính của chương trình)

int buzzer=5; /⁄/D1 Còi báo động

int relay =4; //D2 — Rơ-le để bậưtắt thiết bị

int ledMode=14; /⁄/p5 Đèn LED hién thi trang thai cua ché dé canh bao

inE mucCanhbao; //Biên để lưu mức cảnh báo khí gas được đặt từ ứng dung

BlynkTimer timer; //Sử dụng trmer của Blynk dé thực hiện các tác vụ lặp lại theo thời

gian định trước

int timerID1,timerID2; ⁄⁄/ID của các bộ hẹn giờ

float mq2 value; //Laru gia tri do khi gas tir cam bién MQ2

int button=0; //D3

boolean buttonState=HIGH; //Trang thái của nút nhắn (cao hoặc thấp)

boolean runMode=0;//Bat/tat ché dd canh bao

boolean canhbaoState=0; //Trang thai canh bao (dang cảnh báo hoặc không)

WidgetLED led(v0); //Diéu khién widget LED ao tir tg dung Blynk

#define GAS V1 //Truyén gia tri khi gas

#define MUCCANHBAO V2 //Nhan gia tri mirc cảnh báo từ ứng dụng

#define CANHBAO V3 //Hién thi trang thai canh bao

#define CHEDO V4 //Diéu khién trang thái chế độ

#define BLYNK TEMPLATE ID “TMPL6hFLnz8Ws" //m& dinh danh để liên kết

thiết bị với câu hình trên Blynk

#define BLYNK TEMPIATE NAME "Gas sensor" //tên của template dé dễ dang nhận diện dự án

12

Trang 13

void setup() {

Serial.begin (115200); ⁄/: Khởi tạo giao tiếp nói tiếp với tốc độ 115200 bps dé in dir liệu ra màn hình giám sat

//Câu hình các chân GPIO cho nút nhấn, còi, rơ-le, va dén LED

pinMode (button, INPUT PULLUP) ;

pinMode (buzzer,OUTPUT);

pinMode (relay, OUTPUT) ;

pinMode (ledMode, OUTPUT) ;

//Tat còi báo lúc khởi tao

digitalWrite (buzzer, LOW); //TAt buzzer

digitalWrite (relay, LOW);

//Dat b6 hen giờ dé goi ham ‘handleTimerID1° mỗi giây

timerTD1 = timer.setTnterval(1000L,handleTimerTD1);

espConfig.begin();

void loop() {

espConfig run();//Chay cae tac vy lién quan dén ESP

app_loop(); //Goi ham xu ly vong lặp của ứng dụng

}

void app loop(){

timer.run(); //Chay bé dém thoi gian Blynk để xử lý các hẹn giờ

if (digitalRead(button)==LoW) { //Kiếm tra nêu nút nhắn được bám

1£(buEEonState==HIGH) { //Nếu nút nhân được bấm và trạng thái của nút trước đó là

‘HIGH’, thì chuyển đôi chế độ `runMode` giữa bật va tắt

buttenState=TLOW;

runMode=!runMode;

/ /Cập nhật trạng thái LED và gửi dữ liệu trạng thái chế độ lên ứng dụng Blynk

điợitalWrite (TedMode, runMode) ;

Serial.println("Run mode: " + String(runMode));

Blynk.virtualWrite (CHEDO, runMode) ;

Trang 14

}

void handleTimerID1 () {

int mq2 = analogRead(A0); //Đọc giá trị cảm biến khí gas từ chân A0 (MQ2)

float voltage = mq2 / 1024.0 * 3.3; //Tính điện áp đầu ra của cảm biến

float ratio = voltage / 1.4;

//Tinh giá trị nồng độ khí gas từ cảm biến MQ2 theo don vi ppm:

mq2 value = 1000.0 * pow(10, ((1ogl0(ratio) - 1.0278) / 0.6629)); Serial.bprintln("Gas: "+String(mq2_value,0)+"ppm");

Blynk virtualWrite(GAS,mq2 value); //Gui gia tri khí gas lên ứng dụng Blynk /Nếu `mq2_value` vượt quá mức cánh báo (mucCanhbao`) và hệ thống đang ở chế độ

`runMode`, còi bao va ro-le sé bat, đồng thời thông báo sự kiện cảnh báo qua Blynk

/Nếu không, còi báo và rơ-le sẽ tắt

Blynk.logEvent ("canhbao", String("Canh bao! Khi gas=" +

String(mg2 value)+”" vượt quá mức cho phép!"));

timerID2 = timer.setTimeout (60000L, handleTimerID2) ;

}

digitalWrite (buzzer, HIGH);

digitalWrite (relay, HIGH) ;

Blynk.virtualWrite (CANHBAO, HIGH) ;

Serial.println("Đã bật cảnh bao!");

}elsef

digitalWrite (buzzer, LOW);

digitalWrite (relay, LOW);

Blynk.virtualWrite (CANHBAO, LOW) ;

Trang 15

digitalWrite (relay, LOW);

Blynk virtualWrite (CANHBAO, LOW) ;

Trang 16

o espConfig.h (Dinh nghia lép, cau trúc)

//Dinh nghia ID va tén cla template Blynk ma thiét bi st dung

#define BLYNK TEMPLATE ID "TMPL6hFLnz8Ws"

#define BLYNK TEMPLATE NAME "Gas sensor"

#define dprint( ) Serial.print( VA ARGS _)

#define dprintln( ) Serial.println( VA ARGS )

volatile bool btSetupPressed = false;

volatile uint32 t btSetupPressTime = -1;

volatile uint32 t blinkTime = millis();

#define btSetupHoldTime 10000

define WIFI NET CONNECT TIMEOUT 50000

#define WIFI CLOUD CONNECT TIMEOUT 50000

define WIFI CLOUD MAX RETRIES 500

16

Trang 17

static int connectNetRetries = WIFI CLOUD MAX RETRIES;

static int connectBlynkRetries = WIFI CLOUD MAX RETRIES;

//Câu trúc để lưu trữ các thông tin cấu hình

struct ConfigStore{

uint8 t flags;

char ssid_sta[34]; //tén wifi

char pass sta[64]; // mật khẩu

char blynk auth[34]; // token Blynk

} attribute ( (packed) );

ConfigStore configStore; //Khai bao bién cấu trúc configStore

const ConfigStore configDefault = { //Cdu hinh default

template<typename T, int size>

void copyString(const Stringé s, T(éarr)[size]) {

MODE CONNECTING NET,

MODE CONNECTING CLOUD,

MODE RUNNING,

MODE SWITCH TO STA,

MODE RESET CONFIG,

MODE ERROR,

17

Ngày đăng: 15/02/2025, 22:04