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

Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học

98 93 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 đề Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Tác giả Nguyễn Huy Đạt
Người hướng dẫn TS. Nguyễn Việt Sơn
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật điều khiển và tự động hóa
Thể loại luận văn thạc sĩ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 98
Dung lượng 1,87 MB

Cấu trúc

  • MỤC LỤC

  • CHƯƠNG 1.

  • CHƯƠNG 2.

  • CHƯƠNG 3.

  • CHƯƠNG 4.

  • CHƯƠNG 5.

  • TÀI LIỆU THAM KHẢO

Nội dung

TỔNG QUAN

Đặt vấn đề

Với sự phát triển của khoa học và công nghệ trong cuộc cách mạng công nghiệp 4.0, công nghệ IoT (Internet of Things) ngày càng khẳng định vị thế quan trọng của mình trong cuộc sống IoT là một mạng lưới kết nối các đối tượng vật lý, không chỉ bao gồm máy tính mà còn mở rộng ra nhiều thiết bị như xe cộ, điện thoại thông minh, thiết bị gia dụng, và nhiều hơn nữa Tất cả các thiết bị này được kết nối và giao tiếp với nhau, cho phép chia sẻ thông tin để đạt được các mục tiêu thông minh hóa, theo dõi, an toàn và quản lý quy trình hiệu quả.

IoT, hay Internet vạn vật, là một hệ thống các thiết bị có khả năng kết nối với nhau, Internet và môi trường xung quanh để thực hiện các nhiệm vụ cụ thể Công nghệ IoT sử dụng nhiều phương thức kết nối như Wifi, Bluetooth, hồng ngoại và Zigbee Ứng dụng của IoT rất phong phú, ảnh hưởng đến mọi lĩnh vực trong cuộc sống hàng ngày của cá nhân, doanh nghiệp và xã hội IoT tạo ra các không gian và môi trường "thông minh" trong các lĩnh vực như giao thông vận tải, xây dựng, thành phố thông minh, phong cách sống, bán lẻ, nông nghiệp, sản xuất, chuỗi cung ứng, ứng phó khẩn cấp, chăm sóc sức khỏe, tương tác người dùng, văn hóa và du lịch, cũng như quản lý môi trường và năng lượng.

Sự phát triển của công nghệ IoT đã dẫn đến sự xuất hiện của các mô hình và hệ thống thông minh trong nhiều lĩnh vực như công nghiệp, nông nghiệp, chăn nuôi, môi trường và giáo dục Các hệ thống nhà máy, trường học và nhà ở thông minh ngày càng trở nên phổ biến trên toàn cầu Đồng thời, các nhà sản xuất ô tô hàng đầu cũng đang chú trọng đến việc tối ưu hóa sự hài lòng của người dùng thông qua việc nâng cao trải nghiệm trong xe hơi Xe kết nối không chỉ tối ưu hóa hoạt động và bảo trì mà còn mang lại sự thoải mái cho khách hàng Các thương hiệu lớn như BMW và Tesla đang nỗ lực thúc đẩy cuộc cách mạng mới trong ngành sản xuất ô tô.

Nhiều quốc gia đã chứng kiến sự bùng nổ của các thiết bị đeo thông minh như tai nghe, kính, ba lô và vòng tay Các công ty lớn như Google và Samsung đang đầu tư mạnh mẽ vào phát triển những sản phẩm này Những thiết bị này được trang bị cảm biến và phần mềm để thu thập dữ liệu người dùng, phục vụ cho nhu cầu về sức khỏe, thể chất và giải trí Yêu cầu thiết kế cho các sản phẩm này bao gồm công suất thấp, kích thước nhỏ gọn và tính thẩm mỹ cao.

Hình 1.1 Hình ảnh một thành phố thông minh trên thế giới

Tại Việt Nam, việc triển khai hệ thống IoT còn gặp nhiều khó khăn do giá thành cao và thị trường chưa được khai thác triệt để Các sản phẩm nhà thông minh từ các công ty IoT thường có giá từ 30 đến 200 triệu đồng, tùy thuộc vào gói lắp đặt cho các loại hình nhà ở như căn hộ, nhà phố hay biệt thự Ví dụ, gói lắp đặt cho một biệt thự 4 tầng có thể lên tới 180 triệu đồng Ngoài giá cao, vấn đề tiêu thụ năng lượng lớn, tính bảo mật và tâm lý người tiêu dùng cũng là những rào cản chính ngăn cản công nghệ này phát triển trên thị trường.

Trong bối cảnh cuộc cách mạng công nghiệp 4.0 đang phát triển mạnh mẽ, các nhà phát triển công nghệ IoT tại Việt Nam đã ghi dấu ấn quan trọng trong việc ứng dụng công nghệ vào đời sống Dự án Vinhomes Smart City của tập đoàn Vingroup là một ví dụ tiêu biểu Ngoài Vingroup, nhiều tên tuổi lớn khác trong lĩnh vực này như BKAV, Lumi và ACIS cũng đang góp phần thúc đẩy sự phát triển của công nghệ IoT tại Việt Nam.

Hình 1.3 Hình ảnh một hệ thống nhà thông minh của BKAV

Với sự phát triển nhanh chóng của công nghệ IoT, một hệ sinh thái thông minh mới đang được kỳ vọng sẽ hình thành, bao gồm thành phố thông minh, giao thông thông minh, trường học và nhà ở thông minh Tuy nhiên, tại Việt Nam, các hệ thống lớp học vẫn còn một số hạn chế như chưa áp dụng tự động hóa triệt để, chưa chú trọng đến việc tiết kiệm năng lượng và tính bảo mật của hệ thống.

Với sự phát triển mạnh mẽ của các nghiên cứu về trường học thông minh tại Việt Nam, mô hình này được định nghĩa là một hệ thống giáo dục tiên tiến, giúp tăng cường khả năng thích ứng và phát triển cân bằng trong bối cảnh xã hội thay đổi nhanh chóng Trường học thông minh tạo điều kiện cho học sinh khám phá và xây dựng tri thức, phát triển tư duy sáng tạo và khả năng tự chủ thông qua phương pháp giảng dạy cá biệt hóa, phù hợp với nhu cầu cá nhân Việc ứng dụng công nghệ thông minh trong giáo dục đã làm thay đổi cách thức tiếp nhận và tổ chức học tập, đồng thời nâng cao tính linh hoạt và độ tin cậy của chương trình giảng dạy Một trường học thông minh tiêu chuẩn cần đảm bảo các yếu tố như tính hữu ích, sự cá nhân hóa trong giảng dạy và khả năng thích ứng với nhu cầu của người học.

- Cung cấp và mở rộng các nền tảng phục vụ cho việc dạy và học trực tuyến

- Được thiết kế thân thiện với người dùng, tận dụng tối đa sự phát triển công nghệ thông minh

Các hệ thống lớp học được kết nối thành một mạng lưới chung, trong đó thông tin về các lớp học và người dùng như giáo viên và học viên được quản lý theo tiêu chuẩn dựa trên nền tảng cơ sở dữ liệu.

- Đảm bảo tính linh hoạt và thích ứng cao trong từng điều kiện cụ thể: khả năng phản hồi khi bị mất kết nối, các thiết bị hỏng hóc…

- Đề cao tính bảo mật của hệ thống và tối ưu hóa việc phân quyền sử dụng các trang thiết bị trong lớp học

Trong luận văn này, tôi nghiên cứu giải pháp xây dựng hệ thống trường học thông minh trong phạm vi phòng học, với mục tiêu phát triển hệ thống phòng học thông minh ứng dụng công nghệ IoT Hệ thống được thiết kế xoay quanh người giáo viên, dễ sử dụng và có khả năng tùy biến, mở rộng Đặc biệt, hệ thống đảm bảo tính bảo mật cao với chế độ đăng nhập bằng vân tay và cho phép người dùng điều khiển thiết bị qua điện thoại thông minh bằng kết nối Bluetooth Giao diện ứng dụng thân thiện, tích hợp đầy đủ chức năng như đăng nhập vân tay, điều khiển thiết bị, và chỉnh sửa thông tin người dùng Hệ thống còn có khả năng lưu trữ thông tin đa dạng từ người dùng và tích hợp các chế độ thông minh như điều khiển bằng giọng nói, tự động đóng mở cửa và điều chỉnh ánh sáng Mô hình này cho phép kết nối trong khoảng cách tối đa 4m, phù hợp với lớp học nhỏ và vừa, đóng góp quan trọng cho sự phát triển nền tảng phòng học thông minh tại Việt Nam.

Nội dung thực hiện

Mục tiêu của luận văn tốt nghiệp này là thiết kế và thi công mô hình điều khiển thiết bị trong lớp học qua ứng dụng Android sử dụng Bluetooth Hệ thống không chỉ điều khiển đèn, cửa sổ và rèm cửa mà còn tự động hóa các kịch bản như đóng mở cửa khi bật tắt điều hòa, tắt đèn và đóng rèm khi bật máy chiếu Đặc biệt, hệ thống cần có tính bảo mật cao với đăng nhập bằng vân tay, điều khiển bằng giọng nói, giám sát nhiệt độ và tự động đóng cửa sổ khi có mưa Do việc xây dựng mô hình thực tế với thiết bị công suất cao gặp khó khăn về chi phí và công sức, đề tài này sẽ thiết kế và chế tạo mô hình thí nghiệm với thiết bị công suất thấp nhằm mục đích mô phỏng, tạo tiền đề cho việc nâng cấp sản phẩm thành mô hình có ứng dụng cao trong thực tiễn.

Trên cơ sở mục tiêu của luận văn, các nội dung nghiên cứu được đề xuất như sau:

- Tìm hiểu công nghệ IoT và ứng dụng của nó

- Tìm hiểu về chuẩn Bluetooth, chuẩn truyền tin UART, chuẩn giao tiếp I2C

Trong bài viết này, chúng ta sẽ khám phá một số linh kiện điện và điện tử quan trọng như vi điều khiển STM32F103, cảm biến vân tay R305, cảm biến dòng ACS712, module công tắc hành trình, cảm biến nhiệt độ LM35, cảm biến mưa, LCD, rơ le, module điều khiển động cơ L298, động cơ một chiều và động cơ servo Những linh kiện này đóng vai trò quan trọng trong các ứng dụng điện tử và tự động hóa, giúp nâng cao hiệu suất và tính năng cho các dự án công nghệ.

- Tìm hiểu về lập trình ứng dụng di động trên nền tảng Android

Trên cơ sở mục tiêu và nội dung nghiên cứu của luận văn tốt nghiệp, sơ đồ khối của hệ thống được xây dựng như trong hình 1.4:

Chức năng của từng khối như sau:

Khối điều khiển: Vi điều khiển STM32F103

 Xử lí tín hiệu nhận được từ các cảm biến (cảm biến mưa, cảm biến nhiệt độ, cảm biến đo dòng, công tắc hành trình)

 Xử lí, truyền nhận tín hiệu với cảm biến vân tay thông qua chuẩn truyền tin UART

 Giao tiếp với module bluetooth để truyền nhận tín hiệu đến ứng dụng điều khiển

 Điều khiển đóng mở cửa sổ, rèm (có chế độ mở 50%), bật tắt đèn

 Hiển thị dữ liệu nhiệt độ và thông tin lớp học lên màn hình LCD

Hình 1.4 Sơ đồ khối hệ thống điều khiển trong phòng học thông minh

Khối nguồn: dùng 1 bộ Adapter chuyển từ điện áp xoay chiều 220v thành điện áp một chiều 5v để cấp nguồn cho hệ thống

Khối cảm biến bao gồm các thiết bị như biến mưa, cảm biến nhiệt độ LM35, cảm biến dòng ACS712 và module công tắc hành trình Những cảm biến này thu thập tín hiệu cần đo lường và truyền về bộ điều khiển trung tâm để xử lý.

Khối xác thực người dùng bao gồm cảm biến vân tay R305, có chức năng thu thập và gửi vân tay đến bộ điều khiển trung tâm để xử lý, lưu trữ và xác thực người dùng Khối này góp phần nâng cao tính bảo mật cho hệ thống.

Khối hiển thị: Dùng màn hình LCD 16x02 để hiển thị các thông số nhiệt độ và thông tin lớp học

Khối điều khiển đèn bao gồm hai rơ le kết nối với hai bóng đèn 220V, hoạt động như các công tắc để bật tắt đèn thông qua tín hiệu từ bộ điều khiển trung tâm.

Khối điều khiển rèm bao gồm hai động cơ một chiều và một module điều khiển động cơ L298 Khối này nhận tín hiệu từ bộ điều khiển, cho phép người dùng đóng mở hai rèm thông qua ứng dụng Android.

Khối điều khiển cửa sổ sử dụng hai động cơ servo để đóng mở hai cửa sổ Nó nhận tín hiệu từ bộ điều khiển thông qua ứng dụng Android hoặc từ cảm biến mưa.

Khối bluetooth sử dụng module HC-06 để truyền và nhận tín hiệu với ứng dụng Android, đồng thời giao tiếp với vi điều khiển trung tâm qua chuẩn truyền tin UART.

Ứng dụng Android được thiết kế trực quan và dễ sử dụng, tích hợp đầy đủ các chức năng quan trọng như đăng nhập bằng vân tay, điều khiển thiết bị qua nút nhấn hoặc giọng nói, và chỉnh sửa thông tin người dùng Ngoài ra, ứng dụng còn tích hợp cơ sở dữ liệu để lưu trữ thông tin đa dạng từ người dùng, bao gồm tên, tuổi và phòng ban.

Về bố cục, luận văn tốt nghiệp này gồm 5 chương:

Chương này trình bày vấn đề nghiên cứu, lý do chọn đề tài, xác định mục tiêu và nội dung nghiên cứu Đồng thời, chương cũng cung cấp sơ đồ khối hệ thống và bố cục của luận văn để người đọc dễ dàng theo dõi và hiểu rõ hơn về cấu trúc nghiên cứu.

CƠ SỞ LÝ THUYẾT

Tổng quan về Bluetooth

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ử trong khoảng cách ngắn 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 đạt 1Mb/s và hỗ trợ tốc độ lên tới 720 Kbps trong phạm vi từ 10m đến 100m Kết nối Bluetooth hoạt động vô hướng và sử dụng dải tần 2,4 GHz.

Các ứng dụng nổi bật của Bluetooth gồm:

 Truyền tải dữ liệu không dây giữa thiết bị di động và máy tính

 Tạo ra mạng không dây liên kết giữa các máy tính cá nhân

 Chia sẻ kết nối Internet giữa các thiết bị thông qua Bluetooth

 Giao tiếp không dây với các thiết bị ngoại vi của máy tính, chẳng hạn như chuột, bàn phím và máy in

Truyền thông giữa các thiết bị như máy đo, thiết bị định vị GPS, thiết bị y tế, máy quét mã vạch và các thiết bị điều khiển giao thông là rất quan trọng Đề tài này sử dụng module Bluetooth HC-06 để thiết lập giao tiếp giữa ứng dụng điều khiển trên điện thoại thông minh và khối mạch điều khiển.

Module Bluetooth HC06 (slave) là cầu nối giữa vi điều khiển và các thiết bị ngoại vi như điện thoại thông minh, máy tính laptop và USB Bluetooth thông qua chuẩn truyền thông Bluetooth Với thiết kế nhỏ gọn và tiện lợi, HC06 giao tiếp với vi điều khiển chỉ qua 2 chân (Tx và Rx), giúp thực hiện các dự án truyền dẫn và điều khiển từ xa một cách dễ dàng Điểm khác biệt của HC06 so với các module Bluetooth khác là nó chỉ hoạt động ở chế độ Slave, không thể chủ động kết nối từ vi điều khiển đến các thiết bị khác.

HC06 là một module Bluetooth phổ biến, và để dò tín hiệu kết nối từ nó, bạn cần sử dụng các thiết bị ngoại vi như điện thoại thông minh hoặc máy tính laptop Những thiết bị này sẽ giúp bạn tìm kiếm và kết nối với tín hiệu Bluetooth mà HC06 phát ra, mang lại sự tiện lợi và hiệu quả trong việc truyền dữ liệu không dây.

Thông số kĩ thuật của module HC-06 [5]:

 Điện áp hoạt động: 3V3 - 5V DC

 Dòng điện tiêu thụ: 20 ÷ 30mA

 Sử dụng chip: CSR Bluetooth V2.0

 Cấu hình Slave mặc định, không thay đổi được

 Hỗ trợ tốc độ baud: 200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bps

 Giao tiếp với vi điều khiển: UART

 Bất đồng bộ: 2.1Mbps (Max)/160kbps

 Bảo mật: mã hóa và chứng thực

Chuẩn truyền tin UART

UART (Giao tiếp nhận/truyền không đồng bộ phổ quát) là một chuẩn giao tiếp dữ liệu dễ sử dụng và phổ biến Chuẩn này thường được áp dụng trong việc giao tiếp giữa các vi điều khiển hoặc với các thiết bị khác.

Các thông số cơ bản [6]:

Baud rate là số bit được truyền trong một giây Trong quá trình truyền nhận không đồng bộ, các thiết bị truyền và nhận cần phải thống nhất về Baud rate Một số Baud rate phổ biến thường được sử dụng bao gồm 600, 1200, 2400, 4800, 9600, 14400 và 19200.

Khung truyền quy định số bit trong mỗi lần truyền dữ liệu, bao gồm bit bắt đầu (Start bit), các bit kết thúc (Stop bit) và bit kiểm tra tính chẵn lẻ (Parity) Ngoài ra, khung truyền còn xác định số bit cần thiết trong một gói dữ liệu.

 Idle frame: Đường truyền UART ở mức “1”, để xác nhận hiện tại đường truyền dữ liệu trống, không có frame nào đang được truyền đi

 Break frame: Đường truyền UART ở mức “0”, để xác nhận hiện tại trên đường truyền đang truyền dữ liệu, có frame đang được truyền đi

Start bit là bit đầu tiên trong một Frame, có chức năng thông báo cho thiết bị nhận rằng một gói dữ liệu sắp được truyền Đây là bit bắt buộc trong quá trình truyền tải dữ liệu.

 Data: dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB

Bit parity là một phương pháp kiểm tra tính chính xác của dữ liệu truyền Có hai loại bit parity: parity chẵn và parity lẻ Parity chẵn yêu cầu tổng số bit 1 trong dữ liệu truyền cộng với bit parity phải là số chẵn, trong khi parity lẻ yêu cầu tổng số bit 1 phải là số lẻ.

9 số lẻ Bit Parity không phải là bit bắt buộc và vì thế chúng ta có thể loại bỏ bit này ra khỏi khung truyền

Stop bit là một hoặc nhiều bit thông báo cho thiết bị rằng quá trình gửi dữ liệu đã hoàn tất Thiết bị nhận sẽ kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu Đây là loại bit bắt buộc, có thể là 1 bit, 1.5 bit, 2 bit hoặc 0.5 bit tùy thuộc vào ứng dụng UART của người dùng.

Hình 2.2 Các thông số của chuân truyền tin UART [6]

Chuẩn giao tiếp I2C

I²C, hay "Inter-Integrated Circuit", là một loại bus nối tiếp được phát triển bởi Philips, ban đầu chỉ sử dụng trong các linh kiện của hãng Nhờ tính ưu việt và đơn giản, I²C đã được chuẩn hóa và hiện nay được áp dụng rộng rãi trong các mô đun truyền thông nối tiếp của vi mạch tích hợp.

I²C sử dụng hai đường truyền tín hiệu [7]:

- Một đường xung nhịp đồng hồ (SCL) chỉ do Master phát đi (thông thường ở 100kHz và 400kHz Mức cao nhất là 1MHz và 3.4MHz)

- Một đường dữ liệu (SDA) theo 2 hướng

- Sơ đồ kết nối như hình dưới

Hình 2.3 Sơ đồ truyền tín hiệu theo chuẩn I2C

Giao thức truyền dữ liệu:

Dữ liệu giữa thiết bị Master và các thiết bị Slave được truyền qua đường dữ liệu SDA duy nhất, sử dụng các chuỗi bit 0 và 1 Mỗi chuỗi này được gọi là giao dịch (transaction) và có cấu trúc dữ liệu riêng.

Hình 2.4 Cấu trúc gói dữ liệu trong mỗi giao dịch

- Điều kiện bắt đầu (Start Condition)

Khi một Master bắt đầu giao dịch, nó sẽ chuyển đổi SDA từ điện áp cao xuống điện áp thấp trước khi đường SCL giảm từ cao xuống thấp.

Khi thiết bị Master gửi tín hiệu khởi động, tất cả các thiết bị Slave sẽ hoạt động, ngay cả khi đang ở chế độ ngủ, và chờ nhận bit địa chỉ.

Hình 2.5 Điều kiện bắt đầu trong gói dữ liệu I2C

Bài viết đề cập đến việc sử dụng 7 bit địa chỉ của thiết bị Slave trong giao thức I2C, cho phép thiết bị Master gửi và nhận dữ liệu Các thiết bị Slave trên bus I2C sẽ so sánh các bit địa chỉ này với địa chỉ của chính chúng để xác định thiết bị nào sẽ nhận dữ liệu.

Bit này xác định hướng truyền dữ liệu giữa thiết bị Master và thiết bị Slave Khi thiết bị Master gửi dữ liệu đến thiết bị Slave, bit này được thiết lập là '0' Ngược lại, khi thiết bị Master cần nhận dữ liệu từ thiết bị Slave, bit này sẽ được thiết lập là '1'.

ACK/NACK là viết tắt của Acknowledged/Not-Acknowledged Khi địa chỉ vật lý của thiết bị Slave trùng với địa chỉ do thiết bị Master phát, bit này sẽ được thiết lập thành ‘0’ bởi thiết bị Slave Nếu không trùng, bit này giữ ở mức logic ‘1’ (mặc định).

Khối dữ liệu bao gồm 8 bit được thiết lập bởi bên gửi, chứa thông tin cần truyền tới bên nhận Sau khối này, có một bit ACK/NACK để xác nhận việc nhận dữ liệu.

‘0’ bởi bên nhận nếu nó nhận thành công dữ liệu Ngược lại, nó vẫn ở mức logic

Sự kết hợp của khối dữ liệu theo sau bởi bit ACK / NACK được lặp lại cho đến quá trình truyền dữ liệu được hoàn tất

- Điều kiện kết thúc (Stop condition)

Sau khi truyền các khung dữ liệu cần thiết qua đường SDA, thiết bị Master sẽ chuyển đổi đường SDA từ mức điện áp thấp sang mức điện áp cao Điều này diễn ra trước khi đường SCL chuyển từ mức cao xuống mức thấp.

Bài viết này trình bày việc sử dụng module I2C để truyền nhận dữ liệu giữa MCU và màn hình LCD thông qua giao tiếp I2C Với module chuyển đổi LCD I2C, chỉ cần kết nối 2 chân SDA và SCL của MCU với 2 chân tương ứng của module, giúp giảm thiểu số chân cần thiết để giao tiếp với LCD từ ít nhất 6 chân xuống chỉ còn 2 chân Hơn nữa, người dùng có thể dễ dàng điều chỉnh độ tương phản của màn hình thông qua biến trở gắn trên module mà không cần thiết kế thêm phần cứng.

- Địa chỉ mặc định: 0x27, có thể mắc vào I2C bus tối đa 8 module (3bit address set)

- Jump Chốt: Cung cấp đèn cho LCD hoặc ngắt

- Biến trở xoay độ tương phản cho LCD

Giới thiệu về Android

Android là hệ điều hành mã nguồn mở dựa trên Linux, được phát triển cho các thiết bị di động với màn hình cảm ứng, chẳng hạn như điện thoại thông minh.

Android, hệ điều hành phổ biến cho điện thoại di động và máy tính bảng, được phát triển bởi Tổng công ty Android với sự hỗ trợ tài chính từ Google, và sau đó đã được Google mua lại.

Hệ điều hành Android, ra mắt vào năm 2007, đã nhanh chóng chiếm lĩnh thị trường và hiện nay vẫn giữ vị trí hàng đầu Với những bước tiến mạnh mẽ, phiên bản Android 10 mới nhất đang nhận được sự đón nhận nồng nhiệt từ người dùng trên toàn thế giới.

Khác với nhiều hệ điều hành khác, Google phát triển Android theo hướng mở, cho phép người dùng và nhà phát triển can thiệp sâu vào hệ thống thông qua việc cung cấp mã nguồn và giấy phép mã nguồn mở Điều này đã tạo ra cơ hội lớn cho các lập trình viên, khuyến khích họ đầu tư và phát triển hệ điều hành này theo nhiều hướng đa dạng.

Hình 2.8 Sơ đồ các lớp của hệ điều hành Android

Android gồm 5 phần chính sau được chứa trong 4 lớp [9]:

Nhân Linux là nền tảng cơ sở mà hệ điều hành Android được xây dựng dựa trên, đóng vai trò quan trọng trong việc quản lý giao tiếp giữa các thiết bị Nó cung cấp lớp điều khiển cho phần cứng trên thiết bị Android, giúp đảm bảo sự hoạt động hiệu quả và ổn định.

Thư viện trong hệ điều hành Android bao gồm các mã nguồn quan trọng, cung cấp các tính năng thiết yếu Chẳng hạn, SQLite hỗ trợ quản lý cơ sở dữ liệu để lưu trữ thông tin, trong khi Webkit cung cấp các chức năng cần thiết cho trình duyệt web.

Android Runtime là tầng cuối cùng trong kiến trúc Android, cung cấp một bộ thư viện cốt lõi cho phép lập trình viên phát triển ứng dụng bằng ngôn ngữ Java Nó bao gồm máy ảo Dalvik cho các phiên bản trước 4.4 và hiện tại là máy ảo ART, được đánh giá là mạnh mẽ hơn trong việc xử lý biên dịch Máy ảo này điều khiển mọi hoạt động của ứng dụng Android đang chạy.

Máy ảo trên thiết bị Android không chỉ giúp biên dịch ứng dụng để chúng có thể thực thi hiệu quả, mà còn tối ưu hóa năng lượng pin và hiệu suất CPU.

Khung Android là một tập hợp các tính năng đa dạng của hệ điều hành Android, bao gồm kết nối, thông báo và truy xuất dữ liệu, được thiết kế để hỗ trợ các nhà phát triển ứng dụng trong việc tích hợp những khả năng này vào sản phẩm của họ.

Tầng ứng dụng trên thiết bị Android bao gồm các ứng dụng như danh bạ, trình duyệt và tất cả các ứng dụng do người dùng phát triển.

Một số ưu và nhược điểm của hệ điều hành Android:

Hệ điều hành mã nguồn mở cho phép người dùng tùy biến cao, dễ dàng chỉnh sửa mà không bị can thiệp hay cấm cản từ Google.

Android được nhiều hãng điện thoại và thiết bị công nghệ lựa chọn nhờ vào sự đa dạng sản phẩm và mức giá hợp lý, từ bình dân đến cao cấp.

 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

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 hoặc lỗ hổng bảo mật vẫn được sử dụng rộng rãi.

 Kho ứng dụng quá nhiều dẫn đến khó kiểm soát chất lượng, thiếu các ứng dụng thật sự tốt

Mặc dù có nhiều thiết bị Android xuất sắc như Galaxy S5, Galaxy Note 4 và Xperia Z3, nhưng thị trường vẫn tồn tại một số lượng lớn sản phẩm giá rẻ bình thường, dẫn đến sự phân mảnh lớn trong hệ sinh thái Android.

Khi phiên bản hệ điều hành mới ra mắt, không phải tất cả các thiết bị đều được cập nhật tự động Điều này có nghĩa là người dùng thường phải mua thiết bị mới để trải nghiệm những tính năng mới nhất.

Một số công cụ lập trình Android thông dụng như Android Studio, Eclipse, MIT App Inventor…

TÍNH TOÁN THIẾT KẾ PHẦN CỨNG

Sơ đồ nguyên lý hệ thống

Sơ đồ nguyên lý toàn bộ hệ thống được trình bày trong hình dưới đây, lưu ý rằng sơ đồ này chưa bao gồm khối nguồn Khối nguồn sẽ được thiết kế và tính toán riêng, thông tin chi tiết sẽ được trình bày ở mục 3.2 của chương này.

Hình 3.1 Sơ đồ nguyên lí hệ thống

Hệ thống bao gồm các khối sau:

2 Khối cảm biến và khối xác thực người dùng

6 Khối điều khiển cửa sổ

Việc tính toán thiết kế chi tiết cho từng khối được trình bày trong mục 3.2 của chương này.

Tính toán thiết kế từng khối

3.2.1 Khối điều khiển Đề tài này sử dụng vi điều khiển trung tâm là kit STM32F103C8T6 đóng vai trò truyền nhận tín hiệu với các các cảm biến cho các ứng dụng cho phép đăng nhập bằng vân tay, giám sát nhiệt độ lớp học , nhận tín hiệu điều khiển từ ứng dụng điện thoại để điều khiển các cơ cấu chấp hành như động cơ, đèn

Kit STM32F103C8T6 nhận nguồn 5VDC từ adapter qua chân 5V, sau đó chuyển đổi thành 3.3VDC thông qua IC nguồn để cấp cho vi điều khiển chính Kit được trang bị thạch anh nội 8MHz tích hợp sẵn Chi tiết kết nối giữa kit STM32F103C8T6 và các thành phần khác trong hệ thống được minh họa trong hình dưới đây.

Hình 3.2 Sơ đồ kết nối của khối điều khiển

Việc kết nối giữa khối điều khiển trung tâm với các ngoại vi được trình bày cụ thể như sau:

 Chân A0, A1 của vi điều khiển (ADC) được kết nối lần lượt với chân tín hiệu của cảm biến nhiệt độ LM35 và cảm biến đo dòng ACS712

 Chân A2, A3 của vi điều khiển (TXD, RXD) được kết nối tương ứng với chân RXD, TXD của cảm biến vân tay R305

 Chân A4, A5, A6 của vi điều khiển (các chân ngắt ngoài) được kết nối lần lượt với chân tín hiệu của cảm biến mưa và 2 công tắc hành trình

 Chân B0, B1 của vi điều khiển (các chân Output) được kết nối lần lượt với các chân tín hiệu đầu vào IN2, IN1 của module rơ le

 Chân B7 của vi điều khiển (SDA) được kết nối với chân SDA của module chuyển đổi I2C

 Chân B6 của vi điều khiển (SCL) được kết nối với chân SCL của module chuyển đổi I2C

 Chân B5, B4 của vi điều khiển (chân ngắt Timer chế độ tạo xung PWM) được kết nối với các chân tín hiệu của 2 động cơ servo

 Chân A10, A9 của vi điều khiển (RXD, TXD) được kết nối tương ứng với chân TXD, RXD của module bluetooth HC06

Các chân B15, B14, B13, B12 của vi điều khiển, được xem là các chân Output, được kết nối lần lượt với các chân tín hiệu đầu vào IN1, IN2, IN3, IN4 của module điều khiển động cơ L298.

3.2.2.1 Cảm biến nhiệt độ LM35 Đề tài này sử dụng cảm biến nhiệt độ LM35 cho ứng dụng giám sát nhiệt độ của lớp học Cảm biến LM35 giao tiếp với vi điều khiển bằng cách đưa ra một giá trị hiệu điện thế nhất định tại chân Vout (chân ở giữa) ứng với mỗi mức nhiệt độ Tín hiệu này được đưa vào bộ ADC được tích hợp sẵn của vi điều khiển và đầu ra dạng digital để xử lý Như vậy, bằng cách đưa vào chân bên trái của cảm biến LM35 hiệu điện thế 5V, chân phải nối đất, đo hiệu điện thế ở chân giữa bằng các chân được gắn tương ứng trên vi điều khiển sẽ thu được nhiệt độ hiện tại

Sơ đồ kết nối giữa cảm biến nhiệt độ LM35 và vi điều khiển trung tâm như sau:

Hình 3.3 Sơ đồ kết nối của cảm biến LM35

Tính toán nhiệt độ đầu ra của LM35: Ở đề tài tốt nghiệp này, vi điều khiển được sử dụng là STM32F103 với bộ ADC

12 bit Công thức tính nhiệt độ dựa vào hiệu điện thế đầu ra của LM35 như sau:

Điện áp đầu ra (u) của cảm biến LM35 được đo bằng milivolt (mV) và tỉ lệ với nhiệt độ môi trường (t) theo công thức k = 10mV/1°C Với điện áp tham chiếu Vref là 3.3V và bộ giải mã ADC 12 bit, bước thay đổi của LM35 được tính là 3.3/(2^12) = 3.3/4096 Giá trị ADC đo được sẽ phản ánh chính xác nhiệt độ môi trường.

34 áp đầu vào của LM35 là: u = (t*k)/(3.3/4096) = ((10 −2 )* 4096*t)/3.3 = 12.41 *t Vậy nhiệt độ ta đo được t = (giá trị ADC) / 12.41

+ Tại 0°C thì điện áp của LM35 là 10mV

+ Tại 150°C thì điện áp của LM35 là 1.5V

==> Dải điện áp ADC biến đổi là 1.5 - 0.01 = 1.49 (V)

+ ADC 12 bit nên bước thay đổi của ADC là: n = 0.81mV

Vậy sai số của hệ thống đo là: Y = 0.00081/1.49 = 0.054%

3.2.2.2 Cảm biến đo dòng ACS712

Cảm biến đo dòng ACS712 là thiết bị quan trọng trong việc đo dòng điện xoay chiều từ các thiết bị điện như điều hòa và máy chiếu Nó giúp phát hiện tín hiệu bật tắt của các thiết bị này, phục vụ cho việc điều khiển hệ thống Khi thiết bị tắt, dòng điện ra bằng 0, trong khi khi thiết bị hoạt động, giá trị dòng điện sẽ lớn hơn 0.

Việc lấy các tín hiệu này nhằm mục đích xây dựng các kịch bản tự động cho lớp học:

- Kịch bản 1: Khi có tín hiệu bật điều hòa, hệ thống điều khiển 2 cửa sổ đóng

1 cách tự động để tiết kiệm điện

Khi nhận tín hiệu bật máy chiếu, hệ thống sẽ tự động tắt đèn và đóng rèm tại khu vực máy chiếu, tạo điều kiện thuận lợi cho việc dạy và học hiệu quả hơn.

Trong nghiên cứu này, việc tích hợp cảm biến trên thiết bị thực tế gặp khó khăn do chi phí cao và rủi ro Do đó, tôi đã sử dụng hai đèn 220V để mô phỏng hệ thống, với tín hiệu bật tắt đèn tương ứng với tín hiệu mở và đóng của điều hòa (máy chiếu).

Sơ đồ kết nối giữa cảm biến đo dòng ACS712 và vi điều khiển trung tâm như sau:

Hình 3.4 Sơ đồ kết nối của cảm biến ACS712

Cảm biến nhận tín hiệu đầu vào từ hai dây dẫn của dòng điện xoay chiều Sau đó, tín hiệu điện áp đầu ra của cảm biến được gửi đến bộ chuyển đổi analog sang số (ADC) để thực hiện xử lý.

35 Điện áp tham chiếu cho ACS712 Vref là 3.3V, bộ giải mã ADC sử dụng 12bit, thì bước thay đổi của ACS712 sẽ là 3.3/(2 12 ) = 3.3/4096

Vậy giá trị dòng điện ra đo được I = (giá trị ADC) * 3.3 / 4096

3.2.2.3 Công tắc hành trình Đề tài này sử dụng các công tắc hành trình 5V cho ứng dụng điều khiển các rèm cửa Cụ thể mỗi rèm cửa cần 3 công tắc hành trình để xác định các điểm giới hạn tương ứng với 3 trạng thái của rèm: mở, mở 50%, đóng (tương ứng với công tắc hành trình 1, 2, 3)

Khi rèm cửa chạm vào cần gạt của công tắc hành trình, sẽ xảy ra hiện tượng ngắt tại các chân tương ứng của MCU MCU sẽ xử lý các tín hiệu ngắt này và phát ra tín hiệu điều khiển cho rèm cửa.

Khi nhận tín hiệu mở rèm, MCU sẽ gửi tín hiệu điều khiển để động cơ quay thuận Khi rèm chạm vào công tắc hành trình 2, ngắt ngoài xảy ra nhưng động cơ vẫn không dừng lại, vì ngắt này không tương ứng với chế độ mở rèm Đến khi rèm chạm vào công tắc hành trình 1, ngắt ngoài tại chân này sẽ khiến MCU gửi tín hiệu dừng động cơ.

Khi tín hiệu mở rèm đạt 50%, MCU sẽ gửi tín hiệu điều khiển cho động cơ quay theo chiều thuận Khi rèm chạm vào cần gạt của công tắc hành trình 2, sẽ xảy ra ngắt ngoài tại chân này và MCU sẽ gửi tín hiệu dừng động cơ.

Khi nhận tín hiệu đóng rèm, MCU sẽ gửi tín hiệu điều khiển để động cơ quay ngược Khi rèm chạm vào cần gạt của công tắc hành trình 3, sẽ xảy ra ngắt ngoài tại chân này và MCU sẽ gửi tín hiệu để dừng động cơ.

Sơ đồ kết nối giữa các công tắc hành trình và vi điều khiển trung tâm như sau:

Hình 3.5 Sơ đồ kết nối của công tắc hành trình

Cảm biến mưa được ứng dụng trong việc phát hiện mưa nhằm tự động đóng cửa sổ Thiết bị này cung cấp hai loại tín hiệu đầu ra: tín hiệu analog và tín hiệu digital, cho phép linh hoạt trong việc áp dụng Trong nghiên cứu này, tín hiệu được sử dụng chủ yếu là tín hiệu analog.

Thiết kế mạch in cho hệ thống

Hình 3.15 Sơ đồ mạch in board điều khiển trong phòng học

Mạch in trong luận văn này được thiết kế bằng phần mềm Altium designer 17, được thể hiện như trong hình 3.15

3.3.2 Sơ đồ bố trí linh kiện

Sơ đồ bố trí linh kiện cho hệ thống được thể hiện trong hình dưới đây:

Hình 3.16 Sơ đồ bố trí các linh kiện trong hệ thống

Danh sách các linh kiện:

Bảng 3.9 Danh sách linh kiện được sử dụng trong đề tài

Tên linh kiện Chú thích Số lượng

Module L298 Điều khiển động cơ 1

DC motor 3-9V 2 Động cơ servo 5V 2

Thiết kế mô hình phần cứng hoàn chỉnh

Sau quá trình thiết kế và thi công, mô hình phần cứng của hệ thống cơ bản đã hoàn thành, với thiết kế đơn giản và trực quan Hệ thống đáp ứng đầy đủ các chức năng cần thiết cho một lớp học thông thường, bao gồm đèn, rèm, cửa sổ và màn hình hiển thị Vi điều khiển trung tâm có khả năng giao tiếp với phần mềm điều khiển và thực hiện các lệnh điều khiển Hệ thống cũng được trang bị cảm biến để xử lý tín hiệu và giao tiếp hiệu quả với vi điều khiển chính.

Mô hình hệ thống trong luận văn tốt nghiệp này được thiết kế tương tự như một lớp học thông thường, bao gồm các thiết bị cơ bản như đèn, rèm, cửa sổ và bảng điều khiển Đây là một mô hình thí nghiệm sử dụng thiết bị công suất thấp nhằm mục đích mô phỏng, đồng thời đóng vai trò quan trọng trong việc nâng cấp sản phẩm thành các mô hình ứng dụng cao trong thực tiễn.

Một số hình ảnh của hệ thống như sau:

Hình 3.17 Mô hình thiết kế hoàn chỉnh

Hệ thống lớp học thông minh này khác biệt so với các hệ thống hiện tại ở Việt Nam nhờ vào việc ứng dụng công nghệ cao trong điều khiển lớp học Với tính năng bảo mật cao thông qua đăng nhập bằng vân tay, hệ thống còn cho phép điều khiển bằng giọng nói, giám sát nhiệt độ, tự động đóng cửa sổ khi trời mưa, giảm độ sáng trong lớp học và tự động đóng rèm khi giáo viên sử dụng máy chiếu.

Hình 3.18 Board mạch điều khiển chính

Các vị trí trên board mạch điều khiển của hệ thống:

1 Cảm biến đo dòng ACS712 kết nối với đèn 220v với mục đích mô phỏng việc bật tắt điều hòa (hoặc máy chiếu)

2 Cảm biến vân tay R305 cho ứng dụng thu thập vân tay người dùng và giao tiếp với vi điều khiến chính

3 Cảm biến nhiệt độ LM35 với mục đích giám sát nhiệt độ lớp học

4 Màn hình hiển thị LCD và module chuyển đổi I2C để hiển thị thông tin tên và nhiệt độ lớp học

5 Vi điều khiển chính Stm32f103c8t6

6 Module bluetooth HC-06 làm nhiệm vụ truyền thông giữa vi điều khiển và phần mềm điều khiển qua chuẩn bluetooth

7 Vị trí kết nối cảm biến mưa cho mục đích phát hiện trời mưa để đóng cửa sổ

8 Vị trí kết nối 2 công tắc hành trình cho ứng dụng đóng rèm khi đến điểm giới hạn

9 Module rơ le 2 kênh kết nối với 2 đèn 220V của lớp học

10 Module L298 kết nối với 2 động cơ 1 chiều cho ứng dụng điều khiển rèm của lớp học

11 Vị trí kết nối 2 động cơ servo cho ứng dụng điều khiển 2 cửa sổ của lớp học

12 Vị trí cắm adapter cấp nguồn cho toàn bộ hệ thống phần cứng

TÍNH TOÁN THIẾT KẾ PHẦN MỀM

Lập trình hệ thống

4.1.1 Lập trình cho vi điều khiển a) Giới thiệu KeilC uVision Đề tài này sử dụng phần mềm KeilC uVision5 để lập trình cho vi điều khiển STM32F103C8T6 KeilC là môi trường phát triển tích hợp và bộ tạo chương trình tự động được thiết kế cho họ các vi điều khiển ARM, 8051, STM của Atmel, là một trình biên dịch chéo C, ASM thành ngôn ngữ máy tính để nạp vào vi điều khiển tạo sự tương tác giữa vi điều khiển và người lập trình Phần mềm Keil C uVision cho kiến trúc vi điều khiển hỗ trợ mọi cấp độ của nhà phát triển phần mềm từ kỹ sư ứng dụng chuyên nghiệp đến sinh viên chỉ học về phát triển phần mềm nhúng Tiện ích được thiết kế để giải quyết các vấn đề phực tạp mà các nhà phát triển phần mềm nhúng phải đối mặt Keil C uVision mô phỏng chính xác các thiết bị ngoại vi trên chip của thiết bị Nó giúp người dùng hiểu cấu hình phần cứng và tránh lãng phí thời gian cho các vấn đề thiết lập Ngoài ra, với mô phỏng, cũng có thể viết và kiểm tra các ứng dụng phần cứng đã có sẵn

Chương trình tương thích với các hệ điều hành Windows 2000, XP, Vista và cả phiên bản 32/64 bit KeilC uVision được coi là một trong những IDE hàng đầu cho lập trình viên phát triển vi điều khiển lõi ARM trong ứng dụng nhúng Phần mềm này có nhiều ưu điểm nhưng cũng tồn tại một số nhược điểm đáng lưu ý.

Trình biên dịch này nhanh chóng và mạnh mẽ, được nhiều người ưa chuộng nhờ khả năng hỗ trợ mô phỏng và nhiều loại trình gỡ lỗi Nó cũng tối ưu hóa hiệu suất cho các ứng dụng chạy trên bộ xử lý lõi ARM.

+ Hỗ trợ cho nhiều loại kiến trúc MCU

+ Hỗ trợ chúng ta cách quản lý source code bằng cách add source vào project explorer, cấu hình target device, define parameter rất tiện lợi

Phần mềm này yêu cầu phí sử dụng, và phiên bản thử nghiệm có nhiều tính năng bị hạn chế Ngoài ra, công cụ IDE không phát huy hiệu quả khi áp dụng cho các chương trình lớn và phức tạp.

Màn hình làm việc của Keil C: bao gồm các thanh công cụ ở phía trên cùng và 3 vùng chính như trong hình dưới

Vùng 1: Là vị trí của các cửa sổ Project, cho phép quản lý các tập tin trong dự án, và cửa sổ Function, cho phép ta quản lý các chương trình con

Vùng 2: Vùng soạn thảo Đây là nơi soạn thảo chương trình

Vùng 3: Cửa sổ Build Output Hiển thị các thông tin trong quá trình biên dịch chương trình

Hình 4.1 Màn hình làm việc của KeilC

Các bước tạo một dự án mới:

Để quản lý hiệu quả các dự án, bạn nên tạo một thư mục riêng cho mỗi dự án, đặt tên thư mục theo tên dự án và kèm theo ngày khởi động Ngoài ra, hãy thêm một file text trong thư mục đó để ghi lại những thay đổi quan trọng của dự án.

Bước 2: Vào menu Project\New uVision Project để tạo project mới Nhập đường dẫn và tên project vào hộp thoại Nhấn OK

Bước 3: Chọn loại vi điều khiển cần sử dụng trong hộp thoại Select device for Target (Hình 4.2) Nhấn OK

Hình 4.2 Hộp thoại Select device

Bước 4: Tạo một file mới: File\New và lưu lại với định dạng *.c hoặc *.h

Bước 5: Add file vừa tạo vào project

Bước 6: Thiết lập cho Keil C xuất ra file *.hex, ta mở hộp thoại Target Option (Hình 4.3) Click chọn vào checkbox Create HEX file trong tab Output (Hình 4.4) Nhấn OK

Hình 4.3 Chọn hộp thoại Target option

Hình 4.4 Tab Output trong hộp thoại Target option b) Lưu đồ giải thuật cho chương trình chính

Lưu đồ giải thuật chương trình chính cho khối mạch như sau:

Hình 4.5 Lưu đồ giải thuật cho chương trình chính cho khối mạch

Hoạt động của chương trình chính được mô tả như sau:

Khi cấp nguồn cho bo mạch, hệ thống sẽ khởi tạo các cổng vào ra, ngắt ngoài, timer, UART, ADC và màn hình LCD của vi điều khiển Quá trình này bao gồm việc cài đặt các cấu hình mặc định cho hệ thống, như tắt đèn, đóng cửa sổ và kéo rèm.

 Ngắt ngoài EXTI4 được cài đặt ở chế độ Falling Edge (ngắt khi có sườn xuống) tương ứng với tín hiệu từ cảm biến mưa

 Ngắt ngoài EXTI5, EXTI6 được cài đặt ở chế độ Rising Edge (ngắt khi có sườn lên) tương ứng với tín hiệu từ các công tắc hành trình

 Timer 3 được khởi tạo cho ứng dụng tạo ra tín hiệu PWM điều khiển động cơ servo

Ngắt UART1 được cấu hình để truyền và nhận tín hiệu, tương thích với giao tiếp module Bluetooth, với thông số 8-bit dữ liệu, 1-bit dừng và không có bit kiểm tra (No Parity), tốc độ Baud Rate là 9600.

 Ngắt UART2 được cài đặt ở chế độ truyền và nhận tín hiệu tương ứng với tín hiệu giao tiếp với cảm biến vân tay R305 (8-bit Data, 1-bit Stop,

Ngắt ADC được thiết lập để ứng dụng có thể đọc tín hiệu từ cảm biến nhiệt độ LM35 và hiển thị kết quả trên màn hình LCD, đồng thời cũng thu thập dữ liệu từ cảm biến đo dòng ACS712 để xử lý các kịch bản khác nhau.

 Khởi tạo màn hình LCD để hiển thị nhiệt độ và thông tin lớp học

Khi có ngắt xảy ra, vi điều khiển sẽ chuyển sang chương trình phục vụ ngắt và thực hiện các lệnh điều khiển tương ứng Tất cả các ngắt được cài đặt với mức ưu tiên như nhau, do đó, ngắt nào xảy ra trước sẽ được xử lý trước.

Nếu không có ngắt hoặc sau khi thực hiện ngắt, vi điều khiển sẽ xử lý tín hiệu từ cảm biến nhiệt độ LM35 và hiển thị thông số trên màn hình LCD Do nhiệt độ thay đổi chậm, việc sử dụng ngắt Timer để đọc tín hiệu từ cảm biến LM35 và hiển thị lên LCD là một giải pháp hiệu quả để tiết kiệm năng lượng.

Lưu đồ giải thuật chương trình con xử lý ngắt ngoài được thể hiện trong hình 4.6:

Hình 4.6 Lưu đồ giải thuật chương trình con xử lý ngắt ngoài

Hoạt động của chương trình con này được mô tả như sau:

 Khi có tín hiệu ngắt ngoài từ cảm biến mưa, tức là phát hiện trời mưa, vi điều khiển thực hiện lệnh đóng các cửa sổ

Khi nhận tín hiệu ngắt từ công tắc hành trình, vi điều khiển sẽ dừng động cơ rèm cửa khi rèm đã đóng đến điểm giới hạn Đồng thời, lưu đồ giải thuật chương trình con giao tiếp với LCD và LM35 cũng được thực hiện để đảm bảo hoạt động chính xác.

Lưu đồ giải thuật chương trình con giao tiếp giữa vi điều khiển với LCD và cảm biến nhiệt độ LM35 như hình dưới:

Hoạt động của chương trình con này được mô tả như sau:

Khi cảm biến nhiệt độ LM35 gửi tín hiệu ngắt ADC, vi điều khiển sẽ tính toán giá trị nhiệt độ và hiển thị kết quả trên màn hình LCD.

Màn hình LCD không chỉ hiển thị thông tin lớp học mà còn cung cấp thông tin cố định, không thay đổi trong suốt quá trình hoạt động của hệ thống.

Hình 4.7 Lưu đồ giải thuật chương trình con giao tiếp với LCD và LM35 e) Lưu đồ giải thuật chương trình con giao tiếp với HC06

Lưu đồ giải thuật chương trình con giao tiếp với module bluetooth HC06 như sau:

Hình 4.8 Lưu đồ giải thuật chương trình con giao tiếp với module HC06

Hoạt động của chương trình con này được mô tả như sau:

Khi nhận tín hiệu điều khiển từ ứng dụng, vi điều khiển sẽ thực hiện các lệnh điều khiển tương ứng Dưới đây là danh sách các tín hiệu điều khiển từ ứng dụng.

Bảng 4.1 Bảng tín hiệu khối điều khiển nhận về qua chuẩn bluetooth

0x4C Cho phép đăng nhâp bằng vân tay

0x00 Cài đặt chế độ mặc định cho user có ID = 1

0x03 Cài đặt chế độ mặc định cho user có ID = 2

0x30 Cài đặt chế độ mặc định cho user có ID = 3

0x3F Cài đặt chế độ mặc định cho user có ID = 4 f) Lưu đồ giải thuật chương trình con giao tiếp với R305

Lưu đồ giải thuật chương trình con giao tiếp với cảm biến vân tay R305 được minh họa trong hình 4.9

Hoạt động của chương trình con này được mô tả như sau:

Xây dựng các kịch bản kiểm thử

Để kiểm thử hệ thống, tôi đề xuất một số kịch bản mô phỏng thường gặp trong quá trình vận hành lớp học Những kịch bản này giúp xác nhận tính đúng đắn và ổn định của hệ thống.

4.2.1 Kịch bản 1: Người dùng 1 đăng nhập thành công

Hệ thống cần hiển thị thông tin người dùng 1, bao gồm tên giảng viên và bộ môn, trên giao diện chính, đồng thời thiết lập trạng thái mặc định cho các thiết bị trong lớp học Những trạng thái này được thu thập trước dựa trên sở thích của từng giảng viên Tất cả thông tin này, cùng với tên giảng viên và bộ môn, sẽ được lưu trữ trong cơ sở dữ liệu.

- Bộ môn: Tin học công nghiệp

- Trạng thái mặc định: 2 đèn sáng, 2 rèm đóng, 2 cửa sổ đóng

4.2.2 Kịch bản 2: Người dùng 2 đăng nhập thành công

Hệ thống cần hiển thị thông tin người dùng 2, bao gồm tên giảng viên và bộ môn, trên giao diện chính, đồng thời thiết lập trạng thái mặc định cho các thiết bị trong lớp học Những trạng thái này được thu thập từ trước theo sở thích của từng giảng viên và được lưu trữ trong cơ sở dữ liệu.

- Bộ môn: Khoa học máy tính

- Trạng thái mặc định: 2 đèn tắt, 2 rèm đóng, 2 cửa sổ đóng

4.2.3 Kịch bản 3: Người dùng điều khiển các thiết bị bằng nút nhấn

Sau khi đăng nhập thành công, hệ thống cần sẵn sàng cho các yêu cầu điều khiển các thiết bị từ người dùng, bao gồm các tín hiệu:

- Đóng mở rèm 1, 2 Đặc biệt, hệ thống có khả năng cho phép người dùng điều khiển các mức độ mở rèm khác nhau, cụ thể là mở 50% hay 100%

4.2.4 Kịch bản 4: Người dùng điều khiển các thiết bị bằng giọng nói

Hệ thống không chỉ hỗ trợ điều khiển thông qua các nút nhấn trên giao diện mà còn cho phép người dùng điều khiển thiết bị bằng giọng nói, bao gồm nhiều tín hiệu khác nhau.

- Đóng mở rèm 1, 2 Đặc biệt, hệ thống có khả năng cho phép người dùng điều khiển các mức độ mở rèm khác nhau, cụ thể là mở 50% hay 100%

- Đóng mở cả 2 cửa sổ

Hệ thống cảm biến mưa cần có khả năng phát hiện tín hiệu mưa và truyền thông tin về vi điều khiển để tự động đóng cửa sổ.

4.2.6 Kịch bản 6: Điều hòa bật

Hệ thống được thiết kế để phát hiện tín hiệu bật điều hòa thông qua cảm biến đo dòng ACS712 Khi điều hòa tắt, giá trị dòng xoay chiều là 0, nhưng khi bật, giá trị này tăng nhanh Tín hiệu analog sau đó được đưa vào bộ ADC trong vi điều khiển để xử lý Nếu giá trị dòng lớn hơn 0, vi điều khiển sẽ tự động đóng 2 cửa sổ, có thể tích hợp cả cửa chính vào hệ thống nhằm tiết kiệm điện Việc đóng cửa tự động giúp người dùng không cần thực hiện thêm lệnh điều khiển nào khác Để mô phỏng, tôi sử dụng một bóng đèn 220V và một công tắc thay cho điều hòa; khi công tắc bật, giá trị dòng sẽ lớn hơn.

0, vi điều khiển thực hiện lệnh đóng 2 cửa sổ

4.2.7 Kịch bản 7: Máy chiếu bật

Hệ thống được phát triển nhằm phát hiện tín hiệu bật máy chiếu thông qua cảm biến đo dòng ACS712 Khi máy chiếu tắt, giá trị dòng xoay chiều sẽ bằng 0, và khi máy chiếu bật, giá trị này sẽ tăng nhanh chóng Tín hiệu analog sau đó được xử lý qua bộ ADC trong vi điều khiển Nếu giá trị dòng lớn hơn 0, vi điều khiển sẽ tự động đóng rèm 1 và tắt đèn 1 gần khu vực màn chiếu, nhằm giảm ánh sáng và tạo điều kiện thuận lợi cho người dạy và học Để mô phỏng kịch bản này, tôi sử dụng một bóng đèn 220V và công tắc thay cho máy chiếu; khi công tắc bật, vi điều khiển sẽ thực hiện các lệnh tương ứng để tối ưu hóa trải nghiệm sử dụng máy chiếu mà không cần thêm thao tác từ người dùng.

KẾT QUẢ ĐÁNH GIÁ KẾT LUẬN

Ngày đăng: 15/02/2022, 19:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[8] B. Eligin, "Google buys Android for its mobile Arsenal," Bloomberg Bussinessweek, 2005 Sách, tạp chí
Tiêu đề: Google buys Android for its mobile Arsenal
[4] BKAII, "10 ứng dụng thế giới thực của Internet of things&#34 Khác
[5] HC-06 Datasheet Khác
[6] T. T. Quang, "Giao tiếp UART&#34 Khác
[7] P. Semiconductors, I2C Manual, 2003 Khác
[9] source.android.com, "Android Tutorial&#34 Khác
[10] Stm32f103c8t6 datasheet Khác
[11] SFG, R30X Series Fingerprint Indentification Module Khác
[12] LM35 datasheet Khác
[13] A. M. Inc, ACS712 Khác
[14] Rain drop sensor datasheet Khác
[15] 16x02 LCD datasheet Khác
[16] 5V Relay Module Datasheet Khác
[17] L298 datasheet Khác
[18] SG90 datasheet Khác
[19] Overview of Speech Recognition APIs for Android Platform Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Hình ảnh một thành phố thông minh trên thế giới - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 1.1 Hình ảnh một thành phố thông minh trên thế giới (Trang 14)
Hình 1.2 Các thiết bị đeo tay thông minh của Samsung - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 1.2 Các thiết bị đeo tay thông minh của Samsung (Trang 14)
Hình 1.3 Hình ảnh một hệ thống nhà thông minh của BKAV - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 1.3 Hình ảnh một hệ thống nhà thông minh của BKAV (Trang 15)
Hình 1.4 Sơ đồ khối hệ thống điều khiển trong phòng học thông minh - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 1.4 Sơ đồ khối hệ thống điều khiển trong phòng học thông minh (Trang 17)
Hình 2.8 Sơ đồ các lớp của hệ điều hành Android - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 2.8 Sơ đồ các lớp của hệ điều hành Android (Trang 24)
Hình 2.11 Cấu trúc bộ nhớ của ARM - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 2.11 Cấu trúc bộ nhớ của ARM (Trang 28)
Hình 2.13 Sơ đồ các chân của kit STM32F103C8T6 - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 2.13 Sơ đồ các chân của kit STM32F103C8T6 (Trang 29)
3.1  Sơ đồ nguyên lý hệ thống - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
3.1 Sơ đồ nguyên lý hệ thống (Trang 43)
Sơ đồ kết nối giữa khối rèm và board điều khiển như sau: - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Sơ đồ k ết nối giữa khối rèm và board điều khiển như sau: (Trang 52)
Hình 3.15 Sơ đồ mạch in board điều khiển trong phòng học - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 3.15 Sơ đồ mạch in board điều khiển trong phòng học (Trang 56)
Hình 3.17 Mô hình thiết kế hoàn chỉnh - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 3.17 Mô hình thiết kế hoàn chỉnh (Trang 58)
Hình 3.18 Board mạch điều khiển chính - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 3.18 Board mạch điều khiển chính (Trang 58)
Hình 4.1 Màn hình làm việc của KeilC - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 4.1 Màn hình làm việc của KeilC (Trang 61)
Hình 4.2 Hộp thoại Select device - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 4.2 Hộp thoại Select device (Trang 61)
Hình 4.5 Lưu đồ giải thuật cho chương trình chính cho khối mạch - Nghiên cứu giải pháp xây dựng mô hình phòng học thông minh trong trường đại học
Hình 4.5 Lưu đồ giải thuật cho chương trình chính cho khối mạch (Trang 63)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w