1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công mô hình hệ thống đo nhiệt độ, nhịp tim, nồng độ oxi trong máu và phun sát khuẩn

134 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 đề Thiết kế và thi công mô hình hệ thống đo nhiệt độ, nhịp tim, nồng độ oxi trong máu và phun sát khuẩn
Tác giả Lê Phú Quang, Huỳnh Kim Bảo
Người hướng dẫn ThS. Nguyễn Đình Phú
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ kỹ thuật điện tử - Truyền thông
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 134
Dung lượng 9,77 MB

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

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (19)
    • 1.1 ĐẶT VẤN ĐỀ (19)
    • 1.2 MỤC TIÊU NGHIÊN CỨU (19)
    • 1.3 NỘI DUNG NGHIÊN CỨU (19)
    • 1.4 GIỚI HẠN (20)
    • 1.5 BỐ CỤC (20)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (20)
    • 2.1 Các thông số về sức khỏe con người (22)
      • 2.1.1 Nhiệt độ cơ thể con người (22)
      • 2.1.2 Nhịp tim và cơ thể con người (23)
      • 2.1.3 Chỉ số nồng độ oxi trong máu (SPO2) (24)
    • 2.2 Các chuẩn giao tiếp được sử dụng (25)
      • 2.2.1 Chuẩn giao tiếp I2C (25)
      • 2.2.2 Chuẩn giao tiếp SPI (27)
      • 2.2.3 Chuẩn giao tiếp Bluetooth (29)
      • 2.2.4 Chuẩn giao tiếp UART (30)
    • 2.3 Tổng quan về hệ điều hành Android (31)
      • 2.3.1 Khái niệm về hệ điều hành Android (31)
      • 2.3.2 Giao diện (31)
      • 2.3.3 Ứng dụng (33)
    • 2.4 Vi điều khiển Arduino (35)
      • 2.4.1 Arduino là gì? (35)
      • 2.4.2 Giới thiệu tổng quát về các phiên bản Arduino (36)
        • 2.4.2.1 Arduino R3 (36)
        • 2.4.2.2 Arduino Nano (37)
        • 2.4.2.3 Arduino Mega 2560 (38)
      • 2.4.3 Vì sao lại chọn Arduino? (38)
    • 2.5 Relay và nguyên lý hoạt động (40)
      • 2.5.1 Giới thiệu về Relay (40)
      • 2.5.2 Giới thiệu về opto quang (optocoupler) (41)
      • 2.5.3 Giới thiệu Module Relay dùng Opto quang (41)
    • 2.6 Màn hình LCD (43)
      • 2.6.1 LCD 20x4 (43)
      • 2.6.2 Module I2C LCD (44)
    • 2.7 Module Micro SD card TF SPI (45)
    • 2.8 Cảm biến đo nhiệt độ không chạm MLX90614 (46)
      • 2.8.1 Tổng quan về Module (46)
      • 2.8.2 Chế độ hoạt động (47)
      • 2.8.3 Nguyên lý hoạt động của nhiệt kế hồng ngoại (47)
      • 2.8.4 Field of view (FOV – vùng nhìn thấy) (48)
      • 2.8.5 Giao tiếp với với cảm biến MLX90614 (50)
    • 2.9 Cảm biến đo nhịp tim và SPO2 MAX30100 (50)
      • 2.9.1 Tổng quan về Module (50)
      • 2.9.2 Nguyên tắc hoạt động của Module MAX30100 (51)
      • 2.9.3 Đo nhịp tim (52)
      • 2.9.4 Đo oxi trong máu (53)
      • 2.9.5 Giao tiếp với cảm biến MAX30100 (53)
    • 2.10 Giới thiệu phần mềm (54)
      • 2.10.1 MIT App Inventor (54)
      • 2.10.2 Phần mềm lập trình Arduino IDE (54)
  • CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ (20)
    • 3.1 Yêu cầu và sơ đồ khối của hệ thống (56)
      • 3.1.1 Yêu cầu của hệ thống (56)
      • 3.1.2 Sơ đồ khối (56)
      • 3.1.3 Chức năng của từng khối (57)
    • 3.2 Thiết kế phần cứng (58)
      • 3.2.1 Khối xử lý trung tâm (58)
      • 3.2.2 Khối hiển thị (61)
      • 3.2.3 Khối cảm biến (63)
        • 3.2.3.1 Cảm biến nhiệt độ không chạm MLX90614 (63)
        • 3.2.3.2 Cảm biến đo nhịp tim và SpO2 (64)
        • 3.2.3.3 Cảm biến vật cản hồng ngoại (65)
      • 3.2.4 Khối nút nhấn (67)
        • 3.2.4.1 Bàn phím ma trận (67)
      • 3.2.5 Khối động cơ và quang báo (68)
        • 3.2.5.1 Khối quang báo (68)
        • 3.2.5.2 Bơm (69)
        • 3.2.5.3 Sơ đồ khối của khối động cơ và quang báo (71)
      • 3.2.6 Khối âm thanh (72)
        • 3.2.6.1 Module Micro SD card TF SPI (72)
        • 3.2.6.2 Mạch khuếch đại âm thanh PAM8403 (73)
        • 3.2.6.3 Loa (74)
        • 3.2.6.4 Sơ đồ nguyên lý khối âm thanh (75)
      • 3.2.7 Khối giao tiếp (75)
        • 3.2.7.1 Module Bluetooth HC 05 (75)
      • 3.2.8 Khối nguồn (77)
        • 3.2.8.1 Pin 18650 (77)
        • 3.2.8.2 Khối pin 3s1p (78)
        • 3.2.8.3 Adapter sạc pin Lithium 3 Cell 12.6V 2A (80)
        • 3.2.8.4 Mạch ổn áp 5V 7805 (81)
        • 3.2.8.5 Tính toán công suất của cả hệ thống (82)
      • 3.2.9 Sơ đồ nguyên lý toàn mạch (84)
  • CHƯƠNG 4: THI CÔNG HỆ THỐNG (20)
    • 4.1 Giới thiệu (85)
    • 4.2 Thi công hệ thống (85)
      • 4.2.1 Thi công mạch in (85)
      • 4.2.2 Đóng gói và thi công mô hình (91)
        • 4.2.2.1 Thi công hộp đựng (91)
        • 4.2.2.2 Bảng điều khiển trung tâm (94)
        • 4.2.2.3 Thi công hộp đựng cảm biến đo nhịp tim và SPO2 (96)
        • 4.2.2.4 Thiết kế nơi đo nhiệt độ và rửa tay sát khuẩn (97)
    • 4.3 Lập trình hệ thống (98)
      • 4.3.1 Lưu đồ giải thuật (99)
        • 4.3.1.1 Lưu đồ giải thuật chương trình chính (99)
        • 4.3.1.2 Lưu đồ chọn hương trình chọn chế độ sử dụng qua phím ma trận (100)
        • 4.3.1.3 Lưu đồ chương trình xử lý phím nhấn ma trận (101)
        • 4.3.1.4 Lưu đồ chương trình đo nhiệt độ và phun sát khuẩn (102)
        • 4.3.1.5 Lưu đồ chương trình đo nhịp tim, SPO2 (103)
      • 4.3.2 Phần mềm lập trình cho vi điều khiển (104)
      • 4.3.3 Phần mềm lập trình cho điện thoại (104)
    • 4.4 Hướng dẫn sử dụng, thao tác (106)
      • 4.4.1 Viết tài liệu hướng dẫn sử dụng (106)
        • 4.4.1.1 Hướng dẫn sử dụng trên thiết bị (106)
        • 4.4.1.2 Hướng dẫn thay đổi giá trị cảnh báo (108)
        • 4.4.1.3 Hướng dẫn thao tác khi hết dung dịch sát khuẩn (110)
        • 4.4.1.4 Hướng dẫn sử dụng sạc pin và dùng nguồn ngoài (110)
        • 4.4.1.5 Hướng dẫn sử dụng ứng dụng MIT AI2 (111)
      • 4.4.2 Quy trình thao tác (112)
  • CHƯƠNG 5: KẾT QUẢ - ĐÁNH GIÁ VÀ NHẬN XÉT (113)
    • 5.1 Kết quả (113)
      • 5.1.1 Tổng quan kết quả đạt được (113)
      • 5.1.2 Kết quả thi công phần cứng (113)
      • 5.1.3 Kết quả thi công phần mềm (114)
      • 5.1.4 Kết quả chạy thực tế trên thiết bị (115)
        • 5.1.4.1 Kết quả chạy trên thiết bị (115)
        • 5.1.4.2 So sánh kết quả đo thiết bị so với một số máy đo trên thị trường (116)
    • 5.2 Nhận xét (120)
    • 5.3 Đánh giá (120)
  • CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (21)
    • 6.1 Kết luận (122)
    • 6.2 Hướng phát triển (122)
  • TÀI LIỆU THAM KHẢO (123)
  • PHỤ LỤC (124)

Nội dung

Đề tài này sẽ là một hệ thống hoàn thiện bao gồm phần cứng phần mềm, hiện tại nhóm ứng dụng điêug khiển đèn trong phòng ở nhỏ và có thể đáp ứng được cho các phòng học, phòng thí nghiệm,

TỔNG QUAN

ĐẶT VẤN ĐỀ

Đại dịch Covid đã và đang tác động sâu sắc đến cuộc sống của chúng ta, ảnh hưởng lớn đến kinh tế và sức khỏe, đặc biệt là những hệ lụy của hậu Covid Mặc dù nhiều biện pháp đã được triển khai để giảm thiểu số ca mắc Covid, nhưng hiệu quả vẫn còn hạn chế Do đó, ý thức của mỗi người dân trong việc tuân thủ quy định 5K của Bộ Y tế là điều quan trọng nhất để kiểm soát dịch bệnh.

5K là biện pháp quan trọng trong việc ngăn chặn dịch Covid mà nhà nước khuyến khích người dân thực hiện Các yếu tố của 5K bao gồm: đeo khẩu trang, sát khuẩn tay, giữ khoảng cách, không tụ tập đông người và khai báo y tế Những quy định này áp dụng cho tất cả công dân nhằm bảo vệ sức khỏe cộng đồng.

Nhóm nghiên cứu đã thiết kế một hệ thống sát khuẩn tay tự động nhằm giảm thiểu nguy cơ lây nhiễm, vì tay là bộ phận tiếp xúc với nhiều vật dụng hàng ngày và thường chạm vào mũi, miệng, mắt Hệ thống này còn tích hợp theo dõi nhịp tim, nhiệt độ cơ thể và nồng độ oxy trong máu, giúp giám sát sức khỏe cá nhân Mục tiêu của thiết kế là góp phần kiểm soát dịch Covid-19 hiệu quả.

MỤC TIÊU NGHIÊN CỨU

Khám phá dòng vi xử lý Arduino và các thiết bị ngoại vi giao tiếp, đồng thời tìm hiểu cách thức hoạt động của các cảm biến như cảm biến đo nhiệt độ, cảm biến đo nhịp tim và nồng độ oxy trong máu.

Nghiên cứu, tìm hiểu lý thuyết của các chuẩn giao tiếp có liên quan tới hệ thống để hiểu rõ và ứng dụng được chúng vào hệ thống

Nghiên cứu cách thiết kế một ứng dụng trên điện thoại và cách kết nối chúng cũng như giao tiếp giữa ứng dụng đó với hệ thống.

NỘI DUNG NGHIÊN CỨU

• Tìm hiểu và nắm vững các giao tiếp với vi xử lý Arduino

• Tìm hiểu và giao tiếp với cảm biến đo nhiệt độ

• Tính toán, thiết kế và thi công các mạch phần cứng, phần mềm

• Thiết kế mô hình, lắp ráp các khối điều khiển

• Chạy thử, kiểm tra, cân chỉnh và tối ưu hệ thống

• Đánh giá kết quả thực hiện

• Viết báo cáo khóa luận tốt nghiệp

GIỚI HẠN

Sử dụng vi điều khiển Arduino làm bộ xử lý trung tâm giúp điều khiển kết nối với các cảm biến như MAX30100, MLX90614 và các module như mạch khuếch đại âm thanh, mạch thẻ nhớ.

• Sử dụng vi điều khiển Arduino kết hợp với màn hình hiển thị LCD để hiển thị, cảnh báo các thông số đo đạt được lên trên màn hình

• Kết hợp thêm module bluetooth HC-05 để hiển thị kết quả đo được trên ứng dụng Android.

BỐ CỤC

CƠ SỞ LÝ THUYẾT

Các thông số về sức khỏe con người

2.1.1 Nhiệt độ cơ thể con người

Năng lượng trong cơ thể con người được tạo ra qua quá trình chuyển hóa từ thực phẩm và đồ uống, cung cấp năng lượng cho các cơ quan hoạt động Cân bằng thân nhiệt đóng vai trò quan trọng trong việc kiểm soát các hoạt động của các men tham gia vào quá trình chuyển hóa Theo dõi thân nhiệt và nhận biết sự thay đổi nhiệt độ cơ thể giúp phát hiện sớm những bất thường, từ đó có biện pháp điều chỉnh kịp thời.

Nhiệt độ cơ thể của một người khỏe mạnh thường dao động từ 36℃ đến 37.5℃ Nhiều yếu tố có thể ảnh hưởng đến nhiệt độ này, bao gồm tuổi tác (trẻ em thường có nhiệt độ cao hơn người lớn, trong khi người già có nhiệt độ thấp hơn), nhiệt độ môi trường, nội tiết (đặc biệt ở phụ nữ), căng thẳng, thuốc, và thời điểm đo thân nhiệt.

Nhiệt độ cơ thể hạ thấp (hạ thân nhiệt) thường không đáng lo ngại nếu không có triệu chứng kèm theo Tuy nhiên, nếu hạ thân nhiệt đi kèm với ớn lạnh, run rẩy, khó thở hay nhầm lẫn, đó có thể là dấu hiệu của các bệnh nghiêm trọng như nhiễm trùng, tiểu đường hay vấn đề về tuyến giáp Ngược lại, nhiệt độ cơ thể tăng cao có thể do say nắng hoặc sốt Say nắng xảy ra khi cơ thể không kiểm soát được nhiệt độ, dẫn đến các triệu chứng như nhầm lẫn, mê sảng, bất tỉnh, và da đỏ, nóng, khô Nếu không được điều trị y tế khẩn cấp, say nắng có thể gây tử vong do mất nước nghiêm trọng và làm ngừng hoạt động của các cơ quan trong cơ thể.

Sốt được xác định khi nhiệt độ cơ thể vượt quá 37℃, với sốt nhẹ ở mức 37-38℃, sốt vừa từ 38-39℃, và sốt cao khi trên 39℃ Mặc dù dịch Covid đã giảm, nhưng tác động của nó vẫn còn lớn, vì vậy mỗi người cần tự bảo vệ bản thân và những người xung quanh Sốt là một trong những triệu chứng phổ biến của Covid, thường đi kèm với các triệu chứng khác như ho, đau họng và ớn lạnh, giúp chúng ta phân biệt giữa Covid, cảm cúm và sốt thông thường.

2.1.2 Nhịp tim và cơ thể con người

Cơ thể con người được cấu thành từ hàng nghìn tỷ tế bào, mỗi tế bào có cấu trúc và chức năng riêng Trái tim đóng vai trò quan trọng trong việc cung cấp máu và oxy đến từng tế bào, duy trì sự sống cho chúng Nó hoạt động như một máy bơm, tuần hoàn máu giàu oxy đến nuôi dưỡng tế bào và đưa máu đã hết oxy trở lại phổi để nạp lại oxy Nhịp tim là một chỉ số quan trọng, cho biết trái tim đang hoạt động ở trạng thái nghỉ ngơi hay vận động, từ đó ảnh hưởng đến tình trạng sức khỏe của con người.

Nhịp tim khỏe mạnh dao động từ 60-100 nhịp/phút, nhưng có ngoại lệ như vận động viên chuyên nghiệp với nhịp tim dưới 40 nhịp/phút và trẻ sơ sinh với nhịp tim trên 120 nhịp/phút Khi nhịp tim của một người bình thường trở nên bất thường, như quá chậm, quá nhanh hoặc không đều, đó được gọi là rối loạn nhịp tim Bệnh này thường gặp ở nam giới (70%) nhiều hơn so với phụ nữ (30%).

Rối loạn nhịp tim có thể xuất phát từ nhiều nguyên nhân, bao gồm rối loạn tâm lý, căng thẳng, stress, lao động gắng sức và việc sử dụng nhiều chất kích thích Bên cạnh đó, các bệnh lý như thiếu máu cơ tim, bệnh van tim, viêm cơ tim và tim bẩm sinh cũng tác động trực tiếp đến hệ thống tim mạch Ngoài ra, rối loạn nhịp tim còn liên quan đến các bệnh lý khác như tăng huyết áp, rối loạn mỡ trong máu, đái tháo đường và béo phì.

Hình 2.1 Nhịp tim lý tưởng ở người bình thường

Việc theo dõi nhịp tim thường xuyên là cách hiệu quả để đánh giá sức khỏe của trái tim và đưa ra các giải pháp phù hợp Bên cạnh đó, dịch Covid cũng ảnh hưởng đến sức khỏe tim mạch.

Việc theo dõi chỉ số nhịp tim là rất quan trọng để bảo vệ sức khỏe, đặc biệt là trong bối cảnh 6 tháng đã qua và vẫn tiếp tục kéo dài Nhằm đáp ứng nhu cầu này, nhóm đã quyết định thiết kế một hệ thống cho phép đo nhịp tim hàng ngày, giúp mọi người có thể tự theo dõi sức khỏe ngay tại nhà.

2.1.3 Chỉ số nồng độ oxi trong máu (SPO2)

Chỉ số SPO2 (Saturation of peripheral oxygen) là một yếu tố quan trọng trong việc theo dõi sức khỏe, bên cạnh chỉ số nhịp tim SPO2 xác định nồng độ oxy trong máu, ảnh hưởng đến khả năng cung cấp oxy cho các tế bào Khi chỉ số này thấp hơn mức quy định, tế bào sẽ nhận ít dinh dưỡng, dẫn đến nguy cơ thiếu hụt chất dinh dưỡng cần thiết cho sự sống Nếu tình trạng này kéo dài, sẽ gây nguy hiểm cho tế bào.

Chỉ số SPO2 được đo bằng phương pháp đo xung, một kỹ thuật gián tiếp và không xâm lấn Phương pháp này hoạt động bằng cách phát ra và hấp thu ánh sáng qua các mạch máu hoặc mao mạch ở đầu ngón tay, đầu ngón chân hoặc dái tai Sự thay đổi của sóng ánh sáng khi đi qua các bộ phận này cho biết mức độ oxi bão hòa trong máu, từ đó xác định chỉ số SPO2 thông qua biến đổi màu sắc của máu.

Chỉ số SPO2 an toàn trong máu là từ 94% trở lên Khi giá trị SPO2 giảm xuống dưới 95%, đây là dấu hiệu cảnh báo tình trạng thiếu oxy trong máu Các nghiên cứu đã chỉ ra rằng mức SPO2 từ 94% trở lên được coi là bình thường và đảm bảo an toàn cho sức khỏe.

Thang đo chỉ số SPO2 tiêu chuẩn:

• SPO2 từ 97% - 99%: Chỉ số oxi trong máu tốt

• SPO2 từ 94%-96%: Chỉ số oxi trong máu trung bình, cần thở thêm oxi

• SPO2 từ 90%-93%: Chỉ số oxi trong máu thấp, cần xin thêm ý kiến của bác sĩ chủ trị

• SPO2 dưới 92% Không thở oxi hoặc dưới 95% có thở oxi: Dấu hiệu suy hô hấp rất nặng

• SPO2 dưới 90%: Biểu hiện của ca cấp cứu lâm sàn

Một số triệu chứng khi chỉ số SPO2 giảm có thể kể đến như sau:

• Thay đổi về màu sắc của da

• Suy giảm trí nhớ, hay nhầm lẫn

• Nhịp tim không đều, nhanh hoặc chậm

• Khó thở, thở nhanh hoặc thở khò khè

Thiếu oxi máu (hạ chỉ số SPO2) là tình trạng nguy hiểm, ảnh hưởng nghiêm trọng đến não, gan và nhiều cơ quan khác trong cơ thể Việc theo dõi chỉ số SPO2 thường xuyên rất quan trọng để nắm rõ lượng oxi trong máu, từ đó có phương án xử lý kịp thời khi gặp tình huống nguy hiểm.

Các chuẩn giao tiếp được sử dụng

I2C là giao thức giao tiếp cho phép kết nối nhiều thiết bị slave với một master, hoặc một slave với một master, hoặc nhiều master với một slave Điều này rất hữu ích khi cần nhiều vi điều khiển ghi dữ liệu vào một thẻ nhớ duy nhất hoặc hiển thị thông tin trên màn hình LCD.

I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị:

- SDA - đường truyền cho master và slave để gửi và nhận dữ liệu

- SCL - đường mang tín hiệu xung nhịp

I2C là giao thức truyền thông nối tiếp, cho phép truyền dữ liệu từng bit qua một đường duy nhất (SDA) Giao thức này hoạt động đồng bộ, với đầu ra của các bit được đồng bộ hóa theo tín hiệu xung nhịp chung giữa master và slave, trong đó tín hiệu xung nhịp luôn do master điều khiển.

Hình 2.1: Khung truyền của chuẩn giao tiếp I2C

Bước 1: Master gửi tín hiệu khởi động đến tất cả các slave đã kết nối bằng cách hạ mức điện áp đường SDA từ cao xuống thấp, sau đó hạ mức điện áp đường SCL từ cao xuống thấp.

Bước 2: Master gửi cho mỗi slave địa chỉ 7 hoặc 10bit của slave mà nó muốn giao tiếp, cùng với bit đọc / ghi

Mỗi slave sẽ so sánh địa chỉ nhận từ master với địa chỉ của chính nó Nếu địa chỉ trùng khớp, slave sẽ gửi phản hồi ACK bằng cách kéo dòng SDA xuống thấp Ngược lại, nếu địa chỉ không khớp, slave sẽ giữ đường SDA ở mức cao.

Bước 4: Master gửi hoặc nhận khung dữ liệu

Bước 5: Sau khi mỗi khung dữ liệu được chuyển, thiết bị nhận trả về một bit

ACK khác cho thiết bị gửi để xác nhận đã nhận thành công khung

Bước 6: Để dừng truyền dữ liệu, master gửi điều kiện dừng đến slave bằng cách chuyển đổi mức cao SCL trước khi chuyển mức cao SDA Ưu điểm:

- Chỉ sử dụng hai dây tín hiệu

- Hỗ trợ nhiều thiết bị chủ, tớ

- Phần cứng ít phức tạp hơn so với UART

- Giao thức phổ biến được sử dụng rộng rãi

- Tốc độ truyền dữ liệu chậm hơn SPI

- Kích thước của khung dữ liệu bị giới hạn ở 8 bit

SPI là giao thức giao tiếp phổ biến, được nhiều thiết bị như module thẻ SD, module đầu đọc thẻ RFID và bộ phát/thu không dây 2,4 GHz sử dụng để kết nối với vi điều khiển.

Lợi ích nổi bật của SPI là khả năng truyền dữ liệu liên tục mà không bị gián đoạn, cho phép gửi hoặc nhận bất kỳ số lượng bit nào trong một luồng liên tục Ngược lại, I2C và UART gửi dữ liệu dưới dạng các gói, bị giới hạn bởi một số bit cụ thể, với các điều kiện bắt đầu và kết thúc xác định điểm khởi đầu và kết thúc của mỗi gói, dẫn đến việc dữ liệu bị gián đoạn trong quá trình truyền.

Giao tiếp qua SPI hoạt động theo mô hình master - slave, trong đó master là thiết bị điều khiển (thường là vi điều khiển) và slave là các thiết bị nhận lệnh như cảm biến, màn hình hoặc chip nhớ Cấu hình cơ bản nhất của SPI bao gồm một master và một slave, nhưng một master có khả năng điều khiển nhiều slave cùng lúc.

Hình 2.3 Chuẩn giao tiếp SPI

- MOSI (đầu ra master / đầu vào slave) - đường truyền cho master gửi dữ liệu đến slave

- MISO (đầu vào master / đầu ra slave) - đường cho slave gửi dữ liệu đến master

- SCLK (clock) - đường cho tín hiệu xung nhịp

- SS / CS (Slave Select / Chip Select) - đường cho master chọn slave nào để gởi tín hiệu

Hình 2.4 Giao tiếp I2C giữa nhiều Slave và một Master

Các bước truyền dữ liệu SPI:

Bước 1: Master ra tín hiệu xung nhịp

Bước 2: Master chuyển chân SS / CS sang trạng thái điện áp thấp, điều này sẽ kích hoạt slave

Bước 3: Master gửi dữ liệu từng bit một tới slave dọc theo đường MOSI Slave đọc các bit khi nó nhận được

Bước 4: Nếu cần phản hồi, slave sẽ gửi dữ liệu từng bit một cho master qua đường MISO, và master sẽ đọc các bit khi nhận được Ưu điểm của quy trình này là đảm bảo truyền tải dữ liệu chính xác và hiệu quả.

- Không có bit bắt đầu và dừng, vì vậy dữ liệu có thể được truyền liên tục mà không bị gián đoạn

- Không có hệ thống định địa chỉ slave phức tạp như I2C

- Tốc độ truyền dữ liệu cao hơn I2C (nhanh gần gấp đôi)

- Các đường MISO và MOSI riêng biệt, vì vậy dữ liệu có thể được gửi và nhận cùng một lúc

- Sử dụng bốn dây (I2C và UART sử dụng hai)

- Không xác nhận dữ liệu đã được nhận thành công (I2C có điều này)

- Không có hình thức kiểm tra lỗi như bit chẵn lẻ trong UART

- Chỉ cho phép một master duy nhất

Bluetooth là công nghệ truyền thông không dây tầm gần, cho phép truyền dữ liệu giữa các thiết bị điện tử Công nghệ này tạo ra mạng cá nhân không dây (Wireless Personal Area Network - PANs) với tốc độ truyền dữ liệu lên tới 1Mb/s và hỗ trợ tốc độ tối đa 720 Kbps trong khoảng cách từ 10 m đến 100 m Khác với kết nối hồng ngoại (IrDA), Bluetooth hoạt động vô hướng và sử dụng tần số 2,4 GHz.

Bluetooth được phát triển để thay thế dây cáp giữa máy tính và các thiết bị truyền thông cá nhân, cho phép kết nối vô tuyến giữa các thiết bị điện tử một cách dễ dàng và tiết kiệm chi phí Khi được kích hoạt, Bluetooth tự động phát hiện các thiết bị khác sử dụng công nghệ tương tự trong khu vực lân cận và bắt đầu kết nối Công nghệ này chủ yếu được sử dụng để truyền tải dữ liệu và âm thanh.

Công nghệ Bluetooth là một tiêu chuẩn không dây phổ biến, được sử dụng cho các thiết bị nhỏ, chi phí thấp và kết nối ngắn giữa các thiết bị như PC di động và điện thoại Mặc dù Bluetooth tiêu thụ ít năng lượng và có giá thành thấp, nhưng tốc độ truyền dữ liệu của nó chậm hơn so với mạng không dây Wi-Fi.

Các smartphone và máy tính bảng hiện nay đều được trang bị chức năng hỗ trợ Bluetooth trong hệ điều hành, cho phép đồng bộ hóa dữ liệu với điện thoại di động và thiết bị hỗ trợ cá nhân (PDA), in ấn với các máy in hỗ trợ Bluetooth, cũng như kết nối với các thiết bị khác.

Hình 2.5 Ứng dụng của chuẩn giao tiếp Bluetooth

UART, which stands for Universal Asynchronous Receiver-Transmitter, is an integrated circuit utilized for serial data transmission between computers and peripheral devices.

Hình 2.6 Chuẩn giap tiếp UART

Hình 2.7 Khung truyền của một Frame UART

Hai thiết bị giao tiếp UART với nhau thông qua hai đường dẫn RX (read) và

TX (transmit) Vì là giao tiếp không đồng bộ nên hai thiết bị phải được cài đặt thống nhất về khung truyền và tốc độ truyền:

- Start bit: Báo hiệu quá trình truyền dữ liệu

- Data bit: Dữ liệu cần giao tiếp, thường là 8 bit

- Parity bit: Bit kiểm tra chẵn lẻ, dùng để phát hiện lỗi

- Stop bit: Báo hiệu kết thúc một frame dữ liệu, có thể tùy chọn

Tổng quan về hệ điều hành Android

2.3.1 Khái niệm về hệ điều hành Android

Android là hệ điều hành dựa trên Linux, thiết kế cho thiết bị di động có màn hình cảm ứng như smartphone và tablet Phát triển bởi Android, Inc với sự hỗ trợ tài chính từ Google, Android được Google mua lại vào năm 2005 Ra mắt vào năm 2007, Android cùng với liên minh thiết bị cầm tay mở đã thúc đẩy tiêu chuẩn mở cho thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán ra vào năm 2008.

Hình 2.8 Logo của hệ điều hành Android

Giao diện người dùng của Android sử dụng nguyên tắc tác động trực tiếp với cảm ứng chạm, cho phép người dùng thực hiện các động tác như vuốt, chạm, kéo giãn và thu lại để tương tác với các đối tượng trên màn hình Sự phản hồi nhanh chóng với các tác động này tạo ra trải nghiệm cảm ứng mượt mà và trực quan.

Hình 2.9 Giao diện của thiết bị chạy hệ điều hành Android

Màn hình chính của thiết bị Android, tương tự như desktop trên máy tính để bàn, hiển thị các thông tin quan trọng và bao gồm nhiều biểu tượng (icon) và tiện ích (widget) Biểu tượng ứng dụng cho phép mở ứng dụng tương ứng, trong khi tiện ích cung cấp nội dung sống động và cập nhật tự động như dự báo thời tiết và tin tức Người dùng có thể vuốt để chuyển giữa nhiều trang trên màn hình chính, và giao diện này có thể được tùy chỉnh cao, cho phép sắp đặt hình dáng và hành vi của thiết bị theo sở thích cá nhân.

Thanh trạng thái của thiết bị Android nằm ở phía trên cùng màn hình, cung cấp thông tin về thiết bị và tình trạng kết nối Người dùng có thể "kéo" thanh trạng thái xuống để xem thêm thông tin chi tiết.

Thông báo trên điện thoại cung cấp thông tin quan trọng như email và tin nhắn SMS mới mà không gây gián đoạn cho người dùng Ở các phiên bản đầu, người dùng có thể nhấn vào thông báo để mở ứng dụng tương ứng Sau này, tính năng được cải tiến cho phép gọi lại ngay lập tức khi có cuộc gọi nhỡ mà không cần mở ứng dụng gọi điện Thông báo sẽ tồn tại cho đến khi người dùng đọc hoặc xóa chúng.

Các ứng dụng Android được phát triển bằng ngôn ngữ Java thông qua Bộ phát triển phần mềm Android (SDK), bao gồm các công cụ như gỡ lỗi, thư viện phần mềm, và bộ giả lập điện thoại Môi trường phát triển tích hợp chính thức là Eclipse với phần bổ sung Android Development Tools (ADT) Ngoài ra, còn có các công cụ phát triển khác như Bộ phát triển gốc cho ứng dụng viết bằng C hoặc C++, Google Ứng dụng Inventor cho lập trình viên mới, và nhiều nền tảng ứng dụng web di động đa nền tảng.

Hình 2.11 Kho ứng dụng Google Play Store

Android ngày càng có nhiều ứng dụng của bên thứ ba, được phân phối qua các cửa hàng ứng dụng như Google Play và Amazon Appstore Người dùng có thể tải về hoặc cài đặt tập tin APK từ các trang web khác Các ứng dụng trên Play Store cho phép người dùng duyệt, tải về và cập nhật ứng dụng từ Google và các nhà phát triển khác Play Store được cài đặt sẵn trên các thiết bị tương thích với yêu cầu của Google.

Danh sách các ứng dụng tương thích với thiết bị của người dùng được lọc ra bởi 16 động, cho phép nhà phát triển giới hạn ứng dụng cho các nhà mạng hoặc quốc gia cụ thể vì lý do kinh doanh Người dùng có thể được hoàn tiền trong vòng 15 phút nếu không hài lòng với ứng dụng đã mua Một số nhà mạng còn hỗ trợ mua ứng dụng trên Google Play và tính phí vào hóa đơn hàng tháng Đến tháng 9 năm 2012, đã có hơn 675.000 ứng dụng dành cho Android, với ước tính 25 tỷ lượt tải từ Play Store.

2.4.4 Ưu và nhược điểm Ưu điểm:

- Là hệ điều hành có mã nguồn mở nên khả năng tuỳ biến cao, có thể tùy ý chỉnh sửa

- Kho ứng dụng Google Play Store đồ sộ

- Thân thiện và dễ sử dụng

- Khả năng đa nhiệm, chạy cùng lúc nhiều ứng dụng cao

- Màn hình cơ bản hệ điều hành Android cung cấp một giao diện người dùng đẹp và trực quan

Phần mềm mã nguồn mở dễ bị nhiễm phần mềm độc hại và virus do sự thiếu kiểm soát, dẫn đến việc nhiều ứng dụng có chất lượng kém có thể gây hại cho thiết bị.

- Khả năng bảo mật không cao qua đó người dùng có thể bị đánh cắp thông tin qua các ứng dụng

- Kho ứng dụng quá nhiều dẫn đến khó kiểm soát chất lượng các ứng dụng

- Hiện tượng giật lag trong quá trình sử dụng diễn ra thường xuyên do đặc trưng hệ điều hành sản sinh ra nhiều file rác

Vi điều khiển Arduino

Arduino là một board mạch vi điều khiển do Arduino.cc phát triển, dựa trên vi điều khiển AVR Atmega328P Arduino Uno R3 có thể kết nối trực tiếp với máy tính qua USB để giao tiếp với phần mềm lập trình IDE, tương thích với các hệ điều hành Windows, MAC và Linux, trong đó Windows là lựa chọn tối ưu hơn.

Trước khi Arduino ra đời, việc thực hiện các dự án điện tử nhỏ liên quan đến lập trình và biên dịch đòi hỏi sự hỗ trợ từ các thiết bị biên dịch khác Chẳng hạn, khi sử dụng vi điều khiển PIC hoặc IC vi điều khiển họ 8051, người dùng cần thiết kế chân nạp onboard hoặc mua các thiết bị hỗ trợ như mạch nạp 8051 và mạch nạp PIC.

Arduino hiện nay đã trở thành một phần quan trọng trong cộng đồng vi mạch và vi điều khiển tại Việt Nam, thu hút sự quan tâm từ học sinh trung học, sinh viên cho đến người đi làm Nhiều dự án, từ nhỏ đến lớn, được thực hiện nhanh chóng nhờ vào việc chia sẻ mã nguồn mở trên các diễn đàn trong và ngoài nước Điều này hỗ trợ đáng kể cho những ai đam mê nghiên cứu và chế tạo các sản phẩm có ích cho xã hội.

Trong những năm qua, Arduino đã trở thành nền tảng quan trọng cho hàng ngàn dự án điện tử, từ các sản phẩm ứng dụng đơn giản trong cuộc sống hàng ngày đến những dự án khoa học phức tạp.

Sự gia tăng không ngừng của các nguồn thư viện mã nguồn mở đã hỗ trợ rất nhiều cho những người mới bắt đầu với Arduino, cũng như các chuyên viên lập trình nhúng và các chuyên gia trong việc tham khảo và phát triển tiếp các dự án.

Bạn có thể thiết kế điều khiển thiết bị thông qua cảm biến ánh sáng, đo nồng độ hóa chất và khí ga, cũng như quản lý thiết bị điện trong nhà Nếu bạn muốn phát triển một robot mini, điều khiển motor, nhận dạng ID, hoặc thậm chí là một máy CNC, máy in 3D mini, hay máy bay không người lái (Flycam), bạn cần xây dựng một hệ thống thu thập dữ liệu qua GSM và xử lý ảnh Để thực hiện những ý tưởng này, bạn sẽ sử dụng ngôn ngữ lập trình Arduino, dựa trên sơ đồ khối và bảng thiết kế hệ thống Phần mềm Arduino IDE sẽ giúp bạn thực hiện các yêu cầu và chuyển đổi chúng thành ngôn ngữ mà bộ phận xử lý trung tâm (Arduino) có thể hiểu và thực hiện.

2.4.2 Giới thiệu tổng quát về các phiên bản Arduino

Hiện nay trên thị trường có rất nhiều phiên bản Arduino như Arduino Uno R3, Arduino Uno R3 CH340, Arduino Mega2560, Arduino Nano, Arduino Pro Mino, Arduino Lenadro, Arduino Industrial

Nhóm xin được trình bày một số phiên bản Arduino phổ biến dưới đây:

Arduino Uno R3 là phiên bản Arduino phổ biến nhất, dễ tiếp cận và có giá thành hợp lý Với các chân I/O đủ dùng cho các mục đích cơ bản, Uno R3 nổi bật hơn so với các dòng khác.

Arduino Uno R3 là một board mạch vi điều khiển do Arduino.cc phát triển, thuộc nền tảng điện tử mã nguồn mở, chủ yếu sử dụng vi điều khiển AVR Atmega328P.

Arduino Uno R3 có 2 phiên bản: là chip cắm và chip dán

Arduino Uno R3 có 6 chân Analog và 14 chân Digital, cho phép kết nối với các mạch điện tử và thiết bị bên ngoài Trong số 14 chân Digital, có tổng cộng

6 chân PWM cho phép người dùng có thể kiểm soát, điều khiển các thiết bị điện tử ngoại vi một cách trực quan

Arduino Uno R3 kết nối với máy tính qua USB để giao tiếp với phần mềm lập trình (IDE), tương thích với các hệ điều hành như Windows, MAC và Linux, trong đó Windows là phổ biến nhất IDE sử dụng các ngôn ngữ lập trình C và C++.

Hình 2.12 Arduino Uno R3 kèm cáp

Arduino Nano USB Mini là một board mạch nhỏ gọn sử dụng vi điều khiển ATmega328P hoặc ATmega168, phát triển dựa trên mã nguồn mở của Arduino.cc Với kích thước nhỏ hơn so với Arduino Uno và Arduino Mega, Arduino Nano có khả năng hoạt động độc lập và tương tác hiệu quả với các thiết bị điện tử Nó cũng hỗ trợ người mới bắt đầu tìm hiểu về Arduino kết nối với PC và phối hợp với các phần mềm như Flash, Xử lý, Max/Msp, PD một cách dễ dàng Do đó, Arduino Nano là lựa chọn lý tưởng cho các dự án yêu cầu kết nối với thiết bị ngoại vi đơn giản.

Các chức năng rất giống giống với phiên bản Arduino Uno nhưng kích thước nhỏ gọn hơn

Arduino Nano được trang bị thạch anh dao động với tần số 16 MHz, mang lại độ chính xác cao cho các dự án liên quan đến đồng hồ số Sử dụng Arduino Nano trong các ứng dụng này giúp đảm bảo tính chính xác trong dao động tần số.

Có một hạn chế khi sử dụng Arduino Nano đó là không đi kèm giắc nguồn

DC không cho phép cung cấp nguồn điện bên ngoài qua các chân của Arduino Nano như các phiên bản Arduino Uno và Arduino Mega Thay vào đó, nguồn điện phải được cấp trực tiếp thông qua cổng USB Mini.

Board mạch Arduino Nano không sử dụng cổng USB chuẩn để kết nối với máy tính, mà chỉ hỗ trợ cổng USB Mini cho việc kết nối.

Bộ nhớ flash của Vi điều khiển Atmega có dung lượng 16KB hoặc 32KB, tùy thuộc vào loại vi điều khiển; cụ thể, Atmega168 có bộ nhớ flash 16KB, trong khi Atmega328 có bộ nhớ flash 32KB Bộ nhớ flash này được sử dụng để lưu trữ mã hóa dữ liệu, trong đó 2KB được dành riêng cho chương trình khởi động, hay còn gọi là Bootloader.

Bộ nhớ SRAM có thể thay đổi từ 1KB hoặc 2KB và EEPROM tương ứng là 512byte hoặc 1KB đối với Atmega168 và Atmega328

Hình 2.13 Arduino Nano kèm cáp

Relay và nguyên lý hoạt động

Relay là một công tắc điện từ hoạt động nhờ vào dòng điện nhỏ, cho phép bật hoặc tắt dòng điện lớn hơn Tại trung tâm của relay là nam châm điện, một cuộn dây trở thành nam châm tạm thời khi có dòng điện chạy qua Relay có thể được xem như một đòn bẩy điện, nơi dòng điện nhỏ kích hoạt thiết bị sử dụng dòng điện lớn hơn.

Hình 2.16 Sơ đồ nguyên lý Relay

Cấu tạo của Relay: bao gồm 3 khối cơ bản:

Khối tiếp thu, hay còn gọi là cơ cấu tiếp thu, có chức năng tiếp nhận tín hiệu đầu vào và chuyển đổi chúng thành đại lượng cần thiết Sau đó, nó cung cấp tín hiệu phù hợp cho khối trung gian.

- Khối trung gian (cơ cấu trung gian): tiếp nhận thông tin từ khối tiếp thu và biến đổi nó thành đại lượng cần thiết cho relay hoạt động

- Khối chấp hành (cơ cấu chấp hành): làm nhiệm vụ phát tín hiệu cho mạch điều khiển

2.5.2 Giới thiệu về opto quang (optocoupler)

Hình 2.17 Sơ đồ nguyên lý opto quang

Opto quang là một thiết bị điện tử hoạt động tương tự như Relay, nhưng có cấu tạo khác biệt Nó bao gồm một diode phát quang và một bộ phận thu quang, chẳng hạn như diode quang, điện trở quang, hoặc photo transistor.

Nguyên lý hoạt động của diode phát quang là khi có dòng điện nhỏ từ 10 đến 20 mA, diode sẽ phát sáng Ánh sáng từ diode phát quang này sẽ kích hoạt photo transistor hoặc diode quang, cho phép dòng điện đi qua hai cực.

Opto quang đóng vai trò quan trọng trong việc bảo vệ vi điều khiển khỏi các sự cố đầu ra như đoản mạch, tăng áp đột ngột và cháy, giúp giảm thiểu khả năng hư hại.

Opto quang được sử dụng nhiều trong các mạch điện tử công nghiệp như các bộ chuyển đổi điện áp cao hoặc các mạch logic điện áp thấp

Ví dụ về các opto quang: PC817, P521, 4N35, …

2.5.3 Giới thiệu Module Relay dùng Opto quang

Hình 2.18 Sơ đồ nguyên lý của Moduel Relay dùng Opto quang

Tín hiệu kích Module Relay được đưa vào chân O1, trong khi GND kết nối với chân GND trên vi điều khiển Khi O1 được kích lên mức cao, đèn LED trong Opto quang (PC817) sẽ sáng, ánh sáng này được hấp thụ bởi điện trở quang, giúp thông mạch trong Opto Điện áp từ Vcc qua Opto quang kích hoạt Transistor, tạo ra sự chênh lệch điện áp ở cuộn dây Relay, từ đó kích hoạt chân NC, NO và chân COM, giúp Relay thay đổi trạng thái.

Hình 2.19 Module 4 relay 5V với opto cách ly kích

Module 4 relay 5V với opto cách ly kích H/L với opto cách ly nhỏ gọn, có opto và transistor cách ly giúp cho việc sử dụng trở nên an toàn với board mạch chính, mạch được sử dụng để đóng ngắt nguồn điện công suất cao AC hoặc DC, có thể chọn đóng khi kích mức cao hoặc mức thấp bằng Jumper Module 4 Relay kích H/L (5VDC) sử dụng nguồn 5VDC để nuôi mạch, tín hiệu kích có thể tùy chọn kích mức cao (High - 5VDC) hoặc mức thấp (Low - 0VDC) qua Jumper trên mỗi relay Thích hợp cho các thiết bị sử dụng mức tín hiệu 5VDC như Vi điều khiển,

Bảng 2.1 Thông số kỹ thuật của Module 4 relay 5V Đặc điểm Giá trị Điện áp hoạt động 5V

Dòng điện hoạt động 200mA/relay

Tín hiệu kích Mức cao (5V) hoặc mức thấp (0V) chọn bằng Jumper Điện áp nuôi relay 5V

Tiếp điểm đóng ngắt 250VAC-10A hoặc 30VDC-10A

Kích thước 72x55x19 (mm) (dài x rộng x cao)

Màn hình LCD

Thiết bị hiển thị LCD (Liquid Crystal Display) rất phổ biến trong ứng dụng vi điều khiển nhờ vào nhiều ưu điểm vượt trội LCD có khả năng hiển thị đa dạng các ký tự, bao gồm chữ, số và ký tự đồ họa, đồng thời dễ dàng tích hợp vào mạch ứng dụng qua nhiều giao thức giao tiếp khác nhau Thiết bị này tiêu tốn ít tài nguyên hệ thống và có giá thành rẻ Trong số các loại LCD, loại 20x4 là một trong những dạng được sử dụng rộng rãi nhất.

Hình 2.20 LCD 20x4 Bảng 2.2: Các chân của LCD

Thứ tự Tên tín hiệu I/O Chức năng tín hiệu

3 VO Điện áp Điều khiển ánh sáng nền

Trong 16 chân LCD được chia làm 3 dạng tín hiệu:

- Các chân cấp nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là Vdd nối với nguồn +5V Chân thứ 3 dùng để chỉnh contrast thường nối với biến trở

Chân điều khiển trong mạch bao gồm chân số 4 (RS) để lựa chọn thanh ghi, chân R/W để điều khiển quá trình đọc và ghi, và chân E để cho phép dạng xung chốt.

- Các chân dữ liệu D7 – D0: Chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ liệu giữa thiết bị điều khiển và LCD

Module I2C LCD ra đời để giải quyết vấn đề khó khăn trong việc đấu nối do LCD có quá nhiều chân, giúp tiết kiệm chân trên vi điều khiển.

Sử dụng module I2C cho LCD 16×2 giúp tiết kiệm chân vi điều khiển, chỉ cần 2 chân (SCL, SDA) thay vì 6 chân (RS, EN, D7, D6, D5, D4) Module này hỗ trợ các loại LCD sử dụng driver HD44780 như LCD 16×2 và LCD 20×4, đồng thời tương thích với hầu hết các vi điều khiển hiện nay.

Hình 2.21 Mạch chuyển đổi giao tiếp I2C cho LCD

Bảng 2.3 Thông số module I2C Đặc điểm Giá trị

Kích thước 41.5mm(L)X19mm(W)X15.3MM(H) Điện áp hoạt động 2.5V - 6V

Hỗ trợ hoạt động LDC 16x2 và LCD 20x4

Tích hợp jumper để cung cấp hoặc ngắt đèn cho LCD Có

Module Micro SD card TF SPI

Hình 2.22 Module Micro SD card TF SPI

Module thẻ SD gồm hai thành phần chính:

Module SD có điện áp hoạt động tiêu chuẩn là 3.3V, do đó không thể kết nối trực tiếp với các mạch sử dụng nguồn 5V Bất kỳ điện áp nào vượt quá 3.6V có thể gây hỏng thẻ micro SD Để đảm bảo thẻ nhớ hoạt động ổn định, module được trang bị một IC ổn áp giúp giảm điện áp từ 3.3 – 6V xuống 3.3V.

Trên Module có IC 74LVC125A, cho phép chuyển đổi điện áp từ 3.3V-5V sang 3.3V Điều này giúp nguồn điện cấp cho Arduino có thể nằm trong khoảng 3.3V đến 5V mà không gây hại cho thẻ micro SD.

Có hai phương thức giao tiếp với thẻ micro SD: giao tiếp SPI và giao tiếp SDIO Trong đó, giao tiếp SDIO nhanh hơn và thường được sử dụng trong các thiết bị như điện thoại di động và máy ảnh kỹ thuật số.

Thẻ micro SD sử dụng giao tiếp SPI để đơn giản hóa thao tác và thực hành, mặc dù tốc độ truyền dữ liệu thấp hơn Việc này giúp các vi điều khiển dễ dàng sử dụng với chi phí thấp hơn.

Module thẻ nhớ Micro SD TF SPI giúp đơn giản hóa ứng dụng của bạn bằng cách cho phép giao tiếp dễ dàng với vi điều khiển Bạn có thể đọc và viết trực tiếp lên thẻ SD thông qua chương trình, và nó có thể được sử dụng cho việc phát nhạc MP3 cũng như các hệ thống vi điều khiển qua giao thức SPI.

Cảm biến đo nhiệt độ không chạm MLX90614

Hình 2.24 Cảm biến đo nhiệt độ không chạm MLX90614

Kể từ khi COVID-19 bùng phát, máy quét nhiệt độ hồng ngoại không tiếp xúc đã trở nên phổ biến toàn cầu, từ sân bay đến nhà hàng Nếu bạn muốn tìm hiểu và tự chế tạo thiết bị đo nhiệt độ không chạm, Module cảm biến MLX90614 là một lựa chọn tiết kiệm và hiệu quả.

Cảm biến nhiệt độ hồng ngoại không tiếp xúc MLX90614 của Melexis là trung tâm của Module, nổi bật với độ chính xác cao Khác với các cảm biến nhiệt độ thông thường, MLX90614 cho phép đo nhiệt độ mà không cần tiếp xúc, rất hữu ích cho việc theo dõi nhiệt độ của các vật thể Chỉ cần hướng cảm biến vào điểm cần đo, nó sẽ phát hiện nhiệt độ thông qua việc hấp thụ sóng hồng ngoại phát ra.

MLX90614 có khả năng đo hai loại nhiệt độ: nhiệt độ của vật thể và nhiệt độ môi trường xung quanh Nhiệt độ vật thể được đo một cách không tiếp xúc thông qua cảm biến, trong khi nhiệt độ môi trường được ghi nhận trên khuôn của cảm biến.

Cảm biến không chạm này có khả năng đo nhiệt độ trong phạm vi rộng hơn so với các cảm biến kỹ thuật số thông thường, với nhiệt độ vật thể từ -70 đến 382.2 ºC và nhiệt độ môi trường từ -40 đến 125 ºC.

Cả nhiệt độ môi trường và nhiệt độ vật thể đều có độ phân giải 0.02ºC với độ chính xác tiêu chuẩn là 0.5ºC so với nhiệt độ phòng

Hình 2.25 Bộ lọc quang của Module MLX90614

MLX90614 được trang bị bộ lọc quang học tích hợp, giúp loại bỏ ánh sáng nhìn thấy và ánh sáng cận hồng ngoại, từ đó giảm thiểu ảnh hưởng của chúng đến các phép đo Thiết bị này còn có khả năng chống lại ánh sáng mặt trời, nâng cao độ chính xác trong quá trình đo lường.

2.8.3 Nguyên lý hoạt động của nhiệt kế hồng ngoại

Mọi cơ thể và vật thể đều phát ra ánh sáng hồng ngoại, bao gồm cả con người MLX90614 sử dụng ánh sáng hồng ngoại này để đo nhiệt độ, vì nó tỉ lệ thuận với nhiệt độ của cơ thể và vật thể, mặc dù ánh sáng hồng ngoại không thể nhìn thấy bằng mắt thường.

The MLX90614 consists of two main components: an infrared temperature sensor and an ASSP (Application-Specific Signal Processor), which is responsible for signal conditioning The internal block diagram of the MLX90614 is illustrated below.

Hình 2.26 Sơ đồ khối của Module MLX90614

Tia hồng ngoại phát ra từ cơ thể và các vật thể sẽ đi qua thấu kính hội tụ và được thu nhận bởi máy dò hồng ngoại Thermopile Cảm biến nhiệt độ điện tử sẽ cảm nhận năng lượng hồng ngoại trong trường nhìn (FOV) và tạo ra tín hiệu điện tỷ lệ với năng lượng đó Điện áp từ Thermopile được bộ ADC 17-bit của ASSP thu thập và xử lý trước khi gửi đến bộ vi điều khiển.

Tất cả các quá trình trên được thực hiện rất nhanh, chỉ một phần nhỏ trong giây

2.8.4 Field of view (FOV – vùng nhìn thấy)

Vùng nhìn thấy của nhiệt kế hồng ngoại là một trong những thông số quan trọng nhất

Cảm biến được xác định bởi góc nhìn của nó đối với bức xạ nhiệt, cho phép phát hiện tất cả các đối tượng trong vùng quan sát Nó sẽ trả về nhiệt độ trung bình của tất cả các đối tượng trong khu vực đó.

Hình 2.27 Cảm biến đo nhiệt độ của tất cả các vật thể đặt trước nó

Để đảm bảo cảm biến đo chính xác, vùng nhìn thấy cần phải được lấp đầy hoàn toàn; nếu không, cảm biến có thể phát hiện những đối tượng không được phép đo.

Hình 2.28 Cách để đo nhiệt độ vật thể chính xác

Vùng nhìn thấy xác định mối quan hệ giữa khoảng cách từ đối tượng và vùng cảm nhận Khi cảm biến gần đối tượng, vùng cảm biến sẽ hẹp, và nó sẽ mở rộng khi đối tượng di chuyển ra xa.

Vùng nhìn thấy của cảm biến MLX90614 có hình nón rộng lên tới 90º, với mỗi 1cm di chuyển ra xa, vùng phát hiện tăng thêm 2cm Cụ thể, nếu cảm biến cách một vật thể 30cm, thì vùng phát hiện sẽ đạt 60cm.

Hình 2.29 Vùng nhìn thấy của cảm biến

2.8.5 Giao tiếp với với cảm biến MLX90614

Cảm biến MLX90614 hỗ trợ hai phương thức giao tiếp chính là SMBus và PWM Giao diện SMBus được sử dụng để kết nối với cảm biến, cho phép cấu hình cảm biến để phát sinh tín hiệu PWM, điều chế theo độ rộng xung, tương ứng với nhiệt độ đo được.

SMBus 2 dây: Là giao diện chính của cảm biến, về cơ bản SMBus giống như chuẩn giao tiếp I2C Sử dụng 2 tín hiệu giống nhau SDA và SCL – để truyền dữ liệu và tín hiệu đồng bộ tương ứng Một thiết bị chính điều khiển tín hiệu đồng bộ, ở đây là Arduino và tín hiệu dữ liệu được điều khiển hai chiều

Tất cả cảm biến MLX90614 đều có địa chỉ I2C mặc định là 0x5A, nhưng địa chỉ này có thể được thay đổi, cho phép sử dụng tối đa 127 thiết bị cùng lúc, giúp đo được nhiều vị trí hơn.

Cảm biến đo nhịp tim và SPO2 MAX30100

Cảm biến MAX30100 là thiết bị sinh trắc học đo nồng độ oxy và nhịp tim, hoạt động với công suất thấp và giao tiếp qua I2C, mang lại sự tiện lợi và dễ dàng trong việc sử dụng.

33 là một công cụ hữu ích cho sinh viên, lập trình viên, kỹ sư, nhà sản xuất và nhà phát triển trò chơi & thiết bị di động, những người mong muốn tích hợp dữ liệu nhịp tim trực tiếp vào các dự án của họ.

Module này sử dụng MAX30100, một IC cảm biến nhịp tim và đo oxy xung nhịp hiện đại từ Analog Devices Thiết bị bao gồm hai đèn LED, một bộ tách sóng quang và hệ thống xử lý tín hiệu tương tự, giúp phát hiện chính xác nồng độ oxy xung (SpO2) và nhịp tim (HR).

Cảm biến MAX30100 bao gồm hai đèn LED, một đèn LED đỏ và một đèn LED hồng ngoại, cùng với một bộ tách sóng quang nhạy bên trái Nguyên lý hoạt động của cảm biến này là chiếu một đèn LED tại một thời điểm, sau đó phát hiện lượng ánh sáng phản xạ trở lại máy dò Dựa trên chữ ký ánh sáng, cảm biến có thể đo mức oxy trong máu và nhịp tim.

2.9.2 Nguyên tắc hoạt động của Module MAX30100

Cảm biến MAX30100, giống như các cảm biến đo nhịp tim khác, hoạt động dựa trên nguyên lý sử dụng một cặp đèn LED cường độ cao với bước sóng khác nhau, cụ thể là đèn LED đỏ (RED) ở 660nm và đèn LED hồng ngoại (IR) ở 880nm, kết hợp với một bộ cảm biến quang để đo nhịp tim.

Hình 2.32 Mô phỏng quá trình đo của cảm biến

MAX30100 hoạt động bằng cách chiếu ánh sáng từ hai đèn vào ngón tay và đo lượng ánh sáng phản xạ qua cảm biến quang Phương pháp này, được gọi là Photoplethysmogram, cho phép phát hiện nhịp tim thông qua ánh sáng.

MAX30100 hoạt động chia làm 2 phần: đo nhịp tim và đo oxi trong máu

Hemoglobin oxi (HbO2) trong máu động mạch hấp thụ ánh sáng hồng ngoại (IR), với mức độ hấp thụ tăng lên khi máu có màu đỏ tươi hơn Khi máu được bơm qua ngón tay theo nhịp tim, lượng ánh sáng phản xạ thay đổi, tạo ra dạng sóng biến đổi ở đầu ra của bộ tách sóng quang Việc chiếu ánh sáng liên tục và thực hiện các phép đọc từ bộ cảm biến quang sẽ nhanh chóng cung cấp kết quả đo nhịp tim (HR).

Hình 2.33 Mô phỏng quá trình đo nhịp tim

2.9.4 Đo oxi trong máu Đo oxi trong máu dựa trên nguyên tắc: lượng ánh sáng RED và IR được hấp thụ thay đổi phụ thuộc vào lượng oxi trong máu của bạn Biểu đồ dưới thể hiện phổ hấp thụ của Hemoglobin oxi hóa (HbO2) và Hemoglobin khử oxi (Hb)

Hình 2.34 Mô phỏng quá trình do SPO2

Biểu đồ cho thấy máu khử oxy hấp thụ ánh sáng đỏ (660nm) nhiều hơn, trong khi máu có oxy hấp thụ ánh sáng hồng ngoại (880nm) nhiều hơn Từ tỷ lệ giữa ánh sáng hồng ngoại và ánh sáng đỏ mà bộ tách sóng quang thu được, mức oxy trong máu (SpO2) sẽ được tính toán.

2.9.5 Giao tiếp với cảm biến MAX30100

Cảm biến MAX30100 giao tiếp với vi điều khiển thông qua giao thức I2C hai dây, với địa chỉ hoạt động cố định là 0xAE cho ghi và 0xAF cho đọc.

Cảm biến sử dụng bộ đệm FIFO với khả năng lưu trữ 16 mẫu dữ liệu, cho phép ghi lại 16 mẫu đo nhịp tim và SPO2 Bộ đệm này giúp giảm tải cho vi điều khiển trong việc đọc từng mẫu dữ liệu từ cảm biến, từ đó tiết kiệm năng lượng cho toàn bộ hệ thống.

Cảm biến MAX30100 hỗ trợ ngắt ngoài, cho phép vi điều khiển thực hiện các tác vụ khác trong khi thu thập dữ liệu từ cảm biến.

TÍNH TOÁN VÀ THIẾT KẾ

Yêu cầu và sơ đồ khối của hệ thống

3.1.1 Yêu cầu của hệ thống

Hệ thống đo nhiệt độ, nhịp tim, nồng độ oxi máu và phun sát khuẩn có các chức năng dưới đây:

Đo nhiệt độ cơ thể người bằng cảm biến MLX 90614, hiển thị kết quả trên màn hình LCD và phát âm thanh cảnh báo kết quả đo.

Đo nhịp tim và nồng độ SPO2 bằng cảm biến MAX30100, hiển thị kết quả trên màn hình LCD và phát âm thanh cảnh báo kết quả đo.

- Phun sát khuẩn sau mỗi lần đo dùng đầu phun sương

- Dùng bàn phím ma trận để thay đổi giá trị cảnh báo của SPO2 nhiệt độ và nhịp tim

- Dùng đèn hiển thị trạng thái hoạt động của hệ thống

- Dùng pin năng lượng và có sạc

- Hiển thị kết quả vừa đo được trên ứng dụng Android

Hình 3.1 Sơ đồ khối của toàn hệ thống

3.1.3 Chức năng của từng khối

Khối điều khiển trung tâm có chức năng:

- Nhận dữ liệu từ khối cảm biến, thực hiện tính toán để in ra giá trị chỉ số đo chính xác

- Nhận dữ liệu từ khối nút nhấn, sau đó sẽ điều khiển thay đổi các thông số đã đặt dựa trên dữ liệu nhận được

- In dữ liệu đo đạt được ra ngoài LCD và đưa tín hiệu ra khối âm thanh để đọc kết quả đo được ra ngoài loa

- Điều khiển khối động cơ phun chất diệt khuẩn

- Đẩy dữ liệu đo được từ khối cảm biến qua cho khối giao tiếp, từ đó lưu kết quả qua ứng dụng điện thoại Android

- Xuất tín hiệu cho khối quang báo để thông báo

Khối hiển thị có nhiệm vụ trình bày các thông số đo từ khối cảm biến, thể hiện trạng thái hoạt động của các chức năng trong hệ thống và hiển thị các thông số cần được điều chỉnh.

Khối cảm biến: Có chức năng lấy các chỉ số đo đạt được từ con người, sau đó gửi dữ liệu cho khối điều khiển trung tâm

Khối nút nhấn có vai trò quan trọng trong việc điều chỉnh các thông số của khối cảm biến, bao gồm mức cảnh báo SPO2 và nhiệt độ cơ thể Ngoài ra, nó còn được sử dụng để điều khiển khối động cơ một cách thủ công.

Khối động cơ và quang báo có nhiệm vụ nhận tín hiệu từ khối xử lý trung tâm để điều khiển máy bơm phun sát khuẩn, đồng thời cũng có khả năng điều khiển bơm khi nhận tín hiệu từ nút nhấn thủ công Khối quang báo cung cấp thông tin về trạng thái hoạt động của hệ thống thông qua các đèn chiếu sáng.

Khối âm thanh: Phát ra âm thanh, đọc nhiệt độ đo được, nhịp tim và nồng độ oxi đo được từ các cảm biến và phát ra loa

Khối giao tiếp: Là khối gửi dữ liệu qua Bluetooth cho ứng dụng

Android để hiển thị kết quả vừa đo được

Khối nguồn: Có chức năng cung cấp nguồn cho các khối còn lại Ứng dụng Anroid: Là nơi hiển thị các thông số kết quả đã đo được

THI CÔNG HỆ THỐNG

Giới thiệu

Mô hình bao gồm 3 phần thi công: phần cứng, phần mềm và ứng dụng Android

Phần cứng của dự án bao gồm một mạch PCB, một module Relay rời và một module ổn áp 5V Các linh kiện điện tử sẽ được sắp xếp lên board mạch đã thiết kế và liên kết với vi điều khiển thông qua dây điện.

Phần mềm được chia thành hai phần chính: xây dựng giải thuật và thiết kế chương trình cho hệ thống Chương trình được phát triển dựa trên nguyên lý hoạt động của hệ thống, từ khi cấp nguồn cho đến khi ngừng hoạt động, nhằm áp dụng giải thuật điều khiển một cách tối ưu nhất.

- Ứng dụng Android: Xây dựng ứng dụng để hiển thị các kết quả đo đã nêu trong đề tài

Thi công hệ thống

Các module, header được tích hợp trên một board đồng, một module relay rời và một module ổn áp 5V

Mạch bao gồm các thành phần sau: header cắm Arduino Mega 2560, một header 8 chân kết nối với bàn phím ma trận, hai header 4 chân để kết nối với cảm biến đo nhiệt độ không chạm MLX90614 và Module Bluetooth HC-05, một header 7 chân để kết nối với cảm biến đo nhịp tim và SPO2 MAX30100, cùng với một header 6 chân để kết nối với Module SD card.

Bài viết đề cập đến việc sử dụng ba chân để kết nối với hai cảm biến, bao gồm cảm biến đo nhịp tim và SPO2, cũng như cảm biến đo nhiệt độ Ngoài ra, còn có tính năng rửa tay sát khuẩn và domino để lấy tín hiệu ra khối âm thanh.

Để tạo bản mạch in, cần thực hiện các bước như in mạch, chuyển mực lên mạch, rửa mạch và khoan lỗ gắn linh kiện Giấy in nên là loại bóng trơn và chịu nhiệt, trong khi mực in cần sử dụng loại nhiệt laser để chuyển mực từ giấy sang mạch khi ủi ở nhiệt độ cao Board đồng được làm từ vật liệu cách điện và chịu nhiệt.

Tấm board đồng có thể được in một mặt hoặc hai mặt tùy thuộc vào nhu cầu sử dụng Các hình ảnh dưới đây minh họa sơ đồ nối dây, ảnh 3D của mạch in, mạch in trên giấy, cũng như mạch in sau khi ủi và hàn linh kiện.

Hình 4.1 Sơ đồ đi dây mạch in

Hình 4.2 Sơ đồ 3D mạch điều khiển

Hình 4.3 Mạch in trên giấy

Quy trình làm mạch, lắp ráp và kiểm tra:

Để chuẩn bị mạch in, trước tiên, hãy sử dụng giấy nhám để chà sơ qua bề mặt nhằm tăng độ ma sát Sau đó, rửa sạch board đồng bằng nước rửa mạch và tiến hành ủi mạch in.

- Bước 2: Kiểm tra kết nối giữa các linh kiện với nguồn

- Bước 3: Tiến hành khoan mạch gắn các dây bus và hàn mạch

- Bước 4: Sau khi việc hàn mạch được hoàn tất, tiến hành gắn linh kiện vào mạch và kiểm tra lại mạch

- Bước 5: Cấp nguồn cho Arduino, các module và cảm biến hoạt động

- Bước 6: Tiến hành nạp chương trình và kiểm tra hoạt động

Bảng 4.1 Danh sách các dụng cụ cần để thi công mạch

STT Tên Số lượng Chú thích

1 Bảng vẽ PCB 1 mặt 1 Xuất file PDF 1 mạch

2 Board đồng 1 Kích thước: 13x12cm

4 Axit rửa mạch 1 Pha đều tỉ lệ 2 chai (H202 và HCl)

6 Giấy nhám 1 Có thể thay bằng bùi nhùi thép

8 Khây rửa mạch 1 Có thể tận dụng thâu nhựa.

9 Bút lông 1 Vẽ lại đường dây khi bị đứt.

Bảng 4.2 Danh sách các linh kiện, module, cảm biến sử dụng trong hệ thống

STT Tên linh kiện Số lượng

3 Cảm biến nhiệt độ không tiếp xúc MLX 90614 1

4 Cảm biến đo nhịp tim và SPO2 MAX30100 1

6 Mạch khuếch đại âm thanh PAM 8403 1

15 Đồng hồ báo điện áp 1

• Mặt dưới board mạch đã được rửa, khoang và hàn linh kiện

Hình 4.4 Mặt dưới board mạch

• Mặt trên board mạch đã được hàn

Hình 4.5 Mặt trên board mạch

• Board mạch sau khi lắp Arduino và hàn các Jumper

Hình 4.6 Board mạch sau khi lắp Arduino và hàn các Jumper

4.2.2 Đóng gói và thi công mô hình

Sau khi xác nhận mạch hoạt động hiệu quả, nhóm đã tiến hành thi công hộp đựng để hoàn thiện mô hình Hệ thống được thiết kế nhỏ gọn, dễ dàng di chuyển, và phần mạch điện sẽ được đóng gói sau khi thi công.

Hộp đựng thiết kế hình chữ nhật với kích thước 19 x 18 x 24.5 cm, sử dụng bìa Formex 5mm và 3mm, kết hợp với keo 502 và keo nến Mặt trước có chức năng đo nhịp tim, nồng độ SPO2 và khay đo nhiệt độ, rửa tay sát khuẩn Mặt trên là bảng điều khiển trung tâm để thay đổi giá trị cảnh báo, công tắc bật tắt hệ thống, đèn báo trạng thái và đèn nguồn Màn hình LCD hiển thị kết quả đo và trạng thái cảnh báo Mặt sau có cổng sạc và công tắc cho nguồn ngoài, trong khi mặt bên phải có đồng hồ báo điện áp và công tắc bơm chủ động.

Dưới đây là các hình ảnh của hộp đựng:

Hình 4.7 Mặt trước và sau của hệ thống

Hình 4.8 Mặt trái và phải của hệ thống

Bên trong mô hình, có hộp chứa pin, bo mạch chính, các module và cảm biến được kết nối qua dây bus Hệ thống bao gồm màn hình LCD, bàn phím ma trận, đèn thông báo trạng thái hoạt động, công tắc nguồn và đèn báo nguồn.

Hình 4.9 Mặt dưới của bảng điều khiển trung tâm

Hình 4.10 Bên trong thiết bị

4.2.2.2 Bảng điều khiển trung tâm

Hình 4.11 Mặt trên – bảng điều khiển trung tâm

Bảng điều khiển trung tâm tích hợp nhiều chức năng quan trọng, bao gồm màn hình LCD hiển thị lời chào và kết quả đo nhịp tim, SPO2, nhiệt độ cùng các giá trị chỉnh sửa Hệ thống có loa phát cảnh báo khi các giá trị đo đạt ngưỡng, cùng với đèn quang báo thể hiện trạng thái hoạt động Ngoài ra, bàn phím cho phép người dùng thay đổi giá trị cảnh báo, công tắc toàn hệ thống và đèn báo hiệu hoạt động Cuối cùng, chức năng điều chỉnh âm lượng loa cũng được tích hợp để nâng cao trải nghiệm sử dụng.

Hình 4.12 Các menu thay đổi giá trị

4.2.2.3 Thi công hộp đựng cảm biến đo nhịp tim và SPO2

Hình 4.13 Hộp đựng cảm biến đo nhịp tim và SPO2

Nơi đo nhịp tim và SPO2 được thiết kế sao cho đầu cảm biến tiếp xúc nhất với bộ phận cơ thể được đo, ở đây là ngón tay

Hình 4.14 Vị trí hộp đựng cảm biến đo nhịp tim, SPO2

4.2.2.4 Thiết kế nơi đo nhiệt độ và rửa tay sát khuẩn

Hình 4.15 Bố trí đặt cảm biến đo nhiệt độ, vòi phun sát khuẩn và bơm

Hình 4.16 Nơi đo nhiệt độ và rửa tay sát khuẩn

Hệ thống được thiết kế tự động hóa mọi quy trình, giảm thiểu việc sử dụng nút nhấn vật lý Để đảm bảo việc rửa tay sát khuẩn và đo nhiệt độ diễn ra chính xác, người dùng cần đặt tay đúng vị trí để cảm biến nhận diện và thực hiện phun sát khuẩn cũng như đo nhiệt độ Hình ảnh dưới đây minh họa cách thức để đạt được kết quả chính xác nhất.

Hình 4.17 Cách dặt tay để có kết quả đo nhiệt độ chính xác nhất

Lập trình hệ thống

Thiết bị này có 4 chức năng chính: đo nhiệt độ, nhịp tim và SPO2, thông báo kết quả; thay đổi thông số và cảnh báo khi vượt qua giới hạn đã cài đặt; phun sát khuẩn và gửi kết quả qua ứng dụng Android qua Bluetooth Khi nhấn nút nguồn, thiết bị khởi động, hiển thị giao diện khởi động và phát âm thanh thông báo Hệ thống có thể được vận hành theo 2 cách khác nhau.

Khi đưa tay vào hộp đo nhịp tim và SPO2, hệ thống sẽ tự động đo và hiển thị kết quả trên màn hình LCD Đồng thời, loa sẽ thông báo kết quả và phát cảnh báo dựa trên các thông số đã được cài đặt trước.

Để thay đổi giá trị số liệu mặc định từ phím ma trận, bạn cần thực hiện thao tác này trước Sau khi trở về màn hình chính, hãy thực hiện theo cách 1 Lúc này, thông báo cảnh báo sẽ dựa trên số liệu mà bạn đã điều chỉnh từ phím ma trận.

Sau khi thực hiện đo nhịp tim và SPO2, người dùng sẽ hạ tay xuống khay dưới để tiến hành đo nhiệt độ cơ thể và phun sát khuẩn Cảm biến sẽ tự động nhận diện và phun ra cồn theo thời gian đã được cài đặt sẵn, tối ưu hóa theo hệ thống.

Số liệu sau khi đo đạt sẽ được gửi qua ứng dụng Android qua Bluetooth

4.3.1.1 Lưu đồ giải thuật chương trình chính

Hình 4.18 Lưu đồ giải thuật chương trình chính

Quá trình bắt đầu với việc khai báo thư viện và khởi tạo giao tiếp với vi điều khiển Sau khi khởi động, thiết bị hiển thị giao diện chính, cho phép người dùng chọn cách thức hoạt động qua phím nhấn ma trận Khi cảm biến đọc được giá trị thích hợp, hệ thống sẽ đo và hiển thị kết quả cùng âm thanh thông báo Để rửa tay sát khuẩn, cảm biến tiếp tục đọc giá trị và vi điều khiển kích hoạt relay để bơm dung dịch sát khuẩn Kết quả đo được sẽ được gửi qua Bluetooth đến ứng dụng Android.

4.3.1.2 Lưu đồ chọn hương trình chọn chế độ sử dụng qua phím ma trận

Hình 4.19 Lưu đồ chọn hương trình chọn chế độ sử dụng qua phím ma trận

Giải thích lưu đồ: Chương trình chọn chế độ sử dụng theo các bước sau:

- Sau khi khởi động, hệ thống tiến vào hiển thị giao diện chính

- Nếu có nhấn phím ma trận, hệ thống sẽ vào chương trình xử lý phím ma trận để tiến hành thay đổi các thông số so với mặc định

- Nhận được tín hiệu từ cảm biến, hệ thống sẽ tiến hành đo nhiệt độ, sau đó sẽ tiến hành đo nhịp tim và nồng độ SPO2

- Sau khi đo đạt, hệ thống sẽ gửi dữ liệu đo được cho ứng dụng Android trên điện thoại qua Bluetooth

- Tiến hành phun sát khuẩn khi nhận được tín hiệu từ cảm biến

4.3.1.3 Lưu đồ chương trình xử lý phím nhấn ma trận

Hình 4.20 Lưu đồ chương trình xử lý phím nhấn ma trận

Giải thích lưu đồ: Chương trình Chức năng xử lý phím ma trận sẽ có 4 giao diện màn hình chính:

- Khi khởi động hoặc không nhấn phím nào cả, hệ thống sẽ hiển thị giao diện chính

Khi nhấn nút A, hệ thống sẽ chuyển sang chức năng thay đổi giá trị cảnh báo nhiệt độ cơ thể Để thay đổi giá trị cảnh báo, người dùng cần nhấn vào thông số cần cài đặt và sau đó nhấn phím # để lưu lại Nếu muốn xóa thông số đã nhấn, chỉ cần nhấn phím * và thực hiện lại.

Khi nhấn nút B, hệ thống sẽ chuyển sang chức năng thay đổi giá trị cảnh báo nhịp tim Để thay đổi giá trị cảnh báo, người dùng chỉ cần nhấn vào thông số cần cài đặt và sau đó nhấn phím # để lưu lại Nếu muốn xóa thông số đã cài đặt, chỉ cần nhấn phím * và thực hiện lại quy trình.

Khi nhấn nút C, hệ thống sẽ chuyển sang chức năng thay đổi giá trị cảnh báo nồng độ SPO2 Để thay đổi giá trị cảnh báo, người dùng cần nhấn vào thông số cần cài đặt và sau đó nhấn phím # để lưu lại Nếu muốn xóa thông số đã nhấn, chỉ cần nhấn phím * và thực hiện lại.

- Khi nhấn nút D: hệ thống sẽ hiển thị giao diện chính

4.3.1.4 Lưu đồ chương trình đo nhiệt độ và phun sát khuẩn

Để đo nhiệt độ, đầu cảm biến thu nhận bức xạ hồng ngoại từ bề mặt cần đo và chuyển đổi năng lượng hồng ngoại này thành tín hiệu điện.

- Tín hiệu điện sẽ được bộ xử lý tính toán và gửi ra kết quả sau cùng là giá trị nhiệt độ

Chương trình sẽ thực hiện ba lần đo, với khoảng cách giữa mỗi lần đo là 10ms Kết quả cuối cùng sẽ được tính bằng giá trị trung bình của ba phép đo này.

- Chương trình sẽ in ra kết quả lên LCD, phun sát khuẩn và gửi dữ liệu qua ứng dụng Android, đọc ra kết quả và đưa ra cảnh báo

4.3.1.5 Lưu đồ chương trình đo nhịp tim, SPO2

Hình 4.21 Lưu đồ lưu đồ chương trình đo nhịp tim, SPO2

- Đo nhịp tim, SPO2 bằng cách để cảm biến trên thiết bị áp sát vào cơ thể, thường sử dụng nhất là đầu ngón tay

Chương trình đo bắt đầu khi đèn LED đỏ và hồng ngoại trên cảm biến phát ra ánh sáng với các bước sóng xuyên qua ngón tay, nhằm kiểm tra nhịp tim và mức SPO2.

Hệ thống sẽ tính toán nhịp tim và SPO2, sau một khoảng thời gian cài đặt, kết quả sẽ hiển thị trên màn hình LCD, đồng thời gửi kết quả đo được qua ứng dụng Android và phát ra loa.

- Chương trình sẽ so sánh với kết quả cài đặt để đưa ra cảnh báo thích hợp

4.3.2 Phần mềm lập trình cho vi điều khiển

Arduino IDE là một môi trường phát triển tích hợp (IDE) hỗ trợ lập trình các phần cứng, chạy trên máy tính cá nhân Ứng dụng đa nền tảng này được viết bằng ngôn ngữ Java và được sử dụng cho lập trình vi xử lý cũng như viết dự án Nó được thiết kế đặc biệt cho những người mới bắt đầu trong lĩnh vực phát triển phần mềm.

Viết chương trình cho Arduino Mega 2560 để đọc cảm biến và gửi dữ liệu lên Ứng dụng Inventor qua chuẩn truyền UART Để bắt đầu, truy cập trang chủ Arduino.cc để tải phần mềm về và tiến hành cài đặt Arduino IDE bao gồm các thành phần như thanh bảng chọn, thanh công cụ, vùng code editor và vùng thông báo trạng thái Thanh bảng chọn cung cấp các lựa chọn như File, Edit, Sketch, Tool và Help, trong khi thanh công cụ chứa các chức năng chính như biên dịch, nạp, tạo mới, mở và lưu.

4.3.3 Phần mềm lập trình cho điện thoại Để tiến hành tạo một ứng dụng Android đơn giản trên điện thoại theo yêu cầu sử dụng và dành cho người mới, phần mềm lập trình Mit App Inventor là lựa chọn phù hợp để giải quyết các vấn đề trên Giới thiệu về phần mềm đã có trong chương 2: cơ sở lý thuyết

Luu đồ ứng dụng Android được thể hiện ở hình dưới

- Chức năng của ứng dụng được thể hiện ở lưu đồ dưới

Hướng dẫn sử dụng, thao tác

4.4.1 Viết tài liệu hướng dẫn sử dụng

4.4.1.1 Hướng dẫn sử dụng trên thiết bị

Bước đầu tiên là bật nguồn cho toàn bộ hệ thống thông qua công tắc tổng trên bảng điều khiển Nguồn năng lượng được cung cấp từ khối pin 3s1p, đảm bảo toàn bộ hệ thống hoạt động hiệu quả.

Bước 2: Chọn chế độ hoạt động Nếu không thay đổi giá trị cảnh báo, tiến hành đo đạc như bình thường với giá trị cảnh báo đã cài đặt Nếu có thay đổi giá trị cảnh báo, hệ thống sẽ lưu lại giá trị mới và tiếp tục đo đạc như bình thường.

Để đo nhịp tim và SPO2 bằng cảm biến MAX30100, bạn cần ngồi ở tư thế thoải mái và thả lỏng cơ thể Đặt đầu ngón tay trỏ của tay phải lên khe cảm biến, trong khi ngón tay giữa sẽ kích hoạt cảm biến Lưu ý không di chuyển vị trí ngón tay trong quá trình đo, vì cử động có thể làm lệch kết quả Kết quả đo sẽ được hiển thị trên màn hình LCD và có cảnh báo qua loa dựa vào các thông số đã cài đặt trước đó.

Hình 4.23 Tư thế đặt tay khi đo nhịp tim và SPO2

Bước 4: Đo nhiệt độ và sát khuẩn bằng cách đưa bàn tay vào khay dưới cùng của hệ thống Khi cảm biến nhận diện bàn tay, hệ thống sẽ tự động đo nhiệt độ lòng bàn tay và phun dung dịch sát khuẩn Kết quả đo sẽ được hiển thị trên màn hình LCD, kèm theo cảnh báo nhiệt độ theo thông số đã được cài đặt trước.

Hình 4.24 Tư thế đặt tay để đo nhiệt độ và sát khuẩn

- Bước 5: Tắt hệ thống bằng công tắc bên trái LCD

4.4.1.2 Hướng dẫn thay đổi giá trị cảnh báo

- Bước 1: Sau khi bật công tắt, chờ giọng nói mở đầu hoàn thành, tiến hành nhấn phím D để tiến vào Menu thay đổi giá trị

Hình 4.25 Menu thay đổi giá trị

Để thay đổi các giá trị cảnh báo, bạn cần thực hiện các bước sau: nhấn A để điều chỉnh nhiệt độ cảnh báo, B để thay đổi nhịp tim cảnh báo, và C để thay đổi nồng độ SPO2 cảnh báo.

Bước 3: Dưới đây là ví dụ về việc thay đổi giá trị nhiệt độ Các giá trị khác có thể được điều chỉnh tương tự Sau khi nhấn phím A để chọn giá trị cần thay đổi, màn hình sẽ hiển thị để bạn nhập giá trị mới.

Sau đó nhấn # để tiến hành lưu giá trị thay đổi thành hiện tại

Trong trường hợp nhấn sai giá trị cần nhập, nhấn * để tiến hành xóa giá trị đã nhập

Hình 4.26 Hướng dẫn quá trình thao tác với bàn phím ma trận

4.4.1.3 Hướng dẫn thao tác khi hết dung dịch sát khuẩn

Trong quá trình sử dụng, việc hết dung dịch sát khuẩn là điều không thể tránh khỏi Do đó, nút nhấn màu đỏ được thiết kế để người dùng có thể chủ động bơm lại dung dịch sát khuẩn khi cần thiết.

Hình 4.27 Nút nhấn giữ màu đỏ

4.4.1.4 Hướng dẫn sử dụng sạc pin và dùng nguồn ngoài

Hệ thống được thiết kế tiện dụng và di động, ưu tiên sử dụng pin sạc Tuy nhiên, trong quá trình sử dụng, pin có thể hết, do đó, Adapter sạc là cần thiết Ở mặt sau hệ thống có lỗ cắm DC để sạc pin và một công tắc cho phép sạc pin đồng thời với việc sử dụng nguồn ngoài.

Hình 4.28 Lỗ cắm sạc và công tắc sạc

Công tắc đóng vai trò quan trọng trong việc cho phép sạc thiết bị khi cắm sạc, đồng thời cung cấp nguồn chung cho hệ thống thông qua Adapter Khi đó, Adapter không chỉ sạc thiết bị mà còn cung cấp nguồn cho toàn bộ hệ thống.

4.4.1.5 Hướng dẫn sử dụng ứng dụng MIT AI2

- Nhấn mở ứng dụng có tên là “MIT AI2” triên điện thoại

- Nhập mật khẩu để tiến hành vào giao diện chính, ở đây mật khẩu được cài đặt là 2808

Hình 4.29 Giao diện khóa và giao diện trung tâm

- Sau khi vào giao diện chính, tiến hành nhấn kết nối và chọn module Bluetooth HC-05

- Sau khi chọn kết nối module Bluetooth, kết quả đo được từ hệ thống sẽ được hiển thị trên ứng dụng như bên dưới

- Hệ thống sẽ gửi kết quả đo sau mỗi lần đo, sau đó ứng dụng sẽ hiển thị kết quả của lần đo cuối cùng

Hình 4.30 Giao diện hiển thị sau khi hệ thống gửi kết quả

Nhằm giúp người dùng dễ thao tác với hệ thống, dưới đây sẽ là quy trình hoạt động của hệ thống

Hình 4.31 Quy trình thao tác chung của hệ thống

Khi bật công tắc thiết bị, vi điều khiển cung cấp nguồn cho các cảm biến Sau đó, vi xử lý kiểm tra việc xử lý bàn phím ma trận, tiếp theo là đo các giá trị cảm biến, cảnh báo và gửi dữ liệu qua ứng dụng Android.

KẾT QUẢ - ĐÁNH GIÁ VÀ NHẬN XÉT

Ngày đăng: 05/05/2023, 14:33

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

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

w