Báo cáo đồ án Vi Xử Lý: Mạch Điều Khiển LED RGB Theo Nhạc Dùng STM32

Tổng hợp báo cáo đồ án điều khiển LED RGB theo nhạc dùng STM32. Cung cấp đầy đủ code, sơ đồ mạch và giải thích các hiệu ứng LED chi tiết.

Chuyên ngành

Kỹ Thuật Máy Tính

Người đăng

Ẩn danh

Thể loại

Đồ Án

2025

61
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới Thiệu Về Mạch LED RGB Nháy Theo Nhạc STM32

Mạch LED RGB nháy theo nhạc STM32 là một dự án điện tử tiên tiến kết hợp vi điều khiển STM32 với ma trận LED WS2812B để tạo ra những hiệu ứng ánh sáng đồng bộ với nhạc. Đây là một giải pháp hoàn hảo cho những ai yêu thích kỹ thuật số và muốn tạo ra những hiệu ứng ánh sáng ấn tượng. Hệ thống sử dụng cảm biến âm thanh LM393 để nhận tín hiệu từ môi trường, sau đó xử lý tín hiệu và điều khiển các LED hiển thị màu sắc theo độ to của âm thanh. Dự án này bao gồm toàn bộ source code, sơ đồ mạch, và báo cáo chi tiết giúp bạn dễ dàng triển khai và tùy biến theo nhu cầu cá nhân.

1.1. Ứng Dụng Thực Tiễn Của Mạch LED RGB Nháy Theo Nhạc

Mạch LED RGB nháy theo nhạc có nhiều ứng dụng thực tiễn trong đời sống hàng ngày. Từ các hệ thống trang trí sân khấu, phòng khiêu vũ, đến các thiết bị âm thanh ngoại vi cho máy tính và smartphone. Người dùng có thể tùy chỉnh các hiệu ứng để phù hợp với loại nhạc, từ nhạc pop, rock, jazz đến EDM. Dự án này cũng phù hợp cho các bài học môn Vi xử lý, Vi điều khiển tại các trường đại học kỹ thuật.

1.2. Lợi Ích Của Việc Học Tập Qua Dự Án Này

Thông qua dự án điều khiển LED RGB theo nhạc STM32, sinh viên sẽ nắm vững kỹ năng lập trình vi điều khiển, xử lý tín hiệu âm thanh, giao tiếp UART và quản lý hiệu ứng LED. Full code và báo cáo cung cấp nền tảng vững chắc để hiểu sâu hơn về embedded systems, giúp phát triển tư duy kỹ thuật và khả năng giải quyết vấn đề trong các dự án điện tử phức tạp.

II. Phần Cứng Và Linh Kiện Chính

Mạch LED RGB nháy theo nhạc được xây dựng từ các linh kiện chất lượng cao và dễ tìm kiếm. Vi điều khiển STM32F103C8T6 là trái tim của hệ thống, với tần số xung nhịp 72MHz, cấu trúc ARM Cortex-M3 mạnh mẽ. Ma trận LED WS2812B 8x8 cung cấp 64 LED RGB độc lập có thể điều khiển từng pixel. Cảm biến âm thanh LM393 phát hiện và định lượng tín hiệu âm thanh với độ chính xác cao. Bàn phím nút nhấn 4 nút cho phép người dùng chuyển đổi giữa các hiệu ứng khác nhau. Toàn bộ hệ thống được cấp nguồn 5V ổn định.

2.1. Vi Điều Khiển STM32F103C8T6 Trái Tim Của Hệ Thống

STM32F103C8T6 là một vi điều khiển ARM Cortex-M3 32-bit nổi tiếng với hiệu suất cao và tiêu thụ điện năng thấp. Với tần số hoạt động 72MHz, bộ nhớ Flash 64KB và RAM 20KB, nó có đủ năng lực xử lý tín hiệu âm thanh và điều khiển LED mà không gặp trở ngại. STM32 Cube IDE là công cụ lập trình lý tưởng, hỗ trợ tạo mã tự động và debug dễ dàng.

2.2. Ma Trận LED WS2812B Hiển Thị Hiệu Ứng Ánh Sáng

Ma trận LED WS2812B 8x8 là linh kiện quan trọng nhất cho hiệu ứng hình ảnh. Mỗi LED có một IC điều khiển tích hợp, cho phép điều khiển độc lập từng pixel. Giao tiếp qua một dây tín hiệu duy nhất, giảm độ phức tạp về mặt phần cứng. WS2812B hỗ trợ 16 triệu màu sắc, cung cấp các hiệu ứng Flash, Square, Rainbow, Fire và nhiều hiệu ứng khác.

2.3. Cảm Biến Âm Thanh LM393 Thu Nhập Tín Hiệu Âm Thanh

Cảm biến âm thanh LM393 có khả năng phát hiện và đo lường mức độ âm thanh xung quanh. Nó cung cấp tín hiệu analog có thể được chuyển đổi thành tín hiệu số bằng ADC của STM32. LM393 hoạt động ở điện áp 3.3V-5V, hỗ trợ điều chỉnh độ nhạy, giúp tối ưu hóa phản hồi của hệ thống đối với các mức âm thanh khác nhau.

III. Cấu Trúc Code Và Các Hiệu Ứng LED

Chương trình chính được viết bằng C, sử dụng STM32 HAL Library để giao tiếp với các thiết bị ngoại vi. Full code được chia thành các module rõ ràng: thư viện LED, xử lý tín hiệu âm thanh, quản lý hiệu ứng, và giao tiếp UART. Hệ thống hỗ trợ 4 hiệu ứng chính: Flash Effect (nhấp nháy theo nhạc), Square Effect (hiệu ứng hình vuông), Rainbow Effect (cầu vồng), và Fire Effect (lửa). Mỗi hiệu ứng có thuật toán riêng, tối ưu hóa cho các loại nhạc khác nhau. Chuyển đổi màu sắc HSV sang RGB cho phép kiểm soát chính xác độ sáng và sắc độ.

3.1. Flash Effect Hiệu Ứng Nhấp Nháy Theo Nhạc

Flash Effect là hiệu ứng cơ bản nhất, phù hợp nhất với nhạc EDM và Pop. Toàn bộ ma trận LED sẽ nhấp nháy theo nhịp của âm thanh. Thuật toán phát hiện đỉnh (peak detection) trên tín hiệu âm thanh để xác định thời điểm nhấp nháy. Code Flash Effect sử dụng vòng lặp timer để điều khiển tần số nhấp nháy, tạo ra hiệu ứng đồng bộ hoàn hảo với nhạc.

3.2. Square Effect Hiệu Ứng Hình Vuông Động

Square Effect tạo ra các hình vuông đồng tâm phát triển từ tâm ma trận LED. Mỗi hình vuông đại diện cho một mức âm thanh khác nhau. Code Square Effect tính toán kích thước hình vuông dựa trên biên độ tín hiệu âm thanh, sau đó vẽ các hình vuông lồng nhau với màu sắc khác nhau. Hiệu ứng này phù hợp với nhạc pop, rock nhịp điệu rõ ràng.

3.3. Rainbow Effect Cầu Vồng Chuyển Động

Rainbow Effect hiển thị dải cầu vồng liên tục chuyển động trên ma trận LED. HSV to RGB conversion giúp tạo ra các màu sắc mượt mà và đẹp mắt. Code Rainbow Effect sử dụng hue value thay đổi theo thời gian để tạo ra hiệu ứng cầu vồng chuyển động, độc lập với tín hiệu âm thanh hoặc có thể kết hợp với nó.

IV. Báo Cáo Dự Án Và Hướng Dẫn Triển Khai

Báo cáo dự án hoàn chỉnh bao gồm lý thuyết cơ bản về vi điều khiển, sơ đồ mạch chi tiết, danh sách linh kiện, và hướng dẫn lắp ráp từng bước. Full code đi kèm với chú thích chi tiết bằng tiếng Việt, giúp người dùng hiểu rõ từng dòng code. Báo cáo cũng hướng dẫn cách sử dụng STM32 Cube IDE, cấu hình clock, và nạp code vào vi điều khiển. Phần thực thi mô tả quá trình kiểm thử hệ thống, xác định các vấn đề và cách khắc phục. Tài liệu tham khảo bao gồm các nguồn từ thegioiic.com, shoppe, và các tài liệu kỹ thuật chính thức.

4.1. Hướng Dẫn Cài Đặt và Nạp Code

Hướng dẫn chi tiết trong báo cáo giúp bạn cài đặt STM32 Cube IDE và tạo project mới. Full code có thể nạp trực tiếp vào vi điều khiển qua cổng UART hoặc ST-Link. Báo cáo hướng dẫn từng bước từ khai báo thư viện, cấu hình GPIO, đến viết các hàm điều khiển LED. Ultra Serial Port Monitor được dùng để giám sát dữ liệu truyền qua UART.

4.2. Tùy Biến Và Mở Rộng Dự Án

Báo cáo dự án cung cấp nền tảng để bạn tùy biến theo nhu cầu. Bạn có thể thêm các hiệu ứng mới, thay đổi số lượng LED, hoặc tích hợp giao diện LCD. Code modularity cho phép dễ dàng thêm các tính năng mới mà không ảnh hưởng đến code hiện tại. Phần mở rộng trong báo cáo gợi ý các hướng phát triển tiếp theo như kết nối WiFi, Bluetooth, hoặc thêm cảm biến nhiệt độ.

4.3. Khắc Phục Sự Cố Thường Gặp

Báo cáo hoàn chỉnh liệt kê các sự cố thường gặp và cách khắc phục: LED không sáng, tín hiệu âm thanh không đúng, hiệu ứng không đồng bộ. Phần debugging hướng dẫn sử dụng oscilloscope để kiểm tra tín hiệu, sử dụng Ultra Serial Port Monitor để theo dõi log. Giải pháp bao gồm kiểm tra điện áp cấp, xác minh dây nối, và cấu hình lại ADC nếu cần thiết.

28/12/2025

Trích đoạn nội dung tài liệu

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT MÁY TÍNH BÁO CÁO ĐỒ ÁN VI XỬ LÝ- VI ĐIỀU KHIỂN ĐỀ TÀI ĐIỀU KHIỂN LED RGB THEO NHẠC GVHD: Trần Ngọc Đức Sinh viên thực hiện: Đoàn Chí Cường MSSV : Đỗ Minh Hội MSSV : 23520550 1 Đồ án VXL-VDK LỜI CẢM ƠN Em xin chân thành gửi lời cảm ơn sâu sắc đến thầy Trần Ngọc Đức – người đã tận tình hướng dẫn và đồng hành cùng em trong suốt quá trình thực hiện đồ án. Trong suốt thời gian làm việc, thầy đã không ngại dành thời gian quý báu để chỉ bảo, góp ý và định hướng chi tiết giúp em hiểu rõ hơn về kiến thức chuyên môn cũng như phương pháp nghiên cứu khoa học. Sự hỗ trợ nhiệt tình và tinh thần trách nhiệm cao của thầy là yếu tố quan trọng giúp em hoàn thành tốt đồ án này. Em xin trân trọng ghi nhận và cảm ơn sự tận tâm, tâm huyết mà thầy đã dành cho em trong suốt quá trình học tập và thực hiện đề tài.

Hồ Chí Minh, ngày 21, tháng 5, năm 2025 2 Đồ án VXL-VDK NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN. tháng……năm 2025 Người nhận xét (Ký tên và ghi rõ họ tên) 3 Đồ án VXL-VDK MỤC LỤC Phần 1. Nhiệm vụ của đồ án.1 Khảo sát và lựa chọn linh kiện phần cứng ----------------------------------------- 8 2.2 Xây dựng sơ đồ mạch và mô phỏng hoạt động ------------------------------------ 8 2.3 Lập trình xử lý tín hiệu âm thanh: 9 2.4 Thiết kế và lập trình hiệu ứng LED ------------------------------------------------- 9 2.5 Điều chỉnh độ sáng và màu sắc theo thời gian thực ------------------------------- 9 2.6 Giao diện điều khiển (tùy chọn): 9 3. Phân chia công việc 10 Phần 2.1 STM32Cube IDE: 10 1.1 Tính năng nổi bật: 10 1.2 Vai trò trong đồ án: 11 1.2 Ultra Serial Port Monitor: 11 1.1 Ứng dụng chính của Ultra Serial Port Monitor ------------------------------ 11 +Ghi lại dữ liệu truyền qua UART (TX/RX) --------------------------------------- 11 2.1 Vi điều khiển STM32C8T6.2 Thông số kỹ thuật chính: 12 2.2 LM393 Cảm Biến Âm Thanh V1 ------------------------------------------------- 14 2.2 Thông số kỹ thuật chính: 14 2.3 Ma trận Led 8x8 WS2812B.2 Thông số kỹ thuật chính: 16 4 Đồ án VXL-VDK 2.4 Bàn phím nút nhấn 4 nút: 17 Phần 3.

Cấu hình chung của chương trình 18 1. Chương trình chính 19 3.1 Thư viện cần dùng cho chương trình----------------------------------------------- 19 3.2 Khai báo và các thiết lập cơ bản 20 3.3 Biến toàn cục và cấu trúc dữ liệu 20 3.4 Hàm điều khiển led cơ bản 23 3.5 Chuyển đổi màu sắc từ HSV sang RGB ------------------------------------------- 25 3.6 Hiệu ứng #1 : Flash Effect 26 3.7 Hiệu ứng #2 : Square Effect 30 3.8 Hiệu ứng #3 : Rainbow Effect 36 3.9 Hiệu ứng #4 : Fire Effect 40 3.10 Quản lý hiệu ứng và nút nhấn 42 3.11 Giao tiếp UART 44 3.12 Hàm main 45 Phần 4. Thực thi 48 Phần 5. TÀI LIỆU THAM KHẢO 49 5 Đồ án VXL-VDK DANH MỤC BẢNG Bảng 1 thông số kỹ thuật chính của VDK STM32F103C8T6 14 Bảng 2 thông số kỹ thuật chính của led WS2812 17 Bảng 3 thông số kỹ thuật chính của bàn phím nút nhấn 4 nút 18 Bảng 4 chương trình thư viện cần dùng cho chương trình 21 Bảng 5 chương trình khai báo và các thiết lập cơ bản 21 Bảng 6 chương trình biến toàn cục và cấu trúc dữ liệu 22 Bảng 7 chương trình các hàm điều khiển led cơ bản 26 Bảng 8 chương trình chuyển đổi màu sắc từ HSV sang RGB 28 Bảng 9 chương trình Hiệu ứng #1 : Flash Effect 31 Bảng 10 chương trình Hiệu ứng #2 : Square Effect 36 Bảng 11 chương trình Hiệu ứng #3 : Rainbow Effect 41 Bảng 12 chương trình Hiệu ứng #4 : Rainbow Effect 44 Bảng 13 chương trình Quản lý hiệu ứng và nút nhấn 47 Bảng 14 chương trình giao tiếp UART 49 Bảng 15 chương trình hàm main 50 6 Đồ án VXL-VDK DANH MỤC HÌNH ẢNH Hình 1 Kit blue bill VDK STM32 10 Hình 2 Kit blue bill VDK STM32F103C8T6 (Nguồn: shoppe) 13 Hình 3 LM393 Cảm Biến Âm Thanh V1 (Nguồn: thegioiic.com) 15 Hình 4 ma trận led 8x8 WS2812B ( Nguồn shopee) 16 Hình 5 bàn phím nút nhấn 4 nút ( Nguồn: thegioiic.com) 18 Hình 6 Cấu hình clock cho chương trình 19 Hình 7 mô phỏng Systemview 20 Hình 8 mô phỏng Pinout view 20 Hình 9 chương trình thư viện cần dùng cho chương trình 21 Hình 10 chương trình khai báo và các thiết lập cơ bản 22 Hình 11 chương trình biến toàn cục và cấu trúc dữ liệu 1 24 Hình 12 chương trình biến toàn cục và cấu trúc dữ liệu 2 25 Hình 13 chương trình các hàm điều khiển led cơ bản 1 27 Hình 14 chương trình các hàm điều khiển led cơ bản 28 Hình 15 chương trình chuyển đổi màu sắc từ HSV sang RGB 29 Hình 16 chương trình Hiệu ứng #1 : Flash Effect 1 31 Hình 17 chương trình Hiệu ứng #1 : Flash Effect 2 32 Hình 18 chương trình Hiệu ứng #1 : Flash Effect 3 32 Hình 19 chương trình Hiệu ứng #2 : Square Effect 1 36 Hình 20 chương trình Hiệu ứng #2 : Square Effect 2 37 Hình 21 chương trình Hiệu ứng #2 : Square Effect 3 38 Hình 22 chương trình Hiệu ứng #2 : Square Effect 4 38 Hình 23 chương trình Hiệu ứng #2 : Square Effect 5 39 Hình 24 chương trình Hiệu ứng #3 : Rainbow Effect 1 41 Hình 25 chương trình Hiệu ứng #3 : Rainbow Effect 2 42 7 Đồ án VXL-VDK Hình 26 chương trình Hiệu ứng #3 : Rainbow Effect 3 43 Hình 27 chương trình Hiệu ứng #4 : Rainbow Effect 1 45 Hình 28 chương trình Hiệu ứng #4 : Rainbow Effect 2 46 Hình 29 chương trình Quản lý hiệu ứng và nút nhấn 1 48 Hình 30 chương trình Quản lý hiệu ứng và nút nhấn 2 48 Hình 31 chương trình giao tiếp UART 49 Hình 32 chương trình hàm main 51 Hình 33 chương trình hàm main 51 Hình 34 thực thi chương trình 52 8 Đồ án VXL-VDK Phần 1.

Trong thời đại công nghệ phát triển mạnh mẽ, việc kết hợp giữa điện tử và hiệu ứng ánh sáng để tạo ra các sản phẩm mang tính tương tác cao đang ngày càng phổ biến, đặc biệt trong các lĩnh vực như trình diễn nghệ thuật, sân khấu, thiết bị nghe nhìn và các hệ thống chiếu sáng thông minh. Dự án "Điều khiển LED RGB theo tín hiệu âm thanh sử dụng vi điều khiển STM32" được thực hiện với mục tiêu xây dựng một hệ thống ánh sáng động, phản hồi theo cường độ và đặc tính của âm thanh môi trường. Hệ thống sử dụng vi điều khiển STM32 – một dòng vi điều khiển mạnh mẽ thuộc họ ARM Cortex-M3 – để thu thập tín hiệu âm thanh thông qua module microphone (ADC), xử lý tín hiệu và điều khiển dải đèn LED RGB (WS2812B) nhằm tạo ra các hiệu ứng ánh sáng sinh động như nhấp nháy theo nhịp, bùng nổ màu sắc, lửa cháy, hoặc hiệu ứng chuyển động màu 3D. Thông qua đồ án này, sinh viên không chỉ làm chủ được kỹ năng lập trình nhúng và xử lý tín hiệu thời gian thực, mà còn hiểu rõ cách tích hợp phần cứng – phần mềm để thiết kế một hệ thống tương tác trực quan, có tính ứng dụng cao trong thực tế.

Nhiệm vụ của đồ án.1 Khảo sát và lựa chọn linh kiện phần cứng: ● Lựa chọn vi điều khiển STM32 (STM32F103 hoặc STM32F4…). ● Sử dụng LED RGB địa chỉ (như WS2812B) để tạo hiệu ứng ánh sáng. ● Thiết kế mạch thu âm sử dụng microphone tích hợp bộ khuếch đại (mic electret + op-amp hoặc mic module có sẵn). ● Nguồn cấp phù hợp cho cả hệ thống 9 Đồ án VXL-VDK 2.2 Xây dựng sơ đồ mạch và mô phỏng hoạt động: ● Vẽ sơ đồ nguyên lý.

● Mô phỏng hoạt động (trên Proteus ). ● Lắp ráp mạch thật.3 Lập trình xử lý tín hiệu âm thanh: ● Cấu hình ADC để lấy mẫu tín hiệu analog từ microphone. ● Đọc và xử lý tín hiệu ADC nhằm xác định cường độ âm thanh.4 Thiết kế và lập trình hiệu ứng LED: ● Tạo ra nhiều hiệu ứng LED sinh động thay đổi theo mức âm thanh, ví dụ: ○ Hiệu ứng nhấp nháy theo nhịp). ○ Vòng vuông lan rộng theo âm thanh.

○ Lửa cháy, tàn lửa, cầu vồng 3D… ● Tùy chọn chuyển đổi hiệu ứng bằng nút nhấn.5 Điều chỉnh độ sáng và màu sắc theo thời gian thực: ● Tăng giảm độ sáng theo âm lượng. ● Chuyển màu RGB dựa theo tần số hoặc mức ADC.6 Giao diện điều khiển (tùy chọn): ● Nút nhấn chọn hiệu ứng, tốc độ, ánh sáng. ● Mở rộng thêm UART. Phân chia công việc 3.1 Công việc 1 (do Đoàn Chí Cường đảm nhận): - Khảo sát và lựa chọn linh kiện phần cứng.

- Xây dựng sơ đồ mạch và mô phỏng hoạt động. - Lập trình xử lý tín hiệu âm thanh.2 Công việc 2 (do Đỗ Minh Hội đảm nhận ): -Thiết kế và lập trình hiệu ứng LED. - Điều chỉnh độ sáng và màu sắc theo thời gian thực. - Giao diện điều khiển.

10 Đồ án VXL-VDK Phần 2.1 STM32 Cube IDE: Hình 1 Kit blue bill VDK STM32 -STM32Cube IDE là một môi trường phát triển tích hợp (IDE – Integrated Development Environment) do hãng STMicroelectronics cung cấp dành riêng cho việc lập trình các dòng vi điều khiển STM32. Đây là công cụ mạnh mẽ, tích hợp đầy đủ từ cấu hình phần cứng, viết mã, biên dịch đến nạp chương trình và gỡ lỗi.1 Tính năng nổi bật: ● Cấu hình phần cứng trực quan (STM32CubeMX tích hợp): ○ Chọn vi điều khiển, cấu hình xung clock, ngoại vi (ADC, PWM, GPIO, UART…) bằng giao diện đồ họa. ● Trình soạn thảo mã chuyên nghiệp (code editor): ○ Tự động gợi ý lệnh (code completion), tô màu cú pháp, điều hướng mã nhanh chóng. ● Hỗ trợ đầy đủ trình biên dịch GCC ARM: ○ Tối ưu hóa tốt cho các dòng STM32 từ thấp đến cao.

● Tích hợp trình debug (GDB + ST-LINK): ○ Hỗ trợ nạp chương trình và gỡ lỗi trực tiếp trên chip STM32. ○ Cho phép quan sát biến, thanh ghi, bộ nhớ khi chạy thực tế. ● Hệ điều hành hỗ trợ: ○ Hoạt động tốt trên Windows, Linux và macOS.2 Vai trò trong đồ án: Trong đồ án này, STM32Cube IDE được sử dụng để: ● Cấu hình ADC đọc tín hiệu từ microphone. ● Cấu hình timer và DMA điều khiển LED RGB WS2812B.

● Sinh code giúp quá trình lập trình trở nên dễ dàng hơn. ● Lập trình xử lý tín hiệu âm thanh và tạo hiệu ứng ánh sáng. ● Nạp và chạy thử chương trình trên board mạch thật.2 Ultra Serial Port Monitor: -Ultra Serial Port Monitor là một phần mềm hỗ trợ giám sát, phân tích và ghi lại dữ liệu truyền qua cổng COM (Serial/UART) trên máy tính.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ