Thiết kế LED cube 4x4x4 Với sự phát triển không ngừng của khoa học kỹ thuật, đặc biệt là ngành điện tử đã ứng dụng rất nhiều trong công nghiệp trong lĩnh vực vi điều khiển, từ khi công nghiệp chế tạo vi mạch lập trình phát triển đã đem đến các kĩ thuật điều khiển hiện đại.Tạo ra những thành tựu đó có thể biến những cái tưởng chừng như không thể thành có thể, góp phần nâng cao đời sống vật chất và tinh thần cho con người. Vì vậy sau khi chúng em tiếp cận được môn học vi điều khiển, cùng với những thực nghiệm, chúng em áp dụng kiến thức đó vào việc thiết kế sản phẩm thực tế qua đề tài Tiểu luận: “Thiết kế LED cube 4x4x4”. LỜI MỞ ĐẦULỜI CẢM ƠNMỤC LỤCCHƯƠNG 1: GIỚI THIỆU VỀ LED CUBE VÀ ARDUINO11.1.Led cube11.1.1.Ledcube là gì11.1.2.Sơ đồ khối21.2.Giới thiệu chung về Arduno21.2.1.Mục đích21.2.2.Phân loại41.2.3.Ứng dụng của Arduno61.3.Giới thiệu phần mềm Arduno IDE8CHƯƠNG 2: LỰA CHỌN THIẾT BỊ VÀ XÂY DỰNG SƠ ĐỒ MẠCH132.1.Led132.1.1.Cấu tạo132.1.2.Nguyên tắc hoạt động142.2.Điện trở152.2.1.Khái niệm152.2.2.Cách đọc giá trị điện trở bằng vạch màu152.2.3.Chức năng182.3.Led cube 4x4182.3.1.Cấu tạo Led cube 4x4182.3.2.Nguyên tắc hoạt động192.4.Arduno Nano192.4.1.Thông số kỹ thuật Arduno Nano192.4.2.Vi điều khiển của Arduno Nano202.4.3.Các chân năng lượng của Arduno Nano202.4.4.Cổng vàora của Arduno Nano222.5.Xây dựng sơ đồ mạch262.5.1.Sơ đồ mạch26CHƯƠNG 3: TIẾN HÀNH LẮP ĐẶT LED CUBE 4X4283.1.Thiết kế phần cứng283.2.Thiết kế phần mềm373.3.Tiến khởi động và khắc phục lỗi463.4.Kết luận – Đánh giá47KẾT LUẬN47TÀI LIỆU THAM KHẢO47
KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỰ ĐỘNG CÔNG NGHIỆP ==========o0o========== TIỂU LUẬN HỌC PHẦN: ĐỒ ÁN MÃ HỌC PHẦN: 13321 Giảng viên : Lớp : Nhóm sinh viên : Đồ án 1- N03 LỜI MỞ ĐẦU Ngày với phát triển mạnh mẽ cơng nghiệp hóa đại hóa đất nước địi hỏi nhu cầu thẩm mỹ cần thiết, nên việc áp dụng khoa học kỹ thuật nhu cầu tất yếu xã hội, đòi hỏi kỹ thuật ngày phát triển để phù hợp với cơng nghiệp hóa đại hóa đất nước Với xu bạn bước chân vào cửa hàng, khách sạn bạn dễ dàng bắt gặp khối led trang trí đẹp có nhiều màu sắc khác nhau, chạy theo trạng thái ấn tượng Với phát triển không ngừng khoa học kỹ thuật, đặc biệt ngành điện tử ứng dụng nhiều công nghiệp lĩnh vực vi điều khiển, từ công nghiệp chế tạo vi mạch lập trình phát triển đem đến kĩ thuật điều khiển đại Tạo thành tựu biến tưởng chừng khơng thể thành có thể, góp phần nâng cao đời sống vật chất tinh thần cho người Vì sau chúng em tiếp cận môn học vi điều khiển, với thực nghiệm, chúng em áp dụng kiến thức vào việc thiết kế sản phẩm thực tế qua đề tài Tiểu luận: “Thiết kế LED cube 4x4x4” LỜI CẢM ƠN Để hoàn thành tập lớn này, nhóm em xin gửi lời cảm ơn chân thành đến … hướng dẫn tận tình, chi tiết để nhóm em có đủ kiến thức vận dụng chúng vào Đồ án Do chưa có nhiều kinh nghiệm làm đề tài hạn chế kiến thức, đồ án chắn khơng tránh khỏi thiếu sót Rất mong nhận nhận xét, ý kiến đóng góp, phê bình từ phía để Đồ án nhóm em hồn thiện Lời cuối cùng, nhóm em xin kính chúc cô nhiều sức khỏe thành công Sinh viên thực (Tất SV) Ký ghi rõ họ tên PMỤC LỤC MỤC LỤC CHƯƠNG 1: GIỚI THIỆU VỀ LED CUBE VÀ ARDUINO 1.1 Led cube 1.1.1 Ledcube Hình 1.1: Hình ảnh Ledcube Ledcube khối hộp (hình vng, hình chữ nhật, …) ghép từ nhiều led lại với Tùy vào yêu cầu mà khối ledcube có cấu tạo số bóng led, số lớp số tầng khác (bxbxb) Khi lắp ledcube, ta không mắc chung tất chân bóng led lại với để thắp sáng mà thay vào đó, ta mắc chung chân anode “bxb” bóng lớp lại với mắc chung “b” chân cathode để tạo thành cột Để cho led bật sáng, ta nối chân anode chung lớp với điểm có điện cao, “bxb” bóng led có chân anode gắn với điểm điện cao, việc lại nối điểm điện thấp cho chân cathode bóng led cần thắp sáng Ledcube có nhiều loại với kích cỡ, hình dạng, … đa dạng như: ledcube 5x5x5 có 125 bóng led; ledcube 8x8x8 có 512 bóng led; … Ứng dụng ledcube đa dạng như: dùng làm quà tặng sinh nhật, đồ trang trí,… 1.1.2 Sơ đồ khối Khối xử lý trung tâm Khối hiển thị (Arduino) (Ledcube) Hình 1.2: Sơ đồ khối điều khiển Ledcube 1.2 Giới thiệu chung Arduno 1.2.1 Mục đích Hình 1.3: Hình ảnh Arduino Arduino tảng mã nguồn mở phần cứng phần mềm Một mạch Arduino bao gồm vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình mở rộng với mạch khác Một khía cạnh quan trọng Arduino kết nối tiêu chuẩn nó, cho phép người dùng kết nối với CPU board với module thêm vào dễ dàng chuyển đổi, gọi shield Vài shield truyền thông với board Arduino trực tiếp thông qua chân khác nhau, nhiều shield định địa thông qua serial bus I²C-nhiều shield xếp chồng sử dụng dạng song song Arduino thức thường sử dụng dịng chip megaAVR, đặc biệt ATmega8, ATmega168, ATmega328, ATmega1280, ATmega2560 Một vài vi xử lý khác sử dụng mạch Aquino tương thích Hầu hết mạch gồm điều chỉnh tuyến tính 5V thạch anh dao động 16 MHz (hoặc cộng hưởng ceramic vài biến thể), vài thiết kế LilyPad chạy MHz bỏ qua điều chỉnh điện áp onboard hạn chế kích cỡ thiết bị Một vi điều khiển Arduino lập trình sẵn với boot loader cho phép đơn giản upload chương trình vào nhớ flash onchip, so với thiết bị khác thường phải cần nạp bên Điều giúp cho việc sử dụng Arduino trực tiếp cách cho phép sử dụng máy tính gốc nạp chương trình Theo nguyên tắc, sử dụng ngăn xếp phần mềm Arduino, tất board lập trình thơng qua kết nối RS-232, cách thức thực lại tùy thuộc vào đời phần cứng Các board Serial Arduino có chứa mạch chuyển đổi RS232 sang TTL Các board Arduino lập trình thơng qua cổng USB, thực thông qua chip chuyển đổi USB-to-serial FTDI FT232 Vài biến thể, Arduino Mini Boarduino khơng thức, sử dụng board adapter cáp nối USB-to-serial tháo rời được, Bluetooth phương thức khác (Khi sử dụng cơng cụ lập trình vi điều khiển truyền thống thay ArduinoIDE, cơng cụ lập trình AVR ISP tiêu chuẩn sử dụng.) Board Arduino đưa hầu hết chân I/O vi điều khiển để sử dụng cho mạch Diecimila, Duemilanove, Uno đưa 14 chân I/O kỹ thuật số, số tạo xung PWM (điều chế độ rộng xung) chân input analog, sử dụng chân I/O số Những chân thiết kế nằm phía mặt board, thông qua header 0.10-inch (2.5 mm) Nhiều shield ứng dụng plug-in thương mại hóa Các board Arduino Nano, Arduinocompatible Bare Bones Board Boarduino cung cấp chân header đực mặt board dùng để cắm vào breadboard → Kết luận: Arduino công cụ hỗ trợ đắc lực cho cơng việc lập trình Điểm hấp dẫn Arduino với người đam mê lập trình ngơn ngữ dễ học giống C/C++, ngoại vi bo mạch chuẩn hóa nên khơng cần biết nhiều điện tử, lập trình ứng dụng thú vị Thêm Arduino platform chuẩn hóa nên có nhiều bo mạch mở rộng (shield) để cắm chồng lên bo mạch Arduino, hình dung dễ hiểu "library" ngơn ngữ lập trình 1.2.2 Phân loại Bảng 1.1: Một số loại Arduino Board Arduino uno Arduino Due Arduino Mega Hình ảnh Chức Tài nguyên Sản phẩm Vi điều khiển (ATmega328P) Dùng để lập trình nhúng động cơ, lập trình led, relay số linh kiện điện tử khác Vi điều khiển Digital I/O: 14 (hỗ trợ chân PWM) Analog I/O: Board mạch vi điều khiển Vi điều khiển hỗ trợ điều khiển nhiều motor, hỗ trợ kết nối wifi Analog input :12 Analog output: DAC PWM digital I/O: 12 Digital I/O: 54 Board mạch vi điều khiển với tốc độ xử lý cao, nhớ lớn Digital I/O: 54 (15 chân có Module điều thể sử dụng khiển LED, chân PWM) module điều Analog input: 16 khiển robot UARTs từ xa đầu ICSP Arduino Nano Vi điều khiển Board mạch Digital I/O:14 ( chân (Atmega 328 vi điều PWM) họ bit) khiển Analog input : Tích hợp Led báo nguồn, led chân D13, LED RX, TX Tích hợp IC chuyển điện áp 5V LM1117 Arduino Lilypad Vi điều khiển Digital I/O:14 (6 chân Board mạch PWM) sử dụng Analog ipnut :6 trang trí thời trang Arduino Micro Vi điều khiển, giả lập bàn phím, chuột vitual Serial/ COM port Digital I/O: 14 (6 chân PWM) Arduino Mini Vi điều khiển Digital I/O: 14 (6 chân Board mạch PWM) vi điều Analog input: khiển Arduino Leonardo Vi điều khiển, USB Host Analog input: 12 Board mạch Digital I/O: 14 (7 chân vi điều PWM) khiển, mạch giả lập chuột,bàn phím, tay cầm game … 1.2.3 Ứng dụng Arduno KeyBoard HID USB Analog input: chân USB HID - Làm Robot: Arduino có khả đọc thiết bị cảm biến, điều khiển động cơ,… nên thường dùng để làm xử lý trung tâm nhiều loại robot Hình 1.4: Ứng dụng Arduino điều khiển động - Game tương tác: Arduino sử dụng để tương tác với Joystick, hình, … chơi game Tetrix, phá gach, Mario… Hình 1.5: Ứng dụng Arduino tương tác với Joystick - Điều khiển đèn tín hiệu giao thơng, làm hiệu ứng đèn Led nhấp nháy biển quảng cáo… 10 Cắt 16 dây lõi Hàn dây với tất cực âm chung cho tất LED dọc Bây có tổng cộng 16 cục dương chung CA0, CA1, CA2, CA3, CA4 ……………, CA15 Bạn gắn nhãn dây theo tên số để khơng nhầm lẫn Bước 7: Kết nối với Arduno Nano Hình 3.10: Sơ đồ chân kết nối Ledcube với Arduino 40 Hình 3.11: Kết nối Ledcube với Arduino - Bây giờ, cực dương chung cực âm chung lấy khỏi LED Cube, bước lại là: +) Kết nối CC0, … CC3 CA0, … CA15 đến Arduino Nano +) Mã hóa Arduino - Tháo lớp cách điện dây lõi nối chúng vào chân Arduino sau: +) CC0, CC1, CC2, CC3 đến chân số A0, A1, A2, A3 +) CA0, CA1, CA2, CA3 … CA15 đến số chân A4, A5, RX0, TX1, D2, D3, …D13 * Lưu ý: +) Dòng I / O tối đa cho Arduino khoảng 45mA diode LED có dịng điện định hướng 2V 20mA Vì giá trị tối đa, nên điện trở nối Arduino dây nối khối lập phương LED để đảm bảo LED hoạt động tốt Ví dụ: – CC0 – điện trở — Arduino chân A0 +) Ngồi kiểm tra dây có bị ngắn mạch hay không trước nối để không gặp lỗi sau nối dây xong 3.2 Thiết kế phần mềm 41 Sơ đồ thuật tốn Hình 3.12: Sơ đồ thuật tốn tổng qt 42 Hình 3.13: Thuật tốn hiệu ứng nhấp nháy 43 Hình 3.14: Thuật tốn hiệu ứng lên xuống 44 Tắt Led Hình 3.15: Thuật tốn hiệu ứng mưa rơi 45 Code dùng cho lập trình int layer[4]={A3,A2,A1,A0}; //initializing and declaring led layers int column[16]={13,12,11,10,9,8,7,6,5,4,3,2,1,0,A5,A4}; //initializing and declaring led rows int time = 250; void setup() { for(int i = 0; i