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

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Í MINHTRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA ĐIỆN – ĐIỆN TỬBỘ MÔN ĐIỆN TỬ

BÀI TẬP LỚN LẬP TRÌNH HỆ THỐNGNHÚNG

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

Trang 2

BÁO CÁO KẾT QUẢ BÀI TẬP LỚN

Môn: Lập Trình Nhúng

Nhóm/Lớp: L01 Tên nhóm:19 HK2 Năm học 2023-2024Đề tài: THE SMART CRADLE BASED ON IOT AND RTOS

Họ và tên nhóm trưởng: Lê Đinh HoàngSố Đ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

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 nhauvà 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ểnSTM32F103

Trang 6

Cảm biến DHT11

Module DFPlayer MP3Mini

Mô-đun màn hình LCD

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ỨNG2.1 Vi điều khiển

Trong hệ thống điều khiển giám sát em bé, vị trí của vi điều khiển là cực kỳ quantrọng Tương tự như não người, phải điều khiển tất cả các bộ phận trên cơ thể và đưara những hướng dẫn cụ thể cho từng hành động, chức năng của cơ thể Vi điều khiểnkhông những cần phải điều khiển những module, chức năng của riêng nó mà còn phảiđiều khiển những ngoại vi trong hệ thống Qua đó, mới có thể khiến cho hệ thống vậnhành một cách trơn tru.

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. Tốc độ tối đa 72Mhz. Bộ nhớ :

 64 kbytes bộ nhớ Flash 20 kbytes SRAM

 Clock, reset và quản lý nguồn Điện áp hoạt động từ 2.0 → 3.6V.

 Sử dụng thạch anh ngoài từ 4Mhz → 20Mhz.

 Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40Khz. Chế độ điện áp thấp:

 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

 Dải nhiệt độ đo: 0°C đến 50°C. Độ chính xác nhiệt độ: ±2°C.

 Dải độ ẩm đo: 20% đến 80% RH (Relative Humidity - Độ ẩm tương đối). Độ chính xác độ ẩm: ±5% RH.

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

Thông số chung:

Kích thước: 25mm x 20mmĐiện áp hoạt động: 3.3V - 5V

Dòng điện hoạt động: 300mA (tối đa)Nhiệt độ hoạt động: -20°C đến 85°CĐộ ẩm hoạt động: 0% - 95%

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

Tỷ lệ tín hiệu nhiễu: 90dBCông suất âm thanh: 3WTrở kháng loa: 4Ω - 8ΩGiao tiếp: UART

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ạiPause: Tạm dừng phát bài hátStop: Dừng phát bài hát

Next: Chuyển sang bài hát tiếp theoPrevious: Chuyển sang bài hát trước

DFPlayer MP3 Mini

Trang 16

Volume+: Tăng âm lượngVolume-: 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 DIYvà 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)

Mô-men xoắn: 1.8 kg.cm (4.8V) / 1.5 kg.cm (5V)Tốc độ: 0.12 giây/60 độ (4.8V) / 0.14 giây/60 độ (5V)Góc quay: 180 độ

Kích thước: 23mm x 12.2mm x 29mmTrọng lượng: 9g

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ỀM3.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.

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ó.Kết luận:

Task servo và MP3 có thể được sử dụng để tạo các hệ thống điện tử thú vị vàsáng tạo.

Với việc lựa chọn phần cứng và phần mềm phù hợp, bạn có thể dễ dàng thiết kếtask servo và MP3 để đáp ứng nhu cầu của mình

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

Mục tiêu:

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

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 thanhvà 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độ âm thanh.

Kiểm tra xem task servo và task MP3 có được đồng bộ hóa chính xác bằngsemaphore hay không.

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

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