Máy rửa tay, hiển thị thông số phòng lên LCD và điểm danh bằng quét mã QR

24 26 0
Máy rửa tay, hiển thị thông số phòng lên LCD và điểm danh bằng quét mã QR

Đ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

ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL 12 Bộ Thông tin và Truyền thông Học viện Công nghệ Bưu chính Viễn thông Khoa Kĩ thuật Điện tử I Đồ án Thiết kế Hệ thống Nhúng ĐỀ TÀI “Máy rửa tay, hiển thị thông.

BỘ THƠNG TIN VÀ TRUYỀN THƠNG Học viện Cơng nghệ Bưu Viễn thơng Khoa Kĩ thuật Điện tử I Đồ án Thiết kế Hệ thống Nhúng ĐỀ TÀI: “Máy rửa tay, hiển thị thơng số phịng lên LCD điểm danh quét mã QR” Giảng viên hướng dẫn: Nguyễn Ngọc Minh Hà Nội – 2022 LỜI NÓI ĐẦU Ngày nay, công nghệ ứng dụng vào tất lĩnh vực sống Trong không nhắc tới hệ thống nhúng, tất thiết bị điện tử, phương tiện gắn máy đại có xuất “nó” Các hệ thống nhúng dù lớn hay nhỏ đề cần có não xử lý, hệ thống lớn xuất niều não, vi điều khiển, máy tính nhúng, … ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Trong chương trình học tại, Học viện Khoa Kỹ thuật Điện tử I đưa vào nhiều kiến thức liên quan dòng vi điều khiển phổ biến Và qua tìm hiểu nhóm em nhóm em định dùng Arduino để lập trình, điều khiển đề tài Từ mong muốn ứng dụng kiến thức học vào lập trình giúp đỡ cho công việc chống dịch Covid – 19 trở nên hiệu quả, nên nhóm định thực đề tài “Máy rửa tay, điểm danh quét mã QR hiển thị thơng số phịng lên LCD” Dưới hướng dẫn thầy Nguyễn Ngọc Minh, kết hợp với kiến thức học, nhóm hồn thành đề tài Nội dung đề tài bao gồm chương: - Chương I: Tổng quan đề tài Chương II: Nghiên cứu “Máy rửa tay, hiển thị thơng số phịng lên LCD điểm - danh quét mã QR” Chương III: Hoàn thiện sản phẩm đánh giá kết ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn đến Ban Giám đốc Học viện Công nghệ Bưu Viễn thơng tạo mơi trường rèn luyện, trau dồi kiến thức, kinh nghiệm tốt hiệu để nhóm có hội phát triển cung cấp hành trang quý giá cho chuyên môn nói riêng sống nói chung Xin trân trọng cảm ơn thầy Nguyễn Ngọc minh tận tình giúp đỡ nhóm thực đề tài “Máy rửa tay, điểm danh mã QR hiển thị thơng số phịng lên LCD” Với kiến thức hướng dẫn tận tình, chi tiết thầy giúp đỡ nhóm đề tài nhiều điều từ phong làm việc chuyên nghiệp đến kiến thức chuyên môn từ đến chuyên sâu Do nghiên cứu phần kiến thức mới, với hạn chế kinh nghiệm nghiên cứu, nên đề tài nhóm khơng thể tránh khỏi sai sót, mong nhận ý kiến đóng góp từ bạn để đề tài hồn thiện Cuối cùng, kính chúc thầy gia đình ln ln mạnh khỏe, thành cơng Dưới đây, nhóm xin trình bày chi tiết phần nội dung đề tài ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 MỤC LỤC MỤC LỤC HÌNH ẢNH ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 CHƯƠNG I: TỔNG QUAN ĐỀ TÀI Chương trình bày tổng quan thành phần, linh kiện, module dùng đến đề tài chức Arduino Mega 2560 • Arduino Mega 2560 khác với tất vi xử lý trước khơng sử dụng FTDI chip điều khiển chuyeernt ín hiệu từ USB để xử lý Thay vào sử dụng Atmega16U2 lập trình lafmoojt cơng cụ chuyển đổi tín hiệu từ USB Với khả lập trình cho ứng dụng điều khiển phức tạp trang bị cấu hình mạnh cho loại nhớ ROM, RAM, Flash, ngõ vào digital I/O có nhiều ngõ có khả xuất tín hiệu PWM, ngõ tín đọc tín hiệu analog chuẩn giao tiếp đa dạng UART, SPI, TWI(I2C) Hình Arduino Mega 2560 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Cảm biến Nhiệt độ , độ ẩm DHT 11 Hình DHT11 - DHT11 cảm biến nhiệt độ độ ẩm Nó đời sau sử dụng thay cho dịng SHT1x nơi khơng cần độ xác cao nhiệt độ độ ẩm.DHT11 - có cấu tạo chân hình Nó sử dụng giao tiếp số theo chuẩn dây Thông số kỹ thuật: - Đo độ ẩm: 20%-95% - Nhiệt độ: 0-50℃ - Sai số độ ẩm ±5% - Sai số nhiệt độ: ±2℃ Cảm biến vật cản hồng ngoại E18-D80NK: Hình Cảm biến hồng ngoại E18 D80NK ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG • • • • • Nhóm BTL: 12 Số dây tín hiệu: dây (2 dây cấp nguồn DC dây tín hiệu) Nguồn điện cung cấp: 5VDC Khoảng cách phát hiện: ~ 80cm Có thể điều chỉnh khoảng cách qua biến trở Chân tín hiệu ngõ ra: dạng Transistor NPN kéo nội trở 10k lên VCC, có vật cản xuất mức thấp (Low-GND), khơng có vật cản mức cao • • (High-VCC) Có led hiển thị ngõ màu đỏ Kích thước: 18 x 45mm Cảm biến ánh sáng Hình Module XH-M209 • • • • Dải điện áp: DC 3-5V Dạng đầu ra: Đầu công tắc kỹ thuật số DO đầu điện áp analog AO Bộ so sánh: Bộ so sánh LM393 Chức hiệu chuẩn: Chiết áp điều chỉnh điều chỉnh độ sáng đèn phát • • Loại điện trở: Điện trở quang cảm biến nhạy Kích thước: 30 * 15 * 9mm ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Máy bơm Hình Máy bơm 12V • • • • Điện áp làm việc: 12VDC Lưu lượng tối đa: 2-3 lit/phút Độ sâu hút đạt được: - 2.5m Tuổi thọ làm việc bình thường: - năm Relay 5v Hình Relay 5V HIGH • • • Điện áp hoạt động: 5VDC Gồm chân: VCC, GND, IN Mục đích hoạt động: Chân IN nhận tín hiệu từ cảm biến kích Relay => chạy máy bơm ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 LCD 20x4, I2C a LCD 20x4 Hình LCD 20x4 • LCD (Liquid Crytal Display) sử dụng nhiều ứng dụng Vi điều khiển LCD có nhiều ưu điểm so với dạng hiển thị khác Nó có khả hiển thị kí tự đa dạng, trực quan (chữ, số kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn tài ngun hệ • thống giá thành rẻ,… Thông số kỹ thuật: - Điện áp hoạt động: 5V - Hiển thị tối đa 20 ký tự dòng - Chữ đen, xanh b I2C Hình Module I2C - Về LCD tốn nhiều chân để hiển thị thông tin cần thiết, qua module I2C rút gọn số chân xuống chân Bao gồm: Chân VCC, GND, SDA, SCL Quạt 5V 6x6x2.5cm, LED đơn - Về quạt đèn led để mơ chức đề tài ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Hình Quạt 5V 6x6x2.5cm Hình 10 LED đơn 10 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Chương II: Nghiên cứu “Máy rửa tay, hiển thị thơng số phịng lên LCD điểm danh quét mã QR” Sơ đồ khối Hình 11 Sơ đồ khối - Từ Arduino Mega 2560, bọn em lập trình nhận liệu input từ cảm biến khoảng cách đẩy output vào chân in Relay kích máy bơm (trong - trường hợp có vật cản) Tiếp tục từ Arduino Mega 2560, đọc liệu từ cảm biến DHT11 (Nhiệt độ, - độ ẩm), XH-M209 (Ánh sáng) hiển thị lên LCD 20x4 Và từ điều kiện môi trường, bật tắt đèn, bật tắt quạt 11 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Lập trình cho Arduino Mega 2560 - Thư viện, biến cục chia phần (Task) cho Arduino xử lý #include #include "DHT.h" #include void Task_LCD (void *param); void Task_Analog (void *param); void Task_Sensor (void *param); void Task_Fan (void *param); TaskHandle_t Task_Handle1; TaskHandle_t Task_Handle2; TaskHandle_t Task_Handle3; TaskHandle_t Task_Handle4; void setup(){ Serial.begin(115200); xTaskCreate(Task_LCD,"Task 1",256,NULL,2,&Task_Handle1); xTaskCreate(Task_Analog,"Task 2",64,NULL,2,&Task_Handle2); xTaskCreate(Task_Fan,"Task 3",128,NULL,2,&Task_Handle3); xTaskCreate(Task_Sensor,"Task 4",64,NULL,2,&Task_Handle4); } void loop(){ } volatile float luminance_local; volatile int check_fan_local = 0; Hình 12 Thư viện, chia Task biến cục 12 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Task đọc giá trị Analog từ Cảm biến ánh sáng XH-M209 - void Task_Analog(void *param){ (void) param; while(1){ float luminance = 0.00, ADC_value = 0.0048828125, LDR_value; LDR_value = analogRead(A1); luminance = (250 / (ADC_value * LDR_value)) - 50; luminance_local = luminance; Serial.print("Anh sang la: "); Serial.print(luminance); Serial.println(""); vTaskDelay(1000/portTICK_PERIOD_MS); } } Hình 13 Task đọc giá trị Analog từ cảm biến ánh sáng 13 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG - Nhóm BTL: 12 Task đọc giá trị Cảm biến khoảng cách để kích hoạt relay => kích hoạt máy bơm #define sensor 34 #define relay_pump 35 void Task_Sensor(void *param){ (void) param; pinMode(sensor, INPUT); pinMode(relay_pump, OUTPUT); while(1){ int value_sensor = digitalRead(sensor); if (value_sensor == HIGH){ digitalWrite(relay_pump, HIGH); vTaskDelay(70/portTICK_PERIOD_MS); digitalWrite(relay_pump, LOW); vTaskDelay(1000/portTICK_PERIOD_MS); } else{ digitalWrite(relay_pump, LOW); } } } Hình 14 Task cảm biến khoảng cách chạy máy bơm 14 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Task nhấn nút để bật tắt quạt cần thiết - #define relay_fan 37 volatile int button = 39; void Task_Fan(void *param){ (void) param; pinMode(button, INPUT_PULLUP); pinMode(relay_fan, OUTPUT); while(1){ int value_button = digitalRead(button); Serial.print("Quat = "); Serial.print(check_fan_local); Serial.print(" Nut nhan = "); Serial.print(value_button); if (value_button == 0){ if (check_fan_local == 0) { digitalWrite(relay_fan, HIGH); check_fan_local = check_fan_local + 1; } else if (check_fan_local == 1) { digitalWrite(relay_fan, LOW); check_fan_local = 0; } } vTaskDelay(100/portTICK_PERIOD_MS); } } Hình 15 Task bật tắt quạt nhấn nút 15 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Task hiển thị thơng tin cần thiết LCD #include #include LiquidCrystal_I2C lcd(0x27,20,4); void Task_LCD(void *param){ (void) param; pinMode(26,OUTPUT); pinMode(28,OUTPUT); lcd.init(); lcd.begin (20,04); lcd.setBacklight(1); lcd.setCursor(3,0); lcd.print("Xin chao ban!"); lcd.setCursor(0,1); lcd.print("Anh sang: "); while(1){ lcd.setCursor(11,1); lcd.print(round(luminance_local)); lcd.print(" lux"); if (luminance_local < 35){ digitalWrite(26, 1); digitalWrite(28, 1); lcd.setCursor(0,2); lcd.print("Den dang bat !!"); Serial.println("Den dang bat !!!"); } Hình 16 Task hiển thị LCD 16 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 else{ digitalWrite(26, 0); digitalWrite(28, 0); lcd.setCursor(0,2); lcd.print("Den dang tat !!"); Serial.println("Den dang tat !!!"); } if (check_fan_local == 0){ lcd.setCursor(0,3); lcd.print("Quat dang tat !!"); Serial.println("Quat dang tat !!!"); } else if (check_fan_local == 1){ lcd.setCursor(0,3); lcd.print("Quat dang bat !!"); Serial.println("Quat dang bat !!!"); } vTaskDelay(1000/portTICK_PERIOD_MS); } } Hình 17 Task hiển thị LCD 17 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Tạo mã QR code điểm danh - Từ Google Form, tạo mục điền thông tin như: Họ tên, Mã sinh viên, Số điện thoại, … Hình 18 Google Form để điểm danh 18 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 - Và sau đó, Google Form tự đẩy thông tin lên Google Sheet Như vậy, có thơng tin người vào Có thể cấu hình cột Google Sheet tương tự Microsoft Excel để xếp hợp lí Hình 19 Dữ liệu từ Google Form sang Google Excel - Cuối tạo mã QR code online từ link Google Form Hình 20 Mã QR code để điểm danh 19 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 CHƯƠNG III: HỒN THIỆN SẢN PHẨM VÀ ĐÁNH GIÁ KẾT QUẢ Hoàn thiện sản phẩm - Dưới số hình ảnh sản phẩm trước sau hồn thành Hình 21 Test thử chức sản phẩm 20 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Hình 22 Hàn chân cần thiết tạo mơ hình Hình 23 Test lại chức lần cuối 21 Hình 24 Hoàn thiện sản phẩm ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG Nhóm BTL: 12 Đánh giá sản phẩm - - Sản phẩm (mơ hình) cịn nhiều thiếu sót Theo đánh giá nhóm sản phẩm hồn thành 98% mục tiêu đề Ví dụ như: Hiển thị đèn bật (tắt), quạt bật (tắt), thơng số ánh sáng lên LCD Bên cạnh cịn rửa tay thơng qua cảm biến khoảng cách E18 – D80NK Và cịn điểm danh mã quét QR hiển thị thông tin sinh viên lên Google Excel Về vấn đề chưa làm được: Nếu lập trình bình thường để nhận liệu từ DHT22 DHT11 nhận liệu, cho hệ điều hành vào bị xung đột (Theo nhóm tìm hiểu nước ngồi họ bị xung đột vậy) 22 ... như: Hiển thị đèn bật (tắt), quạt bật (tắt), thơng số ánh sáng lên LCD Bên cạnh cịn rửa tay thơng qua cảm biến khoảng cách E18 – D80NK Và cịn điểm danh mã quét QR hiển thị thông tin sinh viên lên. .. ? ?Máy rửa tay, hiển thị thơng số phịng lên LCD điểm danh quét mã QR? ?? Sơ đồ khối Hình 11 Sơ đồ khối - Từ Arduino Mega 2560, bọn em lập trình nhận liệu input từ cảm biến khoảng cách đẩy output vào... chuyên môn nói riêng sống nói chung Xin trân trọng cảm ơn thầy Nguyễn Ngọc minh tận tình giúp đỡ nhóm thực đề tài ? ?Máy rửa tay, điểm danh mã QR hiển thị thơng số phịng lên LCD? ?? Với kiến thức hướng

Ngày đăng: 25/10/2022, 22:49

Mục lục

    MỤC LỤC HÌNH ẢNH

    CHƯƠNG I: TỔNG QUAN ĐỀ TÀI

    2. Cảm biến Nhiệt độ , độ ẩm DHT 11

    3. Cảm biến vật cản hồng ngoại E18-D80NK:

    4. Cảm biến ánh sáng

    7. LCD 20x4, I2C

    Chương II: Nghiên cứu “Máy rửa tay, hiển thị thông số phòng lên LCD và điểm danh quét mã QR”

    2. Lập trình cho Arduino Mega 2560

    CHƯƠNG III: HOÀN THIỆN SẢN PHẨM VÀ ĐÁNH GIÁ KẾT QUẢ

    1. Hoàn thiện sản phẩm

Tài liệu cùng người dùng

Tài liệu liên quan