Các hàm giao tiếp chính

Một phần của tài liệu Đồ án: Nghiên cứu thiết kế và chế tạo thiết bị đo nồng độ cồn (Trang 28)

5. Ý nghĩa khoa học và thực tiễn

3.2.1. Các hàm giao tiếp chính

1. Hàm giao tiếp với cảm biến cồn MQ3

Do cảm biến cồn MQ3 có đầu ra tương tự nên được nối với chân ADC của vi điều khiển STM32F103C8T6, vậy nên trước hết chúng ta cần cấu hình cho ADC sau đó thì viết đoạn chương trình con đọc giá trị ADC về.

Đoạn chương trình cấu hình ADC có nhiệm vụ lựa chọn kênh ADC sẽ sử dụng, điện áp chuẩn, kiều định dạng kết quả, thời gian lấy mẫu, cho phép khởi động ADC…

Sau khi cấu hình cho ADC xong, ta viết một đoạn chương trình con đọc ADC như sau:

“Vậy là ta đã xong phần cấu hình và chương trình con đọc ADC, khi nào muốn đọc ADC ta chỉ việc gọi chương trình con là xong chẳng hạn: adcvalue = Read_ADC(ADC1,0) , thì ADC sẽ cho kết quả chuyển đổi ở ADC1 kênh 0. Từ giá trị số hóa đọc về để có được giá trị thực (điện áp) của đại lượng đo ta sử dụng công thức chuyển đổi sau”:

*3.3 4095

adcvalue U

2. Hàm giao tiếp với bàn phím

Để có thể đọc được giá trị các phím bấm từ bàn phím thì em sử dụng phương pháp quét bàn phím với các bước như sau:

 Kiểm tra xem có phím nào được bấm hay không

{ KEY4X3_ROW4=0;

} }

if(!KEY4X3_COL2) return KEY_4X3[i][1]; if(!KEY4X3_COL3) return KEY_4X3[i][2]; }

} }

return 0; }

3. Hàm giao tiếp với LCD

Để giao tiếp đươc với LCD, đầu tiên chúng ta phải viết một hàm khởi tạo cho LCD như sau:

}

Sau khi khởi tạo xong, chúng ta tiến hành viết các chương trình con giao tiếp với LCD như gửi 1 ký tự lên LCD, gửi một chuỗi ký tự, nhận một ký tự, xóa LCD…  Gửi một chuỗi ký tự lên LCD

void LCD16X2_Puts(uint8_t *s) { while (*s) { LCD16X2_PutChar(*s); s++; } }

}

4. Hàm giao tiếp với các phím điều khiển CLEAR, SEND, START

“Để giao tiếp với các phím này ta dùng ngắt ngoài, mỗi phím tương ứng với một ngắt ngoài. Đầu tiên ta viết chương trình cấu hình ngắt ngoài cho từng phím, sau đó là chương trình phục vụ ngắt tương ứng”.

 Hàm phục vụ ngắt ngoài void EXTI4_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line4) != RESET) { flag4=1;

flag=4;

EXTI->PR = EXTI_Line4; delay_ms(100);

} }

 Lưu đồ chương trình ngắt nhận USART

 Lưu đồ chương trình phục ngắt ngoài cho phím START

Hình 3.10. Lưu đồ chương trình phục ngắt ngoài cho phím START

Khi có ngắt xuất hiện (Bấm phím START) thì ta gán biến Flag=4, Flag4=1, xóa cờ ngắt.

 Lưu đồ chương trình phục vụ ngắt ngoài cho phím CLEAR

Hình 3.11. Lưu đồ chương trình phục vụ ngắt ngoài cho phím CLEAR.

Khi có ngắt xuất hiện (bấm phím CLEAR) thì gán biến Flag=3, xóa cờ ngắt.

 Lưu đồ chương trình phục vụ ngắt ngoài cho phím SEND

Khi có ngắt xuất hiện (bấm phím SEND) thì thực hiện gán phím Flag=2, xóa cờ ngắt.

3.3. Kết quả thực hiện thiết kế thiết bị đo

Hình 3.13. Thiết bị đo hoàn chỉnh.

Hình 3.15. Thiết bị đo khi đo không khí không có cồn

Hình 3.16. Thiết bị đo gửi thông tin lên server thành công

Thiết bị sau khi chế tạo đã được thử nghiệm và hoạt động theo đúng các yêu cầu cần thiết đề ra như đo nồng độ cồn, hiển thị LCD, nhập chứng minh nhân dân, truyền thông lên server thành công.

KẾT LUẬN

Sau thời gian thực hiện đề tài tốt nghiệp dưới sự hướng dẫn tận tình của cô giáo Th.s Trần Thị Phương Thảo và sự giúp đỡ của các thầy cô trong bộ môn em đã cơ bản hoàn thành đồ án tốt nghiệp với nội dung chính như sau”

- Tìm hiểu tổng quan về các thiết bị đo nồng độ cồn.

- Nghiên cứu cấu tạo và nguyên lý hoạt động về cảm biến đo nồng độ cồn Mq3.

- Xây dựng phương án thiết kế thiết bị đo nồng độ cồn trong an toàn giao thông.

- Thiết kế, chế tạo thành công thiết bị đo nồng độ cồn: Thiết bị chạy tốt, có khả năng hiển thị kết quả đo trên LCD, lưu trữ và gửi kết quả đo lên Web qua mạng wifi.

Trong quá trình thực hiện đồ án đã giúp em nắm được các công việc cơ bản để tiến hành xây dựng, thiết kế và triển khai một thiết bị đo thực tế. Đồng thời, cũng giúp em củng cố lại những kiến thức đã được học trong 5 năm học ở trường.

TÀI LIỆU THAM KHẢO

[1]. Datasheet STM32F103C8T6, Datasheet MQ3, Datasheet ESP8266.

[2]. Nguyễn Văn Hòa (chủ biên ) - Hoàng Sỹ Hồng - Bùi Đăng Thảnh "Giáo

trình đo lường điện và cảm biến đo lường",

[3]. Đào Đức Thịnh, “Slide lập trình C cho hệ thống nhúng” [4]. Các tài liệu ở trang http://icviet.vn/ .

[5]. Các tài liệu ở trang http://icviet.vn/

[6]. Đào Trung Kiên, “Slide kỹ thuật lập trình và Slide CSDL” [7]. Các tài liệu ở trang http://www.w3schools.com/

MỤC LỤC

LỜI NÓI ĐẦU ... 1

1. Tính cấp thiết của đề tài ... 1

2. Mục đích nghiên cứu của đề tài ... 1

3. Đối tượng và phạm vi nghiên cứu ... 1

4. Phương pháp nghiên cứu ... 1

5.Ý nghĩa khoa học và thực tiễn ... 2

CHƢƠNG 1. TỔNG QUAN VỀ THIẾT BỊ ĐO NỒNG ĐỘ CỒN ... 3

1.1. Tổng quan về các loại cảm biến khí đo nồng độ cồn ... 3

1.1.1. Tổng quan về phương pháp đo khí ... 3

1.1.2. Một số phương pháp đo nồng độ cồn ... 4

1.2. Một số cảm biến đo nồng độ cồn trên thị trường ... 9

1.3. Hiện trạng thiết bị đo nồng độ cồn trong giao thông hiện nay ... 9

Chƣơng 2. PHƢƠNG ÁN THIẾT KẾ VÀ LỰA CHỌN THIẾT BỊ ... 11

2.1. Phân tích nhiệm vụ và yêu cầu thiết kế ... 11

2.1.1. Nhiệm vụ ... 11

2.1.2. Yêu cầu ... 11

2.1.3. Mô hình tổng quan của thiết bị đo ... 11

2.1.4. Mô hình thu thập ... 12

2.1.5. Phương thức truyền tin không dây ... 12

2.2. Hệ thống thu thập, xử lý, truyền thông sử dụng vi điều khiển ... 13

2.2.1.Giới thiệu chung về vi điều khiển STMF32F103C8T6 ... 13

2.2.2.Module ADC trong STM32F103C8T6 ... 14

2.3.Cài đặt Webserver ... 14

2.4.Phân tích và lưạ chọn thiết bị ... 15

2.4.1.Vi điều khiển STM32F103C8T6 ... 15

2.4.2.Module Wifi ESP8266... 16

2.4.3.Cảm biến nồng độ cồn MQ3 ... 17

2.4.4.Màn hình hiển thị LCD 16x2 ... 20

2.4.5.Bàn phím ... 20

2.4.6.Thiết bị phát Wifi không dây (Router 3G) ... 22

2.4.7.Sever ... 23

Chƣơng 3: THIẾT KẾ THIẾT BỊ ĐO NỒNG CỒN SỬ DỤNG CẢM BIẾN MQ3 TRONG AN TOÀN GIAO THÔNG... 24

3.1.Thiết kế chi tiết thiết bị đo ... 24

3.2.Các thuật toán chính cho vi điều khiển ... 28

3.2.1.Các hàm giao tiếp chính ... 28

3.2.2. Lưu đồ thuật toán chính ... 35

3.3. Kết quả thực hiện thiết kế thiết bị đo ... 40

KẾT LUẬN ... 42

DANH MỤC BẢNG BIỂU

Hình 1.1. Cảm biến bán dẫn màng dầy thiếc ô-xít (SnO2) ... 5

Hình 1.2: Đo nồng độ cồn dùng phù kế ... 8

Hình 1.3: Cảm biến fuel cell đo nồng độ cồn ... 8

Hình 1.4: Cảm biến màng oxit bán dẫn ... 10

Hình 2.1: Mô hình tổng quan của thiết bị ... 12

Hình 2.2. Sơ đồ chân của vi điều khiển STM32F103C8T6 ... 13

Hình 2.3. Module Wifi ESP8266 ... 16

Hình 2.4. Sơ đồ chân của module Wifi ESP8266. ... 17

Hình 2.5. Cảm biến nồng độ cồn MQ3 ... 17

Hình 2.6. Sơ đồ mạch điện tử của cảm biến. ... 18

Hình 2.7. Sự thay đổi điển trở của cảm biến theo giá trị nồng độ cồn. ... 18

Hình 2.8. Sơ đồ chân của cảm biến nồng độ cồn Mq3. ... 19

Hình 2.9. Sơ đồ chân của màn hình LCD 16x2. ... 20

Hình 2.10. Bàn phím ... 21

Hình 2.11. Sơ đồ mạch bàn phím ... 21

Hình 2.12. Sơ đồ mạch các phím điều khiển. ... 21

Hình 2.13. Router Wifi 3G Vodafone R208. ... 22

Hình 3.1. Sơ đồ các thành phần của thiết bị đo. ... 24

Hình 3.2. Sơ đồ nguyên lý khối VĐK và khối mở rộng ... 25

Hình 3.3. Khối kết nối cảm biến nồng độ cồn MQ3. ... 25

Hình 3.4. Khối kết nối với bàn phím ... 26

Hình 3.5 Khối kết nối với module Wifi Esp8266. ... 26

Hình 3.6. Khối nguồn 5V và 3.3V. ... 27

Hình 3.7. Khối LCD ... 27

Hình 3.8. Lưu đồ chương trình chính. ... 35

Hình 3.9. Lưu đồ chương trình phục vụ ngắt nhận USART ... 36

Hình 3.11. Lưu đồ chương trình phục vụ ngắt ngoài cho phím CLEAR... 38

Hình 3.12. Lưu đồ chương trình phục vụ ngắt ngoài cho phím SEND. ... 39

Hình 3.13. Thiết bị đo hoàn chỉnh... 40

Hình 3.14. Thiết bị đo kết nối Wifi. ... 40

Hình 3.15. Thiết bị đo khi đo không khí không có cồn ... 41

DANH MỤC BẢNG BIỂU

Bảng 1.1. Một số cảm biến đo nồng độ cồn trên thị trường ... 9 Bảng 3.1. Sơ đồ chân của vi điều khiển với ngoại vi ... .25

Một phần của tài liệu Đồ án: Nghiên cứu thiết kế và chế tạo thiết bị đo nồng độ cồn (Trang 28)

Tải bản đầy đủ (PDF)

(48 trang)