Đề 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 2Họ 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 4Chươ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 5Vi đi u khi n ều khiển ển
Trang 8Cả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 9Thô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 112.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 12Hì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 132.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 14Hì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 15RX: 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 16Volume+: 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 18Dò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 19LCD 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 20Chươ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 21Giao 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 22Khở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 23Hoạ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 243.5 Thiết kế chương trình chính
Trang 25Chương 4 KẾT QUẢ TRIỂN KHAI VÀ THỰC HIỆN
Trang 264.1 Đánh giá ưu điểm 4.2 Đánh nhược điểm