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

Thiết kế và thi công mạch cảnh báo nồng độ cồn

39 207 3

Đ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

Định dạng
Số trang 39
Dung lượng 1,58 MB

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

Nội dung

Bộ phận cảnh báo có nhiệm vụ chính là phát các tín hiệu cảnh báo khi nồng độ cồn trong vùng không gian thở trước mặt của người sử dụng quá cao.. Chọn ngưỡng chặn và cảnh báo, căn cứ vào

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM

KHOA ĐIỆN – ĐIỆN TỬ

Trang 2

MỤC LỤC

PHẦN 1 TỔNG QUAN 1

1 GIỚI THIỆU ĐỀ TÀI 1

2 MỤC ĐÍCH NGHIÊN CỨU 1

3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2

4 THÔNG SỐ GIỚI HẠN 2

5 PHƯƠNG PHÁP NGHIÊN CỨU 2

PHẦN 2 NỘI DUNG 3

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 3

1.1 Mô tả quá trình hoạt động 3

1.2 Nguyên tắc hoạt động của cảm biến nồng độ cồn MQ3 3

1.3 Nguyên tắc kết nối giữa cảm biến MQ3 và Arduino 6

1.4 Cách lập trình với Arduino 6

1.5 Cách đọc dữ liệu từ cảm biến và hiển thị dữ liệu lên LCD oled 12

1.6 Hiển thị dữ liệu lên LCD oled 13

1.7 Tìm hiểu về buzzer 14

CHƯƠNG 2 THIẾT KẾ PHẦN CỨNG 16

2.1 Giới thiệu 16

2.2 Thiết kế sơ đồ khối 16

2.3 Giải thích chức năng các khối 16

2.4 Tính toán lựa chọn linh kiện 18

2.5 Sơ đồ kết nối mạch 19

CHƯƠNG 3 THIẾT KẾ PHẦN MỀM 19

3.1 Lưu đồ chương trình 20

3.2 Code chạy chương trình 20

CHƯƠNG 4 THI CÔNG MẠCH 25

4.1 Chuẩn bị linh kiện 26

Trang 3

5.1 Kết quả thực hiện 29

5.2 Hướng phát triển 32

PHẦN 3 KẾT LUẬN 33

TÀI LIỆU THAM KHẢO 34

Trang 4

Hình Trang Hình 1.1 Cảm biến MQ-3 4

Hình 1.2 Sơ đồ mạch điện của cảm biến 5

Hình 1.3 Sơ đồ kết nối 6

Hình 1.4 Arduino IDE 10

Hình 1.5 Arduino toolbar 10

Hình 1.6 IDE menu 10

Hình 1.7 File menu 11

Hình 1.8 Edit menu 11

Hình 1.9 Sketch menu 12

Hình 1.10 Hình ảnh mặt trước và mặt sau của LCD OLED 12

Hình 2.1 Sơ đồ khối của hệ thống 16

Hình 2.2 Sơ đồ kết nối khối cảm biến 17

Hình 2.3 Sơ đồ khối hiển thị và cảnh báo 17

Hình 2.4 Sơ đồ mạch 19

Hình 3.1 Lưu đồ thuật toán 20

Hình 4.1 Sơ đồ kết nối 28

Hình 5.1 sản phẩm hoàn chỉnh 29

Hình 5.2 Trường hợp bạn tỉnh táo 29

Hình 5.3 Trường hợp bạn đã uống bia 30

Trang 5

Hình 5.5 Trường hợp bạn uống rượu 31

Hình 5.6 Trường hợp bạn đang say 31

Bảng Trang

Bảng 1 Các thông số kĩ thuật của MQ-3 4

Bảng 2 Sơ đồ và chức năng các chân 13

Bảng 3 Danh sách các linh kiện 26

Trang 6

PHẦN 1 TỔNG QUAN

1 GIỚI THIỆU ĐỀ TÀI

Hiện nay, ở nước ta các tệ nạn xã hội ngày càng gia tăng mà một trong những nguyên nhân chủ yếu đó là do uống nhiều rượu bia Rượu, bia là nguyên nhân chủ yếu làm giảm năng suất lao động, gây ra các tệ nạn xã hội như bạo lực, gia đình tan vỡ, con cái

hư hỏng và đặc biệt gây ra các vụ tai nạn giao thông nghiêm trọng và đặc biệt nghiêm trọng Việt Nam là quốc gia thuộc tốp đầu các nước sử dụng rượu, bia khi tham gia giao thông Tình trạng sử dụng rượu, bia tràn lan ở nhiều nơi đã khiến trật tự an toàn giao thông trở thành vấn đề báo động đây chính là nguyên nhân hàng đầu gây tai nạn giao thông, khi điều khiển phương tiện bởi người lái xe thường phản ứng chậm, buồn ngủ, thiếu tập trung, việc nhìn thấy các biển báo, tín hiệu hoặc quan sát trên đường không còn rõ ràng nên có khi xử lý không đúng và có thể gây ra tai nạn Người say cũng "bốc đồng", không còn khả năng kiểm soát tốc độ cho nên thường phóng nhanh, vượt ẩu, lấn đường rất dễ gây tai nạn

Chính vì thế, có nhiều công trình nghiên cứu về vấn đề đo nồng độ cồn đối với những người tham gia giao thông Với những thực tế trên, nhóm em xin tìm hiểu và nghiên cứu đề tài “Thiết kế và thi công mạch cảnh báo nồng độ cồn.” mang tính cộng đồng và xã hội cao, nhằm mục đích chủ động ngăn ngừa kịp thời và cảnh báo sớm hiểm họa về tai nạn giao thông xảy ra, tạo nên một thói quen và ý thức tốt cho người tham gia giao thông

Trang 7

3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

Đối tượng nghiên cứu:

dữ liệu lên LCD oled

 Phạm vi nghiên cứu:

4 THÔNG SỐ GIỚI HẠN

 Mạch sử dụng vi điều khiển

 Không kết nối được với các thiết bị ngoại vi

5 PHƯƠNG PHÁP NGHIÊN CỨU

Phương pháp nghiên cứu lý luận: thông qua việc đọc phân tích tài liệu cần thiết

phục vụ cho đề tài… thu thập những tài liệu liên quan và hệ thống hóa cơ sở lý luận, đưa ra những quan điểm nghiên cứu cụ thể, rõ ràng, thuyết phục

Phương pháp tiếp cận môi trường: qua những khảo sát trong thực tiễn, nghiên cứu

ứng dụng nhằm mang lại những lợi ích thiết thực, có tính ứng dụng cao và có khả năng phát triển mở rộng

Trang 8

PHẦN 2 NỘI DUNG

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Mô tả quá trình hoạt động

Máy phát hiện nồng độ cồn có nhiệm vụ chính là kiểm tra trực tiếp nồng độ cồn trong hơi thở Bộ phận cảnh báo có nhiệm vụ chính là phát các tín hiệu cảnh báo khi nồng độ cồn trong vùng không gian thở trước mặt của người sử dụng quá cao Chọn ngưỡng chặn và cảnh báo, căn cứ vào các qui định của luật giao thông, ta chọn ngưỡng ngăn chặn và cảnh báo cho hệ thống ứng với nồng độ cồn

 Nếu nồng độ cồn đo được dưới 200µg/1 lít khí thở hiển thị “ Bạn tỉnh táo”

 Nếu nồng độ cồn đo được trên 200µg/1 lít khí thở và dưới 250µg/1lit hiển thị “ Bạn

đã uống bia” và led đỏ sẽ sáng

 Nếu nồng độ cồn đo được trên 250µg/1 lít khí thở và dưới 320µg/1lit hiển thị “ Bạn uống khá nhiều bia” led đỏ sáng đồng thời buzzer kêu , oled hiển thị mức phạt 1 triệu – 2 triệu

 Nếu nồng độ cồn đo được trên 320µg/1 lít khí thở và dưới 400µg/1lit hiển thị “Bạn uống rượu” led đỏ sáng đồng thời buzzer kêu, oled hiển thị mức phạt 1 triệu-2 triệu

sáng đồng thời buzzer kêu, oled hiển thị mức phạt 3 triệu-4 triệu

1.2 Nguyên tắc hoạt động của cảm biến nồng độ cồn MQ3

Cảm biến MQ-3 được sử dụng để đo nồng độ cồn Được làm từ vật liệu SnO2 Vật liệu này có tính dẫn điện kém trong môi trường không khí sạch nhưng lại rất nhạy cảm với hơi cồn Trong môi trường có nồng độ cồn càng cao, điện trở của cảm biến càng giảm Từ bảng số liệu, tỷ lệ điện trở của cảm biến giảm gần 5 lần khi đo trong môi trường không khí sạch Tuy nhiên hiệu ứng phát hiện nồng độ cồn của

Trang 9

cảm biến này còn phụ thuộc điều kiện nhiệt độ Khi nhiệt độ bề mặt cảm biến được sấy nóng tới 600C thời gian cần thiết để phát hiện nồng độ cồn kéo dài khoảng 8 giây Cũng trong môi trường đó, khi nhiệt độ bề mặt cảm biến là 200C thời gian phát hiện nồng độ cồn kéo dài từ 3 đến 5 phút

Hình 1.1 Cảm biến MQ-3

Bảng 1 Các thông số kĩ thuật của MQ-3

Trang 10

Điện trở cảm biến 2÷ 20 KΩ tại nồng độ cồn 0,4

mg/l

Tỉ lệ điện trở cảm biến khi nồng độ cồn bằng 0 và 0,4mg/l

Sơ đồ mạch điện của cảm biến

Hình 1.2 Sơ đồ mạch điện của cảm biến

Trong mạch điện của cảm biến MQ3, có 2 đầu dây áp đầu ra của cảm biến, RL

là điện trở mạch ra được nối nối tiếp với cảm biến, trị số được cấp điện áp: VH là điện áp cấp cho mạch sấy và Vc điện áp cấp cho cảm biến, VRL là điện của RL có thể điều chỉnh được Các điện áp VH và Vc thường được cấp cùng trị số Trong mạch đo, các điện áp này được cấp 5 Vol DC Các tín hiệu ra của cảm biến được gửi

về bộ vi điều khiển để tính toán xử lý Module cảm biến MQ-3 Cảm biến thích hợp cho việc phát hiện nồng độ cồn trong hơi thở Phát hiện khí phát ra từ Etanol, Alcohol Đặc điểm của module cảm biến MQ-3: Có bốn chân, điện áp cung cấp là nguồn 5V, Dout đầu ra là tín hiệu số (0 và 1), Aout đầu vào là tín hiệu tương tự, đèn LED sáng khi phát hiện có khí, GND cấp điện cực âm, độ nhạy cao và chọn lọc tốt với ethanol, bền và ổn định đáng tin cậy, độ nhạy cao và thời gian đáp ứng nhanh

Trang 11

1.3 Nguyên tắc kết nối giữa cảm biến MQ3 và Arduino

Hình 1.3 Sơ đồ kết nối

Gồm 4 chân:

• VCC : 2,5V - 5V

• DOUT : Digital output

• AOUT: Analog output

Chương trình Arduino có thể được chia làm 3 phần: cấu trúc (structure), biến

số (variable) và hằng số (constant), hàm và thủ tục (function)

- Các kiểu dữ liệu:

* String

Trang 12

Trong một chương trình Arduino là sử dụng mảng ký tự để biểu diễn chuỗi

Cách khai báo:

Char Str1[15]; // khai bảo chuỗi có độ dài là 15 ký tự

Char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'}; //khai báo chuỗi có độ dài tối đa là 8 ký tự

và đặt nó giá trị ban đầu là arduino (7 ký tự) Buộc phải khai báo chuỗi nằm giữa hai dấu nháy đơn.Char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'}; //khai báo chuỗi có độ dài tối đa là 8 ký tự và đặt nó giá trị ban đầu là arduino<ký tự null>

Char Str4[ ] = "arduino"; // Chương trình dịch sẽ tự động điều chỉnh kích thước cho chuỗi Str4 này và đặt một chuối trong dấu ngoặc kép

Char Str5[8] = "arduino"; // Một cách khai báo như Str3

Char Str6[15] = "arduino"; // Một cách khai báo khác với độ dài tối đa lớn hơn

Int myPins[] = {2, 4, 8, 3, 6}; // tạo mảng myPins chứa 5 phần tử (lần lượt là 2, 4, 8,

3, 6) Mảng này không giới hạn số lượng phần tử vì có khai báo là "[]"

Int mySensVals[6] = {2, 4, -8, 3, 2}; // tạo mảng mySensVals chứa tối đa 6 phần tử, trong đó 5 phần tử đầu tiên có giá trị lần lượt là 2, 4, -8, 3, 2

Char message[6] = "hello"; // tạo mảng ký tự (dạng chuỗi) có tối đa 6 ký tự

* Double

Giống hết như kiểu Float Nhưng trên mạch Arduino thì kiểu Double lại chiếm đến 8 byte

bộ nhớ (64 bit)

* Float

Trang 13

Để định nghĩa 1 kiểu số thực, có thể sử dụng kiểu dữ liệu Float Một biến dùng kiểu dữ liệu này có thể đặt một giá trị nằm trong khoảng -3.4028235E+38 đến 3.4028235E+38 Nó chiếm 4 byte bộ nhớ

* Short

Giống kiểu Int, tuy nhiên có điều trên mọi mạch Arduino nó đều chiếm 4 byte bộ nhớ và biểu thị giá trị trong khoảng -32,768 đến 32,767 (-215 đến 215-1) (16 bit)

Cú pháp: short var = val;

Var: tên biến

Val: giá trị

* Unsigned long

Kiểu Unsigned long là kiểu số nguyên nằm trong khoảng từ 0 đến 4,294,967,295 (0 đến

232 - 1) Mỗi biến mang kiểu dữ liệu này chiếm 4 byte bộ nhớ

Cú pháp: unsigned int [tên biến] = [giá trị];

* Int

Kiểu Int là kiểu số nguyên chính được dùng trong chương trình Arduino Kiểu int chiếm 2 byte bộ nhớ Trên mạch Arduino Uno, nó có đoạn giá trị từ -32,768 đến 32,767 (-215 đến 215-1) (16 bit)

Cú pháp: int var = val;

Trang 14

var: tên biến

Một biến được khai báo kiểu Boolean sẽ chỉ nhận một trong hai giá trị: true hoặc false Và

sẽ mất 1 byte bộ nhớ cho điều đó

Trang 15

Hình 1.4 Arduino IDE

- Arduino toolbar: có một số button và chức năng như sau:

Hình 1.5 Arduino toolbar

Verify: kiểm tra code có lỗi hay không

Upload: nạp code đang soạn thảo vào arduino

New, open và save: tạo mới, mở và lưu lại

Serial Monitor: màn hình hiển thị dữ liệu từ arduino gửi lên máy tính

- Arduino IDE Menu

Hình1.6 IDE menu

File menu:

Trang 17

Hình 1.9 Sketch menu

Trong Sketch menu:

Verify/ compile: Chức năng kiểm tra lỗi code

Show Sketch Foder: Hiển thị nơi code được lưu

Add file: Thêm vào 1 tập code mới

Import library: Thêm thư viện cho IDE

1.5 Cách đọc dữ liệu từ cảm biến và hiển thị dữ liệu lên LCD oled

Dữ liệu được đọc từ cảm biến nhờ chương trình do người dùng lập trình trên Arduino

Dữ liệu đọc được sẽ được xử lí và hiển thị trên LCD oled

a/ LCD oled

Màn hình nhỏ, đường chéo chỉ khoảng 1,3" nhưng rất có thể đọc được là do sự tương phản cao một màn hình OLED Màn hình này được làm bằng 128x 64 pixel OLED trắng, đều được bật hoặc tắt bởi chip điều khiển Các chip điều khiển, SSD1306 có thể giao tiếp trong hai cách: I2C hoặc SPI Các OLED cần nguồn cung cấp điện 3.3V

và 3.3V mức logic cho giao tiếp, có thể sử dụng với các thiết bị 5V, Display Ram

128 x 64 bit

Hình 1.10 Hình ảnh mặt trước và mặt sau của LCD OLED

Trang 18

Bảng 2 Sơ đồ và chức năng các chân

không cho phép MCU đọc ghi dữ liệu

Ở mức cao thì LCD hoạt động bình thường

DC = 0 input là command

Trang 19

c là màu chữ, WHITE(1) hoặc BLACK(0)

bg là màu nền, WHITE(1) hoặc BLACK(0) Nếu chỉ điền c thì bg tự động chỉnh ngược với c

 size: Kích cỡ kí tự (Kích cỡ kí tự bằng (sizex5pixel) X (sizex7pixel))

1.7 Tìm hiểu về buzzer

Buzzer là một loại thiết bị phát âm có thể chuyển đổi tín hiệu âm thanh thành tín hiệu âm thanh Nó được sử dụng rộng rãi trong đồ chơi điện tử và bảng điều khiển

Trang 20

trò chơi trong đồ chơi âm thanh, quà tặng âm thanh, đồ gia dụng, báo thức cá nhân,

hệ thống báo động của ngân hàng và công an Buzzer được sử dụng rộng rãi trong

đồ chơi điện tử và trò chơi Buzzer được sử dụng chủ yếu để nhắc hoặc báo thức, theo thiết kế và mục đích khác nhau, có thể phát ra tiếng nhạc, tiếng còi, âm thanh buzzer, âm thanh báo thức, nhạc chuông điện và nhiều âm thanh khác Chuông báo động được sử dụng trong máy giặt làm cho âm thanh buzzer thêm rõ ràng, khiến người dùng vận hành các quy trình Các ứng dụng Buzzer trong các thiết bị gia dụng chủ yếu là báo động âm thanh, còi báo động, người sử dụng đã phát ra một thiết bị đốt cháy cảnh báo ở nơi khô ráo Buzzer được sử dụng như một cái chuông để gửi thêm âm thanh "ding dong" hoặc âm nhạc, gợi ý rằng khách ghé thăm Thẻ Buzzer được sử dụng trong thiệp chúc mừng, lời chào đơn giản; bộ phim buzzer được sử dụng trong còi báo động tự vệ cá nhân để gửi âm thanh báo thức cao; buzzer cài đặt trong an ninh công cộng, ngân hàng và khu vực bảo vệ nhà được sử dụng cho âm thanh báo động nhiều; nếu ai đó vào Cảnh báo khu vực, điều khiển cảm biến, tiếng

rú lên sẽ báo động Ở các nhà máy, trường học sử dụng buzzer, làm cho tiếng chuông điện nhiều hơn

Trang 21

2.2 Thiết kế sơ đồ khối

Từ các yêu cầu của đề tài, sơ đồ khối hệ thống được thiết kế như sau:

Hình 2.1 Sơ đồ khối của hệ thống

2.3 Giải thích chức năng các khối

Khối nguồn: Có chức năng cung cấp năng lượng cho toàn bộ hệ thống

+ Cấp nguồn ngoài 9V cho board mạch Arduino

+ Board Arduino cấp nguồn 5V cho led đỏ, oled LCD, cảm biến MQ3 và

Buzzer

Khối cảm biến: Dùng cảm biến nồng độ cồn MQ3 Cảm biến tín hiệu nồng độ cồn từ

hơi thở, gửi tín hiệu đến khối điều khiển

Trang 22

Hình 2.2 Sơ đồ kết nối khối cảm biến

Khối điều khiển: Dùng Arduino uno R3 Thực hiện xử lý tín hiệu và gửi tín hiệu về

khối hiển thị và cảnh báo

Khối hiển thị và cảnh báo: Dùng oled, led đỏ và buzzer Hiển thị thông tin về nồng

độ và mức phạt trên oled LCD,

led đỏ sẽ sáng khi nồng độ cồn đo được trên 200µg/1 lít khí thở, buzzer sẽ kêu khi nồng

độ cồn đo được trên 250µg/1 lít khí thở

Hình 2.3 Sơ đồ khối hiển thị và cảnh báo

Trang 23

2.4 Tính toán lựa chọn linh kiện

a/ Khối cảm biến

Dùng cảm biến nồng độ cồn MQ3 MQ3 là bộ cảm biến sử dụng SiO2 làm vật liệu cảm ứng nồng độ cồn trong không khí, bộ cảm biến khí sẽ rất nhạy cảm ở những nơi

có nồng độ cồn trong không khí cao

Đặc điểm của module: - Nhạy cảm với rượu và ethanol

- Điện áp đầu ra tăng khi nồng độ khí đo được tăng

- Nhanh chóng phản ứng và phục hồi

- Có thể điều chỉnh được độ nhạy cảm của module

- Có thể hiển thị kết quả trên màn hình LCD

b/ Khối điều khiển

Dùng Arduino uno Arduino là một board mạch vi xử lý nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn Mạch Arduino

Uno là dòng mạch Arduino phổ biến, khi mới bắt đầu làm quen, lập trình với

Arduino thì mạch Arduino thường nói tới chính là dòng Arduino UNO Hiện dòng

mạch này đã phát triển tới thế hệ thứ 3 (Mạch Arduino Uno R3) Arduino Uno R3 là

dòng cơ bản, linh hoạt, thường được sử dụng cho người mới bắt đầu

c/ Khối hiển thị và cảnh báo

hoặc SPI

hiệu âm thanh Lập trình đơn giản, dễ sử dụng, giá thảnh rẻ

khả năng phát ra ánh sáng hay tia hồng ngoại, tử ngoại Cũng giống như điốt, LED được cấu tạo từ một khối bán dẫn loại p ghép với một khối bán dẫn loại n.led đơn nhỏ gọn dễ sử dụng

Ngày đăng: 17/07/2019, 08:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w