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

bài tập lớn lập trình hệ thống nhúng đề tài the smart cradle based on iot and rtos

26 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề THE SMART CRADLE BASED ON IOT AND RTOS
Tác giả Dương Chấn Nguyễn, Thái Quang Huy, Lê Đinh Hoàng, Nguyễn Thanh Tuấn Kiệt
Người hướng dẫn TH.S. Bùi Quốc Thảo
Trường học ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Chuyên ngành Lập Trình Nhúng
Thể loại Bài Tập Lớn
Năm xuất bản 2023-2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 26
Dung lượng 1,23 MB

Nội dung

Đề tài này nhằm mục đích khám phá và phát triểnmột hệ thống nôi thông minh, có khả năng tích hợp các cảm biến hiện đại để theo dõicác yếu tố quan trọng như nhiệt độ, độ ẩm, và chuyển độn

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ

NGÀY NỘP: 8/5/2024 Sinh viên thực hiện Mã số sinh viên Điểm số

Thành phố Hồ Chí Minh - 2023

Trang 2

Họ và tên nhóm trưởng: Lê Đinh Hoàng Số ĐT:

Email: hoang.leddt2079@hcmut.edu.vn

Nhận xét của GV:

Trang 3

M C ỤC L C ỤC

MỤC LỤC 3

Chương 1 GIỚI TIỆU TỔNG QUAN VỀ TIỂU LUẬN 4

1.1 Giới thiệu về phần cứng 6

1.2 Giới thiệu về phần mềm lập trình cho MCU STM32 8

Chương 2 CẤU TRÚC VÀ CHỨC NĂNG CỦA PHẦN CỨNG 8

2.1 Vi điều khiển 8

2.2 Mô-đun cảm biến 11

2.3 Mô-đun thời gian thực 14

2.4 Mô-đun hiển thị LCD 15

Chương 3 THIẾT KẾ CHƯƠNG TRÌNH PHẦN MỀM 16

3.1 Thiết kế phần mềm hệ thống 16

3.2 Thiết kế chương trình cảm biến ánh sáng 16

3.3 Thiết kế chương trình cảm biến hồng ngoại 18

3.4 Thiết kế chương trình màn hình LCD 19

3.5 Thiết kế chương trình con đồng hồ 19

3.6 Thiết kế chương trình chính 19

Chương 4 KẾT QUẢ TRIỂN KHAI VÀ THỰC HIỆN 20

4.1 Đánh giá ưu điểm 21

4.2 Đánh nhược điểm 21

Trang 4

Chương 1 GIỚI TIỆU TỔNG QUAN

Trong bối cảnh công nghệ ngày càng phát triển và việc chăm sóc trẻ nhỏ ngàycàng được quan tâm, sự ra đời của nôi thông minh là một bước tiến quan trọng Nôithông minh dựa trên IoT (Internet of Things) và RTOS (Real-Time Operating System)

là sự kết hợp của các công nghệ tiên tiến nhằm mang lại sự tiện nghi, an toàn và hiệuquả trong việc chăm sóc trẻ sơ sinh Đề tài này nhằm mục đích khám phá và phát triểnmột hệ thống nôi thông minh, có khả năng tích hợp các cảm biến hiện đại để theo dõicác yếu tố quan trọng như nhiệt độ, độ ẩm, và chuyển động của trẻ, đồng thời sử dụngRTOS để đảm bảo thời gian phản hồi nhanh chóng và xử lý dữ liệu một cách kịp thời

Hệ thống IoT trong nôi thông minh cho phép các thiết bị được kết nối với nhau

và với internet, từ đó giúp các bậc phụ huynh có thể theo dõi và kiểm soát mọi hoạtđộng của trẻ một cách dễ dàng thông qua smartphone hay máy tính bảng Thông quacác ứng dụng đồng bộ, phụ huynh có thể nhận được thông báo tức thì nếu có bất kỳdấu hiệu bất thường nào xảy ra, đảm bảo sự an toàn tối đa cho trẻ

RTOS trong nôi thông minh đóng vai trò quan trọng trong việc quản lý các tác vụthời gian thực Việc sử dụng RTOS giúp cho hệ thống có thể xử lý các dữ liệu từ cảmbiến một cách nhanh chóng và chính xác, đồng thời duy trì một môi trường hoạt động

ổn định cho nôi, từ việc điều chỉnh nhiệt độ đến việc tự động dỗ dành bé khi cần thiết

Việc tích hợp IoT và RTOS vào thiết kế nôi không chỉ mang lại giải pháp chămsóc trẻ toàn diện mà còn phản ánh xu hướng áp dụng công nghệ cao vào cuộc sốnghàng ngày, giúp nâng cao chất lượng sống và mang đến sự yên tâm cho các gia đình cócon nhỏ Đề tài này không những thách thức các nhà khoa học và kỹ sư phát triển cácgiải pháp mới mà còn cung cấp một cái nhìn toàn diện về sự kết hợp giữa công nghệ

và chăm sóc sức khỏe, mở ra hướng đi mới cho các sản phẩm dành cho trẻ em trongtương lai

Trang 5

Vi đi u khi n ều khiển ển

Trang 8

Cảm biến chuyển động

1.2 Giới thiệu về phần mềm lập trình cho MCU STM32

Thông qua ngôn ngữ KEIL và C Hơn nữa, đối với ứng dụng và sự phát triểnngày càng hoàn thiện của máy vi tính đơn chip stm32, nhiều mã và quy trình cơ bảncũng ngày càng tăng, điều này giúp việc phát triển máy vi tính đơn chip STM32 dựatrên KEIL bằng ngôn ngữ C trở nên thuận tiện và đơn giản hơn

Chương 2 CẤU TRÚC VÀ CHỨC NĂNG CỦA PHẦN CỨNG

Trang 9

Thông số kỹ thuật: Hình 2.1 STM32F103

 STM32F103C8T6 là vi điều khiển 32bit, thuộc họ F1 của dòng chip STM32 hãng ST

 Lõi ARM COTEX M3

 Có các mode: ngủ, ngừng hoạt động hoặc hoạt động ở chế độ chờ

 Cấp nguồn ở chân Vbat bằng pin ngoài để dùng bộ RTC và sử dụng dữ liệu được lưu trữ khi mất nguồn cấp chính

Trang 10

 2 bộ ADC 12 bit với 9 kênh cho mỗi bộ

 Khoảng giá trị chuyển đổi từ 0 – 3.6 V

 Có chế độ lấy mẫu 1 kênh hoặc nhiều kênh

 7 kênh DMA

 Có hỗ trợ DMA cho ADC, UART, I2C, SPI

 7 bộ Timer:

 3 Timer 16 bit hỗ trợ các mode Input Capture/ Output Compare/ PWM

 1 Timer 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ ngắt Input,dead-time

 2 Watchdog Timer để bảo vệ và kiểm tra lỗi

 1 Systick Timer 24 bit đếm xuống cho hàm Delay,…

 Có hỗ trợ 9 kênh giao tiếp:

 2 bộ I2C

 3 bộ USART

 2 SPI

 USB 2.0 full-speed interface

 Kiểm tra lỗi CRC và 96-bit ID

Trang 11

2.2 Cảm biến DHT11

Cảm biến DHT11 là một thiết bị nhỏ gọn và tiết kiệm chi phí, được thiết kế

để đo nhiệt độ và độ ẩm trong môi trường Đặc trưng bởi khả năng đo nhiệt độtrong khoảng từ 0 đến 50 độ C với độ chính xác ±2 độ C và độ ẩm từ 20% đến 80%với sai số ±5%, DHT11 là giải pháp lý tưởng cho các dự án điện tử hoặc tự độnghóa nhà cửa mà không yêu cầu độ chính xác cực cao

Cảm biến này sử dụng một dây giao tiếp số duy nhất để truyền dữ liệu đến bộ

vi xử lý, làm cho quá trình kết nối trở nên đơn giản và trực tiếp DHT11 được cungcấp năng lượng bởi nguồn điện từ 3 đến 5.5 volt, và nó có một chế độ tiêu thụ điệnnăng thấp, phù hợp với các ứng dụng sử dụng pin hoặc năng lượng tái tạo

Về mặt thiết kế, DHT11 thường được đóng gói dưới dạng một mô-đun nhỏgồm cảm biến và một vài thành phần điện tử cần thiết để tạo thành một mạch hoànchỉnh, sẵn sàng để tích hợp vào các dự án Cảm biến này thường được ưa chuộngtrong các dự án học tập, dự án điện tử DIY và các ứng dụng nhà thông minh, nhờvào giá thành thấp và sự dễ sử dụng của nó

Trong ứng dụng thực tế, cảm biến chuyển động được dùng để tự động hóa chiếusáng, kiểm soát nhiệt độ, bảo mật, và giám sát Trong các hệ thống an ninh, chúng cóthể cảnh báo người dùng về sự xâm nhập không mong muốn

Trang 12

Hình 2.2.1 C u ấu hình chân DHT11

 Độ ẩm: 1s (1 giây cho mỗi lần đo độ ẩm)

 Nhiệt độ: 1s (1 giây cho mỗi lần đo nhiệt độ)

 Đầu ra: Tín hiệu số, dùng giao tiếp một dây (single-wire digital interface)

 Số lượng chân: 4 chân (1 chân không kết nối)

(Nguồnđiện)

Chân này cần được nối với nguồn điện áp từ 3V đến 5.5V

liệu) Chân này cần được nối với một chân kỹ thuật số trên bộ vi xử lý

(Mặt đất)e

Chân này cần được nối với mặt đất của hệ thống (ground)

Trang 13

2.4 Cảm biến âm thanh KY-037

Điện áp hoạt động: Thông thường từ 3.3V đến 5V

Dòng điện hoạt động: Thường là rất thấp, thích hợp cho các ứng dụng được cấpnguồn qua pin hoặc năng lượng thấp

Dải tần phản ứng: Cảm biến âm thanh thường phản hồi tốt trong dải tần từ 20 Hzđến 20 kHz, phù hợp với dải nghe của con người

Đầu ra: Tín hiệu Analog (A0): Đầu ra này cung cấp tín hiệu liên tục dựa trêncường độ âm thanh mà cảm biến thu được Nó có thể được đọc thông qua một ADC đểxác định mức độ âm thanh cụ thể

Tín hiệu Digital (D0): Đầu ra này cung cấp tín hiệu ON/OFF dựa trên ngưỡng càiđặt qua biến trở Khi âm thanh vượt qua ngưỡng này, đầu ra chuyển sang mức cao

Độ nhạy: Có thể điều chỉnh thông qua một biến trở nhỏ trên module để thiết lậpngưỡng phát hiện cho tín hiệu đầu ra kỹ thuật số

Chế độ khuếch đại: Thường có một chip khuếch đại như LM393 hoặc tương tự

để khuếch đại tín hiệu từ microphone trước khi gửi đến đầu ra

Trang 14

Hình 2.2.3 C u ấu hình chân c m bi n chuy n đ ng ảm biến chuyển động ến chuyển động ển động ộng

Thông số kỹ thuật chính của cảm biến âm thanh LM63:

2.3 Module DFPlayer MP3 Mini

Module DFPlayer MP3 Mini là một bo mạch điện tử nhỏ gọn và giá rẻ được sửdụng để phát âm thanh MP3 từ thẻ nhớ MicroSD Module này có kích thước chỉ25mm x 20mm, tích hợp sẵn chip giải mã MP3, bộ khuếch đại âm thanh và loa, giúpbạn dễ dàng tạo ra các dự án âm thanh đơn giản

Loại chip: DFPlayer Mini

Bộ nhớ: Thẻ nhớ MicroSD (tối đa 32GB)

Định dạng âm thanh: MP3, WAV, WMA

Tỷ lệ lấy mẫu: 8K, 11.025K, 12K, 16K, 22.05K, 24K, 32K, 44.1K, 48K

Trang 15

RX: Chân nhận dữ liệu UART

TX: Chân truyền dữ liệu UART

SPK: Chân ra âm thanh

RESET: Chân reset module

BUSY: Chân bận (có tín hiệu khi module đang xử lý dữ liệu)

Ví dụ về các lệnh UART:

Play: Phát bài hát hiện tại

Pause: Tạm dừng phát bài hát

Stop: Dừng phát bài hát

Next: Chuyển sang bài hát tiếp theo

Previous: Chuyển sang bài hát trước

DFPlayer MP3 Mini

Trang 16

Volume+: Tăng âm lượng

Volume-: Giảm âm lượng

Seek: Tìm đến vị trí cụ thể trong bài hát

Module DFPlayer MP3 Mini rất dễ sử dụng Bạn chỉ cần kết nối nó với nguồnđiện, loa và thẻ nhớ MicroSD có chứa file âm thanh MP3 Sau đó, bạn có thể điềukhiển module bằng các lệnh UART hoặc sử dụng các nút bấm trên bo mạch.ModuleRTC có chip là DS3231 của Maxim, là một chip RTC chi phí thấp và cực kỳ chínhxác

2.4 Servo S90 180 độ

Servo S90 180 độ là một loại servo phổ biến được sử dụng trong nhiều dự án DIY

và robot Servo này có kích thước nhỏ gọn, giá rẻ và dễ sử dụng, khiến nó trở thành lựachọn lý tưởng cho người mới bắt đầu

Thông số kỹ thuật chính của Servo S90 180 độ:

Điện áp hoạt động: 4.8V - 5.5V (khuyến nghị sử dụng 5V)

Dòng điện hoạt động: 400mA (tối đa)

Servo S90 180 độ có ba dây kết nối:

Màu đỏ: Cung cấp điện áp cho servo (4.8V - 5.5V)

Màu nâu: Chân đất

Màu cam: Chân điều khiển (nhận tín hiệu PWM từ vi điều khiển)

Trang 18

Dòng điện hoạt động: vài chục mA.

Kích thước: vài cm vuông

Nhiệt độ hoạt động: từ -40°C đến 85°C

Độ ẩm hoạt động: từ 0% đến 95%

Phạm vi phủ sóng của module Wifi phụ thuộc vào chuẩn Wifi và môi trường hoạtđộng Phạm vi phủ sóng của chuẩn Wifi b/g/n thường là vài chục mét, phạm vi phủ sóngcủa chuẩn Wifi a/ac thường là vài trăm mét, và phạm vi phủ sóng của chuẩn Wifi axthường là vài km

Anten: anten tích hợp hoặc anten ngoài Anten ngoài giúp tăng phạm vi phủ sóngcủa module Wifi

An ninh: Module Wifi thường hỗ trợ các giao thức bảo mật Wifi như WEP, WPA,WPA2

Ngoài ra, module Wifi còn có một số tính năng khác như: Hỗ trợ DHCP, hỗ trợDNS, hỗ trợ các giao thức mạng khác như TCP, UDP, HTTP

Ứng dụng của module Wifi:

Module Wifi được sử dụng trong nhiều thiết bị điện tử như điện thoại thông minh,máy tính bảng, máy tính xách tay, router, camera IP, v.v

Module Wifi cũng được sử dụng trong các dự án DIY như robot, hệ thống nhà thôngminh, v.v

 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2

 Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặcchế độ dữ liệu

 Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi

Trang 19

LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm Ở đây, thiết kế sử dụng chế độ 4 bit.

Biến trở dùng để điều chỉnh độ tương phản hiển thị của LCD

Trang 20

Chương 3 THIẾT KẾ CHƯƠNG TRÌNH PHẦN MỀM

3.1 Thiết kế phần mềm hệ thống

(1) Thiết kế task module phát hiện nhiệt độ và độ ẩm môi trường: DHT11 chủ yếuđược sử dụng để phát hiện nhiệt độ, độ ẩm môi trường hiện tại trong thời gian thực vàtruyền dữ liệu đến chương trình của chip điều khiển chính

(2) Thiết kế task module màn hình LCD: Được kết nối chủ yếu với chip điềukhiển chính, nó có thể hiển thị dữ liệu phản hồi trên màn hình theo thời gian thực, đểngười dùng có thể hiểu được chương trình thông tin hiện tại

(3) Thiết kế task đọc cảm biến âm thanh đồng thời ghi semaphore để đồng bộ chotask servo và mp3

(4) Thiết kế task servo và mp3 : dùng để lắc nôi và phát nhạc

3.2 Thiết kế task module phát hiện nhiệt độ và độ ẩm môi trường (DHT11)

Mục tiêu: Thiết kế hệ thống phát hiện nhiệt độ và độ ẩm môi trường sử dụngmodule DHT11 và vi điều khiển

Hệ thống: Bao gồm module DHT11, vi điều khiển, màn hình LCD và dây kếtnối

Hoạt động:

Module DHT11 đo nhiệt độ và độ ẩm

Vi điều khiển đọc dữ liệu từ module DHT11, xử lý và hiển thị trên màn hìnhLCD

Lựa chọn phần cứng:

Module DHT11 chính hãng

Vi điều khiển có đủ chân I/O (ví dụ: Arduino Uno, Nano)

Màn hình LCD phù hợp kích thước và độ phân giải

Phần mềm: Viết chương trình cho vi điều khiển để thực hiện các chức năng:Khởi tạo thiết bị

Trang 21

Giao tiếp với module DHT11.

Đọc dữ liệu nhiệt độ và độ ẩm

Chuyển đổi dữ liệu thành giá trị hiển thị

Hiển thị giá trị trên màn hình LCD

Kiểm tra và gỡ lỗi: Đảm bảo hệ thống hoạt động chính xác

3.3 Thiết kế task servo và mp3

Mục tiêu: Thiết kế task sử dụng servo và module MP3 để tạo chuyển động vàphát âm thanh cho hệ thống

Hệ thống: Bao gồm servo, module MP3, vi điều khiển và dây kết nối

Hoạt động:

Vi điều khiển điều khiển servo bằng tín hiệu PWM

Vi điều khiển gửi lệnh cho module MP3 để phát âm thanh

Lựa chọn phần cứng:

Servo: Chọn loại servo phù hợp với lực mô-men và tốc độ mong muốn

Xác định giao tiếp của servo (3-pin, 5-pin)

Module MP3: Chọn loại module MP3 phù hợp với định dạng âm thanh và tínhnăng mong muốn (ví dụ: phát từ thẻ nhớ, phát qua Bluetooth)

Xác định giao tiếp của module MP3 (UART, SPI)

Vi điều khiển:

Chọn vi điều khiển có đủ chân I/O để kết nối với servo và module MP3

Xác định thư viện servo và thư viện module MP3 phù hợp với vi điều khiển đãchọn

Phần mềm:

Viết chương trình cho vi điều khiển để thực hiện các chức năng:

Trang 22

Khởi tạo vi điều khiển, servo và module MP3.

Điều khiển servo bằng tín hiệu PWM để tạo chuyển động mong muốn

Gửi lệnh cho module MP3 để phát âm thanh mong muốn

Đồng bộ hóa chuyển động servo với âm thanh phát ra từ module MP3

Kiểm tra và gỡ lỗi:

Đảm bảo servo hoạt động chính xác và tạo chuyển động mong muốn

Đảm bảo module MP3 phát âm thanh chính xác và rõ ràng

Kiểm tra xem chuyển động servo có đồng bộ với âm thanh phát ra từ moduleMP3 hay không

Khắc phục các lỗi hoạt động nếu có

3.4 Thiết kế task đọc cảm biến âm thanh để lấy giá trị cường độ âm thanh.

Sử dụng semaphore để đồng bộ hóa task servo và task MP3 dựa trên giá trịcường độ âm thanh từ cảm biến

Hệ thống:

Bao gồm cảm biến âm thanh, servo, module MP3, vi điều khiển và dây kết nối.Task đọc cảm biến âm thanh hoạt động độc lập với task servo và task MP3.Task servo và task MP3 được đồng bộ hóa bằng semaphore

Trang 23

Hoạt động:

Đọc giá trị cường độ âm thanh từ cảm biến âm thanh

Lưu giá trị cường độ âm thanh vào biến

Gọi semaphore để báo hiệu task servo và task MP3 về giá trị cường độ âm thanhmới

Phần mềm:

Viết chương trình cho vi điều khiển để thực hiện các chức năng:

Khởi tạo vi điều khiển, cảm biến âm thanh, servo, module MP3

Tạo semaphore để đồng bộ hóa task servo và task MP3

Viết task đọc cảm biến âm thanh để đọc giá trị cường độ âm thanh, lưu giá trị vàobiến và gọi semaphore

Viết task servo để chờ semaphore, lấy giá trị cường độ âm thanh, điều khiểnservo và giải phóng semaphore

Viết task MP3 để chờ semaphore, lấy giá trị cường độ âm thanh, phát âm thanh

và giải phóng semaphore

Sử dụng thư viện phù hợp để giao tiếp với cảm biến âm thanh, servo, moduleMP3 và quản lý semaphore

Kiểm tra và gỡ lỗi:

Đảm bảo cảm biến âm thanh đọc giá trị cường độ âm thanh chính xác

Đảm bảo servo hoạt động chính xác và tạo chuyển động mong muốn dựa trên giátrị cường độ âm thanh

Đảm bảo module MP3 phát âm thanh chính xác và rõ ràng dựa trên giá trị cường

Trang 24

3.5 Thiết kế chương trình chính

Trang 25

Chương 4 KẾT QUẢ TRIỂN KHAI VÀ THỰC HIỆN

Trang 26

4.1 Đánh giá ưu điểm 4.2 Đánh nhược điểm

Ngày đăng: 22/07/2024, 12:08

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

TÀI LIỆU LIÊN QUAN

w