Đăng ký Đăng nhập
Trang chủ Hiển thị ma trận led khối 8x8x8...

Tài liệu Hiển thị ma trận led khối 8x8x8

.DOCX
26
366
54

Mô tả:

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN LẬP TRÌNH HỆ THỐNG VÀ VI ĐIỀU KHIỂN ĐỀ TÀI: LED CUBE 8x8x8 GVHD: TS. HUỲNH HỮU HƯNG LỚP: 16T1 Đà Nẵng, 5-2019 Bảng phân công 1 LỜI NÓI ĐẦU Ngày nay, ngành khoa học kĩ thuật ngày càng phát triển, cùng với đó là nhu cầu đòi hỏi của con người ngày một nâng cao trong nhiều lĩnh vực của đời sống xã hội. Trong đó có nhu cầu về một cuộc sống tiện nghi, thông minh. Hiện tại, Công nghệ thông tin được người ta quan tâm và nhắc đến nhiều hơn bao giờ hết vì nó là một phần không thể thiếu trong cuộc sống văn minh, tri thức. Máy vi tính, các thiết bị di động cùng với những phần mềm là công cụ đắc lực giúp ta quản lý, tổ chức, sắp xếp, điều khiển và xử lý công việc một cách nhanh chóng và chính xác. Là một sinh viên ngành Công nghệ thông tin, chúng em có cơ hội được nghiên cứu sâu hơn và đi vào các bước tạo ra sản phẩm thông qua Đồ án Lập trình hệ thống và Vi điều khiển. Khi bạn đến các nơi công cộng, khu giải trí bạn dễ dàng bắt gặp những áp phích quảng cáo điện tử, các hệ thống đèn chiếu LED chạy theo các hướng khác nhau với nhiều hiệu ứng, hình ảnh và màu sắc rất ấn tượng. Từ yêu cầu của môn học kĩ thuật vi xử lý và thực tiễn như trên, chúng em quyết định chọn đề tài cho đồ án môn học là : “Hiển thị ma trận LED khối 8x8x8” Chúng em xin chân thành cảm ơn thầy TS. Huỳnh Hữu Hưng, giảng viên trường Đại Học Bách Khoa – Đại Học Đà Nẵng đã chỉ bảo tận tình trong quá trình làm đồ án. Tuy đã có nhiều cố gắng trong quá trình thực hiện, nhưng sẽ không tránh khỏi những thiếu sót. Chúng em mong nhận được sự đóng góp ý kiến của thầy. Chúng em xin cam đoan nội dung của bài báo cáo này là do nhóm thực hiện, không có sao chép, và những nội dung sao chép được trích dẫn cụ thể. 2 MỤC LỤC Tóm tắt đồ án……………………………………………………………….………..5 I. Giới thiệu đề tài…………………………………………………………….……..5 1.Tên đề tài…………………………………………………………………….…...5 2.Vấn đề cần giải quyết……………………………………………………….…....5 3.Đề xuất giải pháp thực hiện ………………………………………………….…..5 II. Phân tích đề tài……………………………………………………………..…….6 1.Các chức năng của sản phẩm……………………………………………….….…6 2.Nguyên tắc làm việc của linh kiện………………………………………….……7 3.Tham số kĩ thuật…………………………………………………………….…..10 4.Đoạn code kết nối làm việc với linh kiện………………………………………12 III. Giải pháp triển khai…………………………………………………………..12 1.Lựa chọn và định dạng chân LED………………………………………………13 2.Tạo hàng cho khối LED………………………………………………………...14 3.Tạo lớp cho khối LED…………………………………………………………..15 4.Dựng khối LED…………………………………………………………………17 5.Xây dựng mạch in PCB…………………………………………………………19 6.Hoàn thiện sản phẩm……………………………………………………………21 IV. Kết quả đạt được………………………………………………………………22 1.Kết quả thực hiện các hiệu ứng…………………………………………………22 2.Hình ảnh sản phẩm……………………………………………………………...24 Đánh giá và kết luận……………………………………………………………….25 1.Ưu điểm…………………………………………………………………………25 2.Nhược điểm……………………………………………………………………..25 3.Hướng phát triển………………………………………………………………...25 4.Kết luận…………………………………………………………………………25 3 TÓM TẮT ĐỒ ÁN Dựa trên nguyên tắc như quét màn hình, ta có thể thực hiện việc hiển thị ma trận đèn bằng cách quét theo hàng và quét theo cột trên khối LED3D 8x8x8 đã xây dựng từ trước. Mỗi Led trên ma trận LED có thể được coi như một điểm ảnh. Địa chỉ của mỗi điểm ảnh này được xác định đồng thời bởi mạch giải mã hàng và giải mã cột, điểm ảnh này sẽ được xác định trạng thái nhờ dữ liệu đưa ra từ mạch PCB bao gồm các thanh ghi dịch. Kết quả thu được là bộ khung LED đã ghép nối mạch PCB có thể hiển thị tất cả các hiệu ứng theo ý tưởng mà chúng ta đã code và nạp vào mạch. I. Giới thiệu đề tài 1.Tên đề tài : LED CUBE 8x8x8 2.Vấn đề cần giải quyết: Tại mỗi thời điểm chỉ có trạng thái của một điểm ảnh được xác định. Tuy nhiên khi xác định địa chỉ và trạng thái của điểm ảnh tiếp theo thì các điểm ảnh còn lại sẽ chuyển về trạng thái tắt (nếu LED đang sáng thì sẽ tắt dần). Vậy làm sao để có thể hiển thị được toàn bộ hình ảnh của ma trận đèn? 3.Đề xuất giải pháp thực hiện: Ta có thể quét ma trận nhiều lần với tốc độ quét rất lớn, lớn hơn nhiều lần thời gian kịp tắt của đèn. Mắt người chỉ nhận biết tối đa 24 hình mỗi giây do đó 4 nếu tốc độ quét rất lớn thì sẽ không nhận ra được sự thay đổi nhỏ của đèn mà sẽ thấy được toàn bộ hình ảnh, hiệu ứng cần hiển thị. II. Phân tích đề tài 1.Các chức năng của sản phẩm: - Sản phẩm có tất cả 14 hiệu ứng, bao gồm các hiệu ứng và đặc tả khái quát về hiệu ứng sau đây (Hình ảnh các hiệu ứng sẽ được trình bày ở phần Kết Quả Đạt Được) : +Rotate_Circle : Các cột đèn(8 bóng) sẽ sáng lần lượt từ trong ra ngoài theo những vòng tròn từ nhỏ đến lớn +PU_PD: Các mảng đèn nằm ngang (các lớp) sẽ sáng từ trên xuống dưới rồi rừ dưới lên trên. +Rotate_Cross: Các đèn ở 4 mặt ngoài của ma trận led sẽ sáng theo kiểu bậc thang. +Spiral: Các cột đèn sáng từ trong ra ngoài theo hình xoắn ốc +Bloom: Các vòng đèn sáng từ trong ra ngoài rồi từ ngoài vào trong như hiệu ứng hoa nở. +Rain:Các đèn ở tầng trên sẽ sáng một cách ngẫu nhiên rồi di chuyển xuống dưới trông như hiệu ứng mưa rơi +Firework: Một bóng đèn ở tầng dưới sáng ngẫu nhiên sau đó di chuyển lên các tầng trên sau đó các vòng đèn phía trên sáng rực lên như hiệu ứng pháo hoa đang bắn. +PL_PR: Các mảng đèn dọc di chuyển từ trái sang phải rồi từ phải sang trái +Jump:Hiệu ứng này mô phỏng sự co, dãn của một hình lập phương trong không gian với tâm của nó ở chính giữa khối led +Number: Hiệu ứng này hiển thị các số từ 0-9 trên một mảng led nằm dọc di chuyển từ sau ra trước. +Character :Hiệu ứng này hiển thị một số chữ cái trên một mảng led nằm dọc di chuyển từ sau ra trước. 5 + Cube_Jump:Hiệu ứng này mô phỏng sự co, dãn của một hình lập phương trong không gian với tâm của nó là một trong tám góc của khối led. +Glow: Hiệu ứng này hiển thị quá trình sáng, tắt ngẫu nhiên của 512 bóng đèn trong khối led. +Send_Voxels: Hiệu ứng này hiển thị quá trình đảo led ở tầng trên cùng với tầng dưới cùng. Tức là ở mỗi tầng có 32 bóng sáng ngẫu nhiên, nếu bóng ở tầng này tắt thì bóng ở tầng kia sáng. 2.Nguyên tắc làm việc của linh kiện: - Trong đồ án này, chúng em dùng các thanh ghi dịch74HC595. Các thanh ghi dịch này thường dùng trong các mạch quét led 7, led matrix…để tiết kiệm số chân VĐK tối đa (3 chân). Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà không IC nào có thể làm được bằng việc mắc nối tiếp đầu vào dữ liệu các IC với nhau. - Giới thiệu về thanh ghi dịch 74HC595: + Chân 1->7 : 7 chân output. + Chân 8: Chân cấp nguồn âm. + Chân 9: Chân dữ liệu nối tiếp. Nếu dùng nhiều 74HC595 mắc nối tiếp nhau thì chân này đưa vào đầu vào của con tiếp theo khi đã dịch đủ 8bit (Shift clock). + Chân 10: Khi chân này ở mức thấp (mức 0) thì dữ liệu sẽ bị xóa. 6 + Chân 11: Chân vào xung clock. Khi có 1 xung clock tích cực ở sườn dương (từ 0 lên 1) thì 1bit được dịch vào ic (Latch clock). + Chân 12: Xung clock chốt dữ liệu. Khi có 1 xung clock tích cực ở sườn dương thì cho phép xuất dữ liệu trên các chân output. Lưu ý có thể xuất dữ liệu bất kỳ lúc nào bạn muốn, ví dụ đầu vào chân 14 dc 2 bit khi có xung clock ở chân 12 thì dữ liệu sẽ ra ở chân Qa và Qb (chú ý chiều dịch dữ liệu từ Qa=>Qh) (Reset). + Chân 13: Chân cho phép tích cực ở mức thấp (0) .Khi ở mức cao, tất cả các đầu ra của 74HC595 trở về trạng thái cao trở, không có đầu ra nào được cho phép (SQH). + Chân 14: đầu vào dữ liệu nối tiếp. Tại 1 thời điểm xung clock chỉ đưa vào được 1 bit (output) QA=>QH trên các chân (15,1,2,3,4,5,6,7). + Chân 15: chân output. + Chân 16: chân cấp nguồn +5V (VCC). -Nguyên lý làm việc của bảng mạch : Bảng mạch bao gồm 8 thanh ghi dịch 74HC595, mỗi thanh ghi dịch có 8 chân output do đó bảng mạch sẽ có 64 chân output thực hiện chức năng của 64 chân dương trong khối led. Khi ta muốn đưa 1 bit vào bên trong thanh ghi thì cần 1 xung clock ở chân 11 và nếu muốn xuất 8 bit ra 8 chân của nó thì ta cần tác động mức cao lên chân 12. Nếu muốn xóa dữ liệu trong thanh ghi thì cần tác động mức thấp vào chân 10. Các chân 10,11,12 đều được nối chung với nhau vào nối vào arduino, do đó ta dùng arduino để điều khiển các thanh ghi thực hiện đúng chức năng mong muốn. 7 Hình 1: Sơ đồ nguyên lý. 8 3.Tham số kĩ thuật: -512 LED Blue chân cắm : + Đường kính : 5mm. + Dòng điện tiêu thụ : 10-20mA. + Độ sáng : 150200mcd. + Điện áp : 3 – 3,5V. -Các tham số kĩ thuật của ic 74HC595: +Dịch chuyển nối tiếp 8 bit +Phạm vi điện áp hoạt động từ 2-6V +Tần số khoảng 25MHZ ở điện áp 4,5V +Dòng đầu vào thấp: 1 μA (Tối đa) +Có thể xóa thanh ghi trực tiếp 9 - Thông số bản mạch Arduino UNO R3 : Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16MHz Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC Số chân Digital I/O 6 Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 20 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) 4.Đoạn code kết nối làm việc với linh kiện: 10 # define SCK1 A4 # define DATA1 13 # define RCK1 12 void setup() { pinMode(SCK1,OUTPUT); pinMode(DATA1,OUTPUT); pinMode(RCK1,OUTPUT); } III. Giải pháp triển khai Hình 2: Khối LED trong không gian 3D. 11 Hình 3: Tầng, lớp của khối và đế dựng khối. 1. Lựa chọn và định dạng chân LED : - LED để làm khối LED3D là loại LED có khả năng phát ánh sáng với góc càng rộng càng tốt ( LED siêu sáng đục 5mm hoặc LED 3mm…..). - Board mạch hổ trợ tất cả các LED có màu sắc khác nhau: xanh, lục, vàng, đỏ, trắng…Ở đây nhóm chúng em chọn board mạch màu lục. - Cách bẻ chân LED 5mm : + Chân Âm bẽ nằm ngang so với LED + Chân Dương để thẳng 12 Hình 4: Xác định và bẽ chân LED. 2. Tạo hàng cho khối LED3D : Sau khi bẻ xong, chúng ta hàn các chân Âm của LED lại với nhau thành 1 hàng, mỗi hàng gồm 8 con LED. Hoàn tất ta được 64 hàng từ 512 con LED. Chú ý: - Hàn chân LED : khoảng cách giữa các con LED khoảng 0,9 inch. - Muốn hàn khối LED có khoảng cách lớn hơn, chúng ta cần thêm những thanh thép thẳng, khoảng cách các điểm LED từ 3cm đến 4cm. 13 Hình 5: Hàn 8 chân âm của 8 LED thành 1 hàng. 3. Tạo lớp cho khối LED3D: Nối mỗi 8 hàng lại với nhau, ta được 8 lớp ( mỗi lớp có 8x8 pixel ) - Các chân Dương của hàng LED trên hàn với các chân Dương của hàng LED dưới. - Các con LED sau khi hàn phải cách thật đều nhau thì sau khi lên khối LED3D mới đẹp mắt. Hình 6: Khung gỗ hỗ trợ việc hàn ghép các LED thành hàng, khối dễ dàng hơn. 14 Hình 7: Một lớp LED sau khi hàn xong. Xong giai đoạn này ta thu được 8 lớp , mỗi lớp gồm có 8 hàng và 8 cột ( 64 pixel ) Hình 8: 8 lớp LED kích thước 8x8. 15 4. Dựng khối LED3D: Giai đoạn này quyết định khối LED3D sau khi hoàn thành sẽ như thế nào và hiệu ứng trình diễn trên đó có đúng như mong muốn hay không. Chuẩn bị 1 tấm MICA với 64 lỗ khoan cách đều nhau và bằng khoảng cách giữa các điểm LED. Cắm lần lượt 8 Lớp 8x8 lên tấm MICA. Nếu hàn chuẩn và đẹp thì các lớp LED sẽ rất vừa và khớp. Hình 9: Các tầng, các lớp LED trên bản MICA. Tiến hành hàn nối các mảng LED lại với nhau sao cho các con LED cách đều nhau và hàn khối LED3D lên mạch điều khiển. Khi này khối LED3D và mạch sẽ tạo thành 1 khối lập phương, bao gồm 64 cột và 8 mảng(tầng). Các mảng(tầng) phải cách đều nhau, song song với nhau và song song với board mạch điều khiển. Các chân Âm của các con LED trên cùng 1 mảng phải được nối lại với nhau. Các điểm LED càng cách đều nhau thì càng thể hiện được hiệu ứng một cách sinh động và đẹp mắt, các hiệu ứng sẽ rõ ràng hơn. 16 Xong giai đoạn này ta thu được khối LED3D có kích thước 8x8x8 (512 pixel). Hình 10: Khối LED có kích thước 8x8x8 sau khi xây dựng xong. 17 -Các chân Âm của các con LED trên cùng 1 mảng phải được nối lại với nhau và được nối đến các chân từ D2-D9 của arduino. - Các điểm LED càng cách đều nhau thì càng thể hiện được hiệu ứng một cách sinh động và đẹp mắt, các hiệu ứng sẽ rõ ràng hơn. 5.Xây dựng mạch in PCB : - Đến tiệm photocopy in mạch bên dưới ra giấy ủi chuyên dùng cho in mạch. Hình 11: . Bảng in mạch PCB -Mua một bo đồng kích thước khoảng 15cmx15cm. -Dùng bàn là để in hình mạch trên vào bo đồng. 18 Hình 12: Bo mạch sau khi ủi. -Tiếp đến ta tiến hành ngâm bo mạch in được vào dung dịch FeCl3 , lắc đều trong 5-7 phút sau đó lấy ra lau khô. Tiến hành hàn các linh kiện vào mạch ta thu được bo mạch như hình dưới. Hình 13: Mạch in PCB dung trong đồ án. 19
- Xem thêm -

Tài liệu liên quan