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

BÁO CÁO BÀI TẬP LỚN CÔNG NGHỆ PHẦN MỀM NHÚNG đề tài HỆ THỐNG LED HIỂN THỊ SÓNG NHẠC

39 95 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

Định dạng
Số trang 39
Dung lượng 2,56 MB

Nội dung

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN CÔNG NGHỆ PHẦN MỀM NHÚNG Đề tài: HỆ THỐNG LED HIỂN THỊ SÓNG NHẠC Sinh viên thực hiện: TRẦN NGỌC PHONG-CT030143 HOÀNG MINH TÚ-CT030157 ĐỖ BÁ TƯ-CT030158 Nhóm 16 Giảng viên hướng dẫn: ThS LÊ ĐỨC THUẬN Hà Nội, 10-2021 MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Tìm hiểu thiết bị nhúng ARDUINO 1.1.1 Tổng quan broad mạch Arduino 1.1.2 Khái quát cấu tạo Arduino R3 .7 1.2 Tìm hiểu cảm biến âm .13 1.2.1 Giới thiệu cảm biến âm 13 1.2.2 Cấu tạo, thông số kỹ thuật 14 1.2.3 Nguyên lý hoạt động module KY-037 .15 1.3 Tìm hiểu hiển thị LED matrix8x32 .15 1.3.1 Giới thiệu LED matrix 15 1.3.2 Ưu điểm LED matrix 16 1.3.3 Bảng LED matrix 8x32 hiển thị với IC MAX7219 15 1.4 Tìm hiểu nút nhấn B3F 19 CHƯƠNG THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 20 2.1 Phân tích hệ thống 20 2.1.1 Yêu cầu chung chức hệ thống 20 2.1.2 Phương án thiết kế 20 2.1.3 Các ca sử dụng 22 2.1.4 Phân tích yêu cầu hệ thống .24 2.2 Thiết kế phần cứng 26 2.2.1 Kết nối Arduino Uno R3 với module cảm biến âm KY-037 26 2.2.2 Mạch hiển thị LED ma trận MAX7219 8*32 Arduino R3 27 2.2.3 Hệ thống LED hiển thị sóng nhạc 28 2.3 Thiết kế phần mềm 28 CHƯƠNG ĐÁNH GIÁ – KẾT LUẬN .29 3.1 Kết thực nghiệm 29 3.2 Đánh giá kết 32 3.2.1 Nhận xét chung 32 3.2.2 Khuyết điểm .32 3.2.3 Hướng khắc phục phát triển 32 TÀI LIỆU THAM KHẢO 33 DANH MỤC HÌNH VẼ Hình 1.1: Những thành viên khởi sướng Arduino Hình 1.2: Điều khiển xe từ xa dùng Arduino Hình 1.3: Một mạch Arduino Uno thức với mơ tả cổng I/O Hình 1.4: Ảnh Arduino Uno .8 Hình 1.5: Vi điều khiển Arduino Uno R3 Hình 1.6: Các chân Arduino Uno R3 .12 Hình 1.7: Module cảm biến âm KY-037 .14 Hình 1.8: Sơ đồ nguyên lý module KY-037 14 Hình 1.9: Sơ đồ nguyên lý module KY-037 15 Hình 1.10: Sơ đồ cấu tạo Led ma trận 16 Hình 1.11: MAX7219 18 Hình 1.12: Nút bấm B3F 19 Hình 1.13: Sơ đồ cấu tạo nút bấm B3F 19 YHình 2.1: Sơ đồ khối thiết bị 20 Hình 2.2: Lưu đồ thuật toán hệ thống 21 Hình 2.3: Biểu đồ ca sử dụng hệ thống 22 Hình 2.4: Biểu đồ ca sử dụng Truyền Audio 24 Hình 2.5: Biểu đồ ca sử dụng đổi mode hiển thị 25 Hình 2.6: Biểu đồ ca sử dụng thay đổi cường độ âm 25 Hình 2.7: Sơ đồ nối chân KY-037 với Arduino 26 Hình 2.8: Sơ đồ nối chân Arduino LED ma trận MAX7219 27 Hình 2.9: Sơ đồ hệ thống LED hiển thị sóng nhạc 28 Hình 3.1: Hệ thống LED hiển thị sóng nhạc với tần số 200Hz .29 Hình 3.2: Hệ thống LED hiển thị sóng nhạc với tần số 1kHz 29 Hình 3.3: Hệ thống LED hiển thị sóng nhạc với tần số 4kHz 30 Hình 3.4: Hệ thống LED hiển thị sóng nhạc với tần số 8kHz 30 Hình 3.5: Hệ thống LED hiển thị sóng nhạc với tần số 12.5kHz 31 Hình 3.6: Hệ thống LED hiển thị sóng nhạc với tần số 18kHz .31 DANH MỤC BẢNG BIỂU YBảng 2.1: Ca sử dụng truyền Audio .22 Bảng 2.2: Ca sử dụng đổi mode thiết bị 23 Bảng 2.3: Ca sử dụng thay đổi cường độ âm 23 Bảng 24: Các chân nối Arduino cảm biến âm KY-037 26 Bảng 2.5: Các chân nối Arduino LED ma trận MAX7219 27 LỜI MỞ ĐẦU Trong đời sống công nghệ đại ngày ngành kỹ thuật phần mềm nhúng ngành mũi nhọn, đại, ứng dụng rộng rãi lĩnh vực sản xuất đời sống đòn bẩy giúp ngành khoa học kĩ thuật khác phát triển Việc đại hoá suất lao động thiết bị điện tự động nhu cầu cấp thiết Do yêu cầu máy móc cần phải gọn nhẹ hơn, linh động hơn, uyển chuyển hơn, thơng minh tiết kiệm điện Vì vậy, kỹ thuật phần mềm nhúng ngày đóng vai trị quan trọng sản xuất đời sống Để giúp cho việc giải trí cong người trở nên sống động hơn, giải tỏa áp lực xong chuỗi ngày làm việc mệt mỏi giúp cho sinh viên chúng em tìm hiểu sâu chuyên ngành học tạo hứng thú, đam mê với ngành Cùng với kết hợp với vốn kiến thức tiếp thu từ môn học ‘Công nghệ phần mềm nhúng’, đẫn thầy Lê Đức Thuận kiến thức qua mạng nhóm chúng em xin trình bày đề tài : “HỆ THỐNG LED HIỂN THỊ SÓNG NHẠC” Mục tiêu đề tài kết hợp module âm KY-037,Aruino R3 LED matrix MAX7219 tạo thành hệ thống bật tắt theo nhạc với nguồn nhạc lấy từ hệ thống bên Xuất phát từ câu hỏi: “Mọi người thường làm vào lúc rảnh rỗi?” chúng em tìm ý tưởng cho Project Để trả lời cho câu hỏi trên, với đa số người trả lời là: đá bóng, chơi game, lướt web, tụ tập bạn bè hay đơn giản nghe nhạc Mỗi có lựa chọn cho riêng Nhưng theo suy nghĩ chủ quan chúng em số đơng người đã, tiếp tục nghe nhạc rảnh rỗi Bởi âm nhạc có tác dụng tốt với sống người, giúp người ngủ ngon hơn, ổn định thần kinh, giảm stress hồn hảo nhiều kết hợp âm nhạc với ánh sáng Chính mà nhóm chúng em có ý tưởng làm mạch led nháy theo nhạc để giúp có phút giây nghe nhạc vui vẻ thú vị Ứng dụng đèn nháy đa dạng gồm có: Mạch led nháy theo nhạc trang trí cho quán bar, quán cafe… giúp cho không gian quán đẹp hơn, sống động hơn, thú hút khách hàng - Làm đẹp khơng gian phịng nhạc gia đình Bài báo cáo gồm có phần: Phần : Cơ sở lý thuyết phần nghiên cứu vấn đề liên quan tới phần cứng công nghệ sử dụng Phần : Thiết kế xây dựng hệ thống phần thiết kế phần cứng, phần mềm chức cho phù hợp với thực tiễn toán đưa Phần : Kết thực nghiệm phần giúp có nhìn sát kết xây dựng được, có đạt u cầu mong muốn hay khơng? Trong q trình thực khơng thể tránh khỏi sai sót định, mong nhận phê bình đóng góp thầy giáo để đề tài hoàn thiện Chúng em xin chân thành cảm ơn thầy Lê Đức Thuận hướng đẫn giúp đỡ suốt trình làm báo cáo này.rong phần này, sinh viên cần phải trình bày được: Tính cấp thiết đề tài, mục tiêu đề tài, phương pháp, đối tượng nghiên cứu, bố cục nội dung CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tìm hiểu thiết bị nhúng ARDUINO 1.1.1 Tống quan broad mạch Arduino 1.1.1.1 Lịch sử phát triển Arduino khởi động vào năm 2005 dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) Ivrea, Italy Vào thời điểm sinh viên sử dụng "BASIC Stamp" (con tem Cơ Bản) có giá khoảng $100, xem giá dành cho sinh viên Massimo Banzi, người sáng lập, giảng dạy Ivrea Cái tên "Arduino" đến từ quán bar Ivrea, nơi vài nhà sáng lập dự án thường xuyên gặp mặt Bản thân quán bar có lấy tên Arduino, Bá tước Ivrea, vua Italy từ năm 1002 đến 1014 Hình 1.: Những thành viên khởi sướng Arduino Lý thuyết phần cứng đóng góp sinh viên người Colombia tên Hernando Barragan Sau tảng Wiring hoàn thành, nhà nghiên cứu làm việc với để giúp nhẹ hơn, rẻ hơn, khả dụng cộng đồng mã nguồn mở Trường cuối bị đóng cửa, nhà nghiên cứu, số David Cuarlielles, phổ biến ý tưởng Giá board mạch dao động xung quanh $30 làm giả đến mức $9 Một mạch bắt chước đơn giản Arduino Mini Pro có lẽ xuất phát từ Trung Quốc có giá rẻ $4, trả phí bưu điện 1.1.1.2 Giới thiệu chung Arduino Arduino thực gây sóng gió thị trường người dùng DIY (là người tự chế sản phẩm mình) tồn giới vài năm gần đây, gần giống với Apple làm thị trường thiết bị di động Số lượng người dùng cực lớn đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học làm cho người tạo chúng phải ngạc nhiên mức độ phổ biến Arduino board mạch vi xử lý, nhằm xây dựng ứng dụng tương tác với với môi trường thuận lợi Phần cứng bao gồm board mạch nguồn mở thiết kế tảng vi xử lý AVR Atmel 8bit, ARM Atmel 32-bit Những Model trang bị gồm cổng giao tiếp USB, chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác Được giới thiệu vào năm 2005, Những nhà thiết kế Arduino cố gắng mang đến phương thức dễ dàng, không tốn cho người yêu thích, sinh viên giới chuyên nghiệp để tạo thiết bị có khả tương tác với mơi trường thông qua cảm biến cấu chấp hành Những ví dụ phổ biến cho người yêu thích bắt đầu bao gồm robot đơn giản, điều khiển nhiệt độ phát chuyển động Đi với mơi trường phát triển tích hợp (IDE) chạy máy tính cá nhân thông thường cho phép người dùng viết chương trình cho Aduino ngơn ngữ C C++ 1.4 Tìm hiểu nút nhấn B3F Hình 1.: Nút bấm B3F Nếu bạn biết đến công tắc đóng / mở nút nhấn hoạt động tương tự Thay có chân cơng tắc, nút nhấn có chân chia làm cặp Những chân cặp nối với nhau, chân khác cặp ngược lại Khi bạn nhấn nút, chân nút nhấn nối với nhau, cho phép dòng điện từ chân tới chân cịn lại Hình 1.: Sơ đồ cấu tạo nút bấm B3F Nút bấm B3F gồm có chân nối tiếp với tạo thành cồng giao tiếp :  VCC: Chân cung cấp điện áp hoạt động từ 3.3V-5V  GND: Chân đất CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 2.1 Phân tích hệ thống 2.1.1 Yêu cầu chung chức hệ thống - Yêu cầu chức năng của hệ thống:   • Xử lý tốt tác vụ xử lý tốt thuật tốn chương trình độ ổn định thiết bị ngoại vi • Bật (tắt)/thay đổi độ sáng tùy ý phụ thuộc vào độ to nhỏ âm (mức cường độ âm) đo • Đáp ứng được các kịch bản đổi mode hiển thị.  • Có khả năng phát triển lên các dự án lớn hơn .  - Yêu cầu phi chức năng:  • Đèn sáng ổn định có tuổi thọ cao • Nhiệt độ hoạt động tốt: – 50 độ C • Phù hợp với phịng hát,phịng trà • Linh kiện dễ dàng tìm thấy thị trường nhằm đảm bảo chi phí bảo trì 2.1.2 Phương án thiết kế 2.1.2.1 Sơ đồ khối dự án: Hình 2.: Sơ đồ khối thiết bị - Khối nguồn khối cung cấp điện cho hệ thống,bao gồm: + Vcc: hiệu điện 5V + Ground: nơi dịng điện âm qua - Khối nhận tín hiệu vào khối cung cấp tín hiệu để hệ thống xử lý đưa kết quả,bao gồm: + Audio jack: nhận âm đưa tín hiệu analog + Cảm biến âm: xác định mức cường độ âm + Nút bấm: đưa tín hiệu dựa vào thao tác nhấn nút - Khối điều khiển khối nhận tín hiệu xử lý,từ thực điều khiển để đưa kết khối hiển thị,bao gồm: Arduino R3 - Khối hiển thị khối nhận lệnh từ khối điều khiển hiển thị kết hệ thống cho người dùng,bao gồm: Hệ thống Max7219 LED matrix 32x8 2.1.2.2 Lưu đồ thuật tốn: Hình 2.: Lưu đồ thuật toán hệ thống 2.1.3 Các ca sử dụng 2.1.3.1 Biểu đồ ca sử dụng Hình 2.: Biểu đồ ca sử dụng hệ thống 2.1.3.2 Đặc tả ca sử dụng Bảng 2.: Ca sử dụng truyền Audio Ca sử dụng Tác nhân Mô tả Điều kiện trước Luồng kiện Truyền Audio Người dùng Truyền âm vào hệ thống sóng nhạc Thiết bị kết nối với thiết bị phát nhạc qua cổng Analog 1.Người dùng truyền âm cho Arduino qua cổng Analog chuyển thành tín hiệu tương tự 2.Arduino sử dụng thuật tốn arduinoFFT đọc,đo lường tín hiệu cho kết tần số,cường độ sóng âm Arduino lấy kết có để truyền vào hệ thống LED Matrix,hiển thị tần số,cường độ qua hàng cột bật,tắt đèn Luồng kiện phụ Bảng 2.: Ca sử dụng đổi mode thiết bị Use case Đổi mode hiển thị Actor Brief Description Pre-condition Basic Flows Người dùng Ấn nút qua cổng digital để thay đổi giá trị mode hiển thị đèn LED Thiết bị kết nối với nút ấn qua cổng digital Người dùng ấn nút nối với arduino thông qua cổng digital để đưa giá trị mode hiển thị 2.Arduino dựa vào giá trị mode hiển thị để thay đổi thuật toán hiển thị đèn LED Arduino lấy kết có để truyền vào hệ thống LED Matrix,hiển thị tần số,cường độ qua hàng cột bật,tắt đèn Alternative Flows Bảng 2.: Ca sử dụng thay đổi cường độ âm Use case Actor Brief Description Pre-condition Basic Flows Chỉnh mức hiển thị cường độ âm Cảm biến âm KY-037 Cảm biến âm nghe âm để xác định cường độ âm,từ thay đổi mức hiển thị cột đèn LED Thiết bị kết nối với cảm biến âm KY-037 qua cổng analog 1.Cảm biến âm nghe âm đưa giá trị cường độ âm vào arduino thông qua cổng analog 2.Arduino lấy giá trị cường độ âm để thay đổi số cột đèn LED hiển thi sóng nhạc Arduino lấy kết có để truyền vào hệ thống LED Matrix,hiển thị tần số,cường độ qua hàng cột bật,tắt đèn Alternative Flows 2.1.4 Phân tích u cầu hệ thống Hình 2.: Biểu đồ ca sử dụng Truyền Audio Hình 2.: Biểu đồ ca sử dụng đổi mode hiển thị Hình 2.: Biểu đồ ca sử dụng thay đổi cường độ âm 2.2 Thiết kế phần cứng 2.2.1 Kết nối Arduino Uno R3 với module cảm biến âm KY-037 Nhóm thực sử dụng Module âm KY-037 ưu điểm sau: giá thành rẻ, gần gũi với Board Arduino R3, nhạy bén việc nhận biết âm đặc biệt điều chỉnh độ nhạy thiết bị đổi với âm ngồi mơi trường… Chú ý : Board Arduino đọc cổng tín hiệu Analog từ A0 → A5, chân OUT Module KY-037 kết nối với chân trên, ta kết nối với chân số A0 Sơ đồ nối chân: Hình 2.: Sơ đồ nối chân KY-037 với Arduino Bảng 2: Các chân nối Arduino cảm biến âm KY-037 Arduino Chân lượng 5V GND(Gound) cực âm nguồn điện cấp cho Arduino Cổng Analog A1 Module KY-037 VCC GND A0 2.2.2 Mạch hiển thị LED ma trận MAX7219 8*32 Arduino R3 Hình 2.: Sơ đồ nối chân Arduino LED ma trận MAX7219 Bảng 2.: Các chân nối Arduino LED ma trận MAX7219 Arduino Chân lượng 5V GND(Gound) cực âm nguồn điện cấp cho Arduino Cổng Digital 13 Cổng Digital 11 Cổng Digital 10 Module KY-037 VCC GND CLK(clock pin) DIN(data pin) CS(control pin) 2.2.4 Hệ thống LED hiển thị sóng nhạc Hình 2.: Sơ đồ hệ thống LED hiển thị sóng nhạc 2.3 Thiết kế phần mềm - Sử dụng ngơn ngữ lập trình C/C++ kèm với thư viện arduino để viết chương trình điều khiển - Những thư viện dùng chương trình: + arduinoFFT.h: Thư viện dùng để thực phép tính biến đổi nhanh Fourier arduino,tính tần số cường độ sóng nhạc để khối điều khiển đưa vào khối hiển thị + MD_MAX72xx.h: Thực chức cho phép MAX7219 điều khiển ma trận LED 32x8 cách tiện lợi + SPI.h: Thư viện cho phép giao tiếp với thiết bị SPI (Serial Peripheral Bus),với Arduino thiết bị + EEPROM.h: Thư viện để giao tiếp với nhớ EEPROM Arduino Uno R3 CHƯƠNG 3: ĐÁNH GIÁ – KẾT LUẬN 3.1 Kết thực nghiệm: Hình 3.1: Hệ thống LED hiển thị sóng nhạc với tần số 200Hz Hình 3.2: Hệ thống LED hiển thị sóng nhạc với tần số 1kHz Hình 3.3: Hệ thống LED hiển thị sóng nhạc với tần số 4kHz Hình 3.4: Hệ thống LED hiển thị sóng nhạc với tần số 8kHz Hình 3.5: Hệ thống LED hiển thị sóng nhạc với tần số 12.5kHz Hình 3.6: Hệ thống LED hiển thị sóng nhạc với tần số 18kHz 3.2 Đánh giá kết quả: 3.2.1 Nhận xét chung: - Hệ thống điều khiển hiển thị tương đối ổn định, đáp ứng yêu cầu đề tài - Giám sát trình hoạt động hệ thống qua khối hiển thị LED ma trận 32x8 - Cảm biến âm hoạt động tương đối xác - Phần mềm chương trình tương đối ngắn gọn, đơn giản, dễ hiểu 3.2.2 Khuyết điểm: - Cảm biến âm chưa ổn định việc đo âm xa - Do dây nối điện trở chưa hàn cố định để hở nên dễ có nhiễu tiếp xúc bụi bám - Kích thước hệ thống tương đối lớn 3.2.3 Hướng khắc phục phát triển: - Dùng cảm biến âm khác, có độ ổn định nghe âm xa xác - Hàn đường nối tạo vỏ đựng hệ thống để chống bụi tránh nhiễu - Thiết kế nối thêm LED ma trận cho hệ thống để phục vụ cho nhu cầu giải trí TÀI LIỆU THAM KHẢO [1] T H Cormen, C E Leiserson, and R L Rivet, Introduction to Algorithm MIT Press, McGraw-Hill, 1990 [2] J W DuBois, S Schuetze-Coburn, S Cumming, and D Paolino, “Outline of discourse transcription,” in Talking Data: Transcription and Coding in Discourse Research, J A Edwards and M D Lampert, Ed Hillsdale, NJ: Lawrence Erlbaum Associates, 1993, pp 45-89 [3] J M Airey, J H Rohfl, F Brooks Jr., “Towards Image Realism with Interactive Update Rates in Complex Virtual Building Environments,” Comptuer Graphics, Vol 24, No 2, pp 41-50, 1990 [4] S Brandt, G Nutt, T Berk, M Humphrey, “Soft Real time Application Execution with Dynamic Quality of Service Assurance,” in Proceedings of the Sixth IEEE/IFIP International Workshop on Quality of Service, Hawaii, USA, May 1998, pp 154-163 [5] K Riley, “Language theory: Applications versus practice,” presented at the Conf of the Modern Language Association, Boston, MA, December 27-30, 1990 [6] J Jones (1991) Networks (2nd ed.) [Online] Available: http://www.atm.com Hà nội, ngày 20 tháng năm 2021 XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN ThS LÊ ĐỨC THUẬN ... vàn Led với 5 chân IC MAX7219 hãng MAXIM thiết kế sản xuất, thuận tiện sử dụng để điều khiển LED ma trận LED (1 chip điều khiển LED ma trận 8x8 LED chữ số) cần điện trở để hạn dòng cho tất led. .. chân Arduino LED ma trận MAX7219 27 Hình 2.9: Sơ đồ hệ thống LED hiển thị sóng nhạc 28 Hình 3.1: Hệ thống LED hiển thị sóng nhạc với tần số 200Hz .29 Hình 3.2: Hệ thống LED hiển thị... đèn Led( đánh lừa cảm giác mắt) Ứng dụng hiển thị Led matrix để đảm bảo phù hợp thông số điện Led đơn người ta khơng điều khiển theo chu trình hình tivi (CRT) để đảm bảo độ sáng tồn bảng led dịng

Ngày đăng: 29/09/2021, 21:04

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w