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ậ
Trang 1Chuyên đề: Thiết kế module điều khiển LED cube 4x4x4
GIẢNG VIÊN HD: Nguyễn Mạnh Hà
LỚP: DHCD15A2HN
CHUYÊN NGÀNH: Cơ Điện Tử
Trang 2Tuy nhiên, do kinh nghiệm và kiến thức còn hạn chế, nên chuyên đề của nhóm
em không thể tránh khỏi những sai sót Nhóm em mong thầy/cô góp ý, phê bình
để nhóm em có thể hoàn thiện hơn.
Cuối cùng, nhóm em xin chúc thầy/cô luôn khỏe mạnh và thành công trong cuộc sống sau này ạ.
Sinh viên thực hiện (Tất cả các SV)
1 NGUYỄN LONG ANH
Trang 3MỤC LỤC
DANH MỤC HÌNH VẼ
DANH MỤC BẢNG
MỞ ĐẦU
CHƯƠNG 1 GIỚI THIỆU VỀ LED CUBE VÀ ARDUINO
1 1.1 Giới thiệu chung về LED CUBE
1.1.1 LED CUBE là gì?
1.1.2 Sơ đồ khối
1.2 Nguyên lý làm việc của LED CUBE
1.3 Ứng dụng của LED CUBE
CHƯƠNG 2 THIẾT KÊ MODULE LED CUBE
2.1 Cấu trúc
2.2 Lựa chọn, chi tiết về linh kiện
2.2.1 Arduino
2.2.2 Phần mềm Arduino IDE
2.2.3 LED
2.2.4 Điện trở
2.2.5 Arduino Nano
2.3 Thiết kế mạch
2.3.1 Thi công mạch phần cứng
TÀI LIỆU THAM KHẢO
TÓM TẮT NÔI DUNG CHUYÊN ĐỀ
MỤC HÌNH VẼ Hình 1.1 Hình ảnh LED CUBE
Hình 1.2 Sơ đồ khối hiển thị LED CUBE
Hình 1.3 Nguyên lý hoạt động của LED CUBE
Hình 2.1 Cấu trúc module LED CUBE 4x4x4
Hình 2.2 Arduino Uno
Hình 2.3 Ảnh giao diện Arduino
Hình 2.4 Vùng viết chương trình trên Arduino
Hình 2.5 Vùng Thông báo trên Arduino
Hình 2.6 Khai báo bo mạch và chọn cổng giao tiếp trên Arduino
Hình 2.7 Upload chương trình thành công
Trang 4Hình 2.8 Cấu tạo và kí hiệu của LED
Hình 2.9 Nguyên lý hoạt động cơ bản của LED
Hình 2.10 Kí hiệu điện trở
Hình 2.11 Điện trở 4 vạch
Hình 2.12 Điện trở 5 vạch màu
Hình 2.13 Arduino Nano
Hình 2.14 Sơ đồ chân của Arduino Nano
Hình 2.15 ISCP
Hình 2.16 Arduino Nano
Hình 2.17 LED vàng
Hình 2.18 Kiểm tra LED
Hình 2.19 Khung sắp xếp LED
DANH MỤC BẢNG Bảng 2.1 Bảng phân loại Arduino
Bảng 2.2 Các nút lệnh chính trên thanh công cụ
Bảng 2.3 Bảng quy ước màu
Bảng 2.4 Thông số kĩ thuật của Arduino Nano
Bảng 2.5 Linh kiện cần dùng
Trang 5LỜI MỞ ĐẦU
Ngày nay với sự phát triển mạnh mẽ của nền công nghiệp hóa hiện đại hóa đất nước đòi hỏi nhu cầu về thẩm mỹ là rất cần thiết, nên việc áp dụng khoa học kỹ thuật mới là nhu cầu tất yếu của xã hội, đòi hỏi các kỹ thuật ngày càng phát triển để phù hợp với nền công nghiệp hóa hiện đại hóa đất nước Với xu thế hiện nay khi các bạn bước chân vào các cửa hàng, khách sạn bạn sẽ dễ dàng bắt gặp các khối LED trang trí rất đẹp có nhiều màu sắc khác nhau, chạy theo các trạng thái rất ấn tượng.
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: “Thiết kế
module điều khiển LED CUBE 4x4x4”.
Trang 6CHƯƠNG 1 GIỚI THIỆU VỀ LED CUBE VÀ ARDUINO
1.1 Giới thiệu chung về LED CUBE.
Để điều khiển tất cả đèn LED có trong khối LED, chúng ta chia khối này thành nhiều lớp (Layer) và cột Mỗi lớp bao gồm nhiều đèn LED và cực âm của tất cả các đèn LEDhiện diện trong một lớp được kết nối với nhau Tương tự, chúng ta có nhiều cột, mỗi cột bao gồm đèn LED từ các lớp khác nhau, và cực dương của tất cả các đèn LED này được kết nối với nhau Vì vậy, bằng cách điều khiển các lớp và các cột này, chúng ta
có thể kiểm soát từng LED trong khối.
Trang 71.2 Nguyên lý làm việc của LED CUBE
LED CUBE hoạt động dựa trên nguyên lý điều khiển từng LED bằng cách sửdụng một bo mạch như Arduino Nano.
Ví dụ dễ hình dung nhất là khối LED 5x5x5 Khối LED này bao gồm tổngcộng 125 đèn LED Để điều khiển tất cả đèn LED có trong khối LED, khối nàyđược chia thành 5 lớp (Layer) và 25 cột Các lớp là layer 0, layer1, layer 2,layer 3 và layer 4 Mỗi lớp bao gồm 25 đèn LED và cực âm của tất cả các đènLED hiện diện trong một lớp được kết nối với nhau.
Tương tự, chúng ta có 25 cột bắt đầu từ c0, c2, c3, c4, c5 ……… … c24 Cộtc0 bao gồm đèn LED từ layer 0, layer 1, layer 2 ,layer 3 và layer 4, và cựcdương của tất cả các đèn LED này được kết nối với nhau Vì vậy, bằng cáchđiều khiển các lớp và các cột này, chúng ta có thể kiểm soát từng LED trong
khối
Trang 8Hình 1.3 Nguyên lý hoạt động của LED CUBE
1.3 Ứng dụng của LED CUBE
LED CUBE có nhiều ứng dụng thú vị và hấp dẫn Dưới đây là một số ví dụ:
1 Trang trí: LED CUBE thường được sử dụng như một món đồ trang trí độc đáo và
hấp dẫn Với khả năng tạo ra các hiệu ứng ánh sáng đa dạng và phong phú, LED CUBE có thể tạo nên một không gian sống động và lôi cuốn.
2 Học tập: LED CUBE cũng là một công cụ hữu ích để học về điện tử và lập trình
Qua quá trình tự chế tạo và lập trình LED CUBE, người học có thể nắm bắt được các kiến thức cơ bản về điện tử, lập trình vi điều khiển, và cách điều khiển LED.
3 Nghiên cứu: Trong lĩnh vực nghiên cứu, LED CUBE có thể được sử dụng để mô
phỏng các dữ liệu không gian ba chiều.
4 Sản phẩm thương mại: Một số sản phẩm thương mại như đèn ngủ, đèn trang trí,
hoặc các sản phẩm nghệ thuật cũng sử dụng LED CUBE
5 Phần mềm: Có các phần mềm như Gamo LED CUBE giúp tạo mã và mô phỏng
Trang 9- Bộ điều khiển và xử lí Arduino Nano
Nguyên lí : Cấp nguồn cho mạch, Adruino bắt đầu hoạt động sẽ cấp nguồn cho LED
Để cho 1 LED bất kỳ bật sáng, đầu tiên ta nối chân anode chung của lớp với điểm có điện thế cao, khi đó “bxb” bóng LED sẽ có chân anode được gắn với điểm điện thế cao, việc còn lại là nối điểm điện thế thấp cho chân cathode của bóng LED nào cần thắp sáng.
2.2 Lựa chọn, chi tiết về linh kiện
2.2.1 Arduino
2.2.1.1 Giới thiệu về Arduino
Arduino một nền tảng mã nguồn mở phần cứng và phần mềm Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình và
có thể mở rộng với các mạch khác Một khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các module
thêm vào có thể dễ dàng chuyển đổi, được gọi là shield Vài shield truyền thông với
board Arduino trực tiếp thông qua các chân khác nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus I2C-nhiều shield có thể được xếp chồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560 Một vài
Trang 10các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino tương thích Hầu hết cácmạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc
bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết
bị Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điều này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp chương trình.
Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board được lậptrình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng Các board Serial Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL Các board Arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232 Vài biến thể, như Arduino Mini và Boarduino không chính thức, sử dụng một board adapter hoặc cáp nối USB to-serial có thể tháo rời được, Bluetooth hoặc các phương thức khác (Khi sử dụng mộtcông cụ lập trình vi điều khiển truyền thống thay vì ArduinoIDE, công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.)
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input analog, có thể được sử dụng như là 6 chân I/O số Những chân này được thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm) Nhiều shield ứng dụng plug-in cũng được thương mại hóa Các board Arduino Nano, và Arduino-
compatible Bare Bones Board và Boarduino có thể cung cấp các chân header đực ở mặt trên của board dùng để cắm vào các breadboard.
→ Kết luận: Arduino là 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 là ngôn ngữ dễ học khá giống C/C++, các ngoại
vi trên bo mạch đều đã được chuẩn hóa nên không cần biết nhiều về điện tử, chúng ta cũng có thể lập trình được những ứng dụng thú vị Thêm nữa Arduino là một platform
đã được chuẩn hóa nên đã có rất nhiều các bo mạch mở rộng (shield) để cắm chồng lên
bo mạch Arduino, có thể hình dung dễ hiểu là "library" của các ngôn ngữ lập trình.
Hình 2.5 Arduino Uno
2.2.1.2 Phân loại Arduino
Trang 11Bảng 2.1 Bảng phân loại Arduino
phẩm Arduino
uno
Vi điều khiển (ATmega328P) Dùng để lập
trình nhúng động cơ, lập trình LED, relay và một sốlinh kiện điện tử
khác
Digital I/O: 14 (hỗ trợ 6 chân PWM) Analog I/O: 6
Board mạch vi điều khiển
Arduino
Due
Vi điều khiển Analog input :12
Analog output: 2 DAC
PWM digital I/O: 12Digital I/O: 54
Board mạch vi điều khiển vớitốc độ xử
lý cao,
bộ nhớ lớn
Arduino
Mega
Vi điều khiển hỗ trợ điều
khiển nhiều motor, hỗ trợ kết nối wifi
Digital I/O: 54 (15chân có thể được sửdụng như các chânPWM)
Analog input: 16
4 UARTs
1 đầu ICSP
Module điều khiển LED, module điều khiển robot từ xa
Trang 12Board mạch vi điều khiển
Arduino
Lilypad
Vi điều khiển Digital I/O:14 (6 chân
PWM) Analog ipnut :6
Board mạch sử dụng trong trang trí thời trang
COM port
Digital I/O: 14 (6 chân PWM) Analog input: 4 chân USB HID
KeyBoar dHID USB
Arduino
Mini
Vi điều khiển Digital I/O: 14 (6
chân PWM) Analog input: 8
Board mạch vi điều khiển
n phím,
Trang 13tay cầm game …
2.2.1.3 Ứng dụng của Arduino
- Làm Robot: Arduino có khả năng đọc các thiết bị cảm biến, điều khiển động cơ,… nên nó thường được dùng để làm bộ xử lý trung tâm của rất nhiều loại robot.
- Game tương tác: Arduino có thể được sử dụng để tương tác với Joystick, màn hình,
… khi chơi các game như Tetrix, phá gach, Mario… - Điều khiển đèn tín hiệu giao thông, làm hiệu ứng đèn LED nhấp nháy trên các biển quảng cáo…
- Điều khiển các thiết bị cảm biến ánh sáng, âm thanh.
- Làm máy in 3D
Trên đây chỉ là một trong số rất nhiều ứng dụng của arduino, việc ứng dụng vào những
gì còn có thể do chính người sử dụng sáng tạo ra.
2.2.2 Phần mềm Arduino IDE
2.2.2.1 Giới thiệu
Arduno Nano được lập trình dựa trên ngôn ngữ Wiring (đây là một biến thể của C/C++) Do vậy có thể nói ngôn ngữ lập trình Arduno bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduno, nhóm phát triển dự án này đã cung cấp đến cho người dùng một môi trường lập trình Arduno được gọi là Arduno IDE (Intergra ted Development Environment).
2.2.2.2 Tổng quan
Trang 14Hình 2.6 Ảnh giao diện Arduino
Arduino được chia làm 3 phần chính bao gồm:
- Vùng lệnh: Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help) Phíadưới là các icon cho phép sử dụng nhanh các chức năng thường dùng củaIDE.
Bảng 2.2 Các nút lệnh chính trên thanh công cụ
Icon Chức năng
Biên dịch chương trình đang soạn thảo để kiểm tra các lỗi lập trình
Biên dịch và upload chương trình đang soạn thảo
Gỡ lỗi
Mở các chương trình đã lưu
Quản lý bo mạch
Trang 15Quản lý thư viện
Tìm kiếm thông tin
- Vùng viết chương trình: Bạn sẽ viết các đoạn mã của mình tại đây Tên chương trình của bạn được hiển thị ngay dưới icon, ở đây nó tên là “Blink”
Hình 2.7 Vùng viết chương trình trên Arduino
- Vùng thông báo (debug): Những thông báo từ IDE sẽ được hiển thị tại đây Để ý rằng góc dưới cùng bên phải hiển thị loại board Arduno và cổng COM, nếu như không
có cổng bạn sẽ không thể upload được code của mình.
Hình 2.8 Vùng Thông báo trên Arduino
Lưu ý: Khi lập trình, cá bạn cần chọn port (cổng kết nối khi gắn board vào) và board (tên board mà bạn sử dụng).
2.2.2.3 Nạp chương trình cho kit Arduino
- Khởi động Arduino IDE Vào Disconnected ở trên thanh công cụ Bên trái là lựa chọn bo mạch, bên phải là lựa chọn cổng PORTS Ở đây mình demo trên Arduino Nano:
Trang 16Hình 2.9 Khai báo bo mạch và chọn cổng giao tiếp trên Arduino
- Tiến hành kiểm tra lỗi và Upload chương trình:
Hình 2.10 Upload chương trình thành công
2.2.3 LED
2.2.3.1 Tổng quát về LED
- Định nghĩa: LED hay Diode phát sáng là một thiết bị bán dẫn phát ra ánh sáng khi một dòng điện chạy qua nó Điốt phát sáng là các mối nối p n pha tạp mạnh Dựa trên vật liệu bán dẫn được sử dụng và lượng pha tạp, đèn LED sẽ phát ra ánh sáng màu ở một bước sóng quang phổ cụ thể khi lệch về phía trước Khi dòng điện đi qua đèn LED, các electron tái kết hợp với các lỗ phát ra ánh sáng trong quá trình này Đèn
Trang 17LED cho phép dòng điện chạy theo hướng thuận và chặn dòng điện theo hướng ngược lại.
- Cấu tạo, kí hiệu LED:
Hình 2.11 Cấu tạo và kí hiệu của LED
2.2.3.2 Nguyên lý hoạt động
Bóng đèn LED hoạt động dựa trên công nghệ bán dẫn, cũng giống như nhiều
loại đi ốt bán dẫn khác Khi có 2 đầu bán dẫn loại N P chứa các lỗ trống mang
diện tích dương ghép với khối bán dẫn N và các lỗ trống có xu hướng khuếch
tán sang khối N Như vậy các khối P lại nhận được điện tích âm từ N chuyển
sáng kết quả là khối P mang điện tích âm và khối N mang điện tích dương
Như vậy, với 2 đầu N P một số điện tử bị lỗ trống thu hút và chúng tiến lại gần
nhau chúng tạo thành các nguyên tử trung hòa Và quá trình này tạo ra năng
lượng dưới dạng ánh sáng Mức năng lượng, màu sắc của LED phụ thuộc vào
cấu trúc năng lượng của các nguyên tử chất bán dẫn Do đó, tùy theo mức năng
lượng giải phóng cao hay thấp mà bước sóng ánh sáng phát khác nhau, tức màu
sắc của LED sẽ khác nhau.
Trang 18Hình 2.12 Nguyên lý hoạt động cơ bản của LED
2.2.4 Điện trở
2.2.4.1 Tổng quan về điện trở
- Khái niệm: Điện trở là sự cản trở dòng điện của một vật dẫn điện, nếu một vậtdẫn điện tốt thì điện trở nhỏ, vật dẫn điện kém thì điện trở lớn, vật cách điện thìđiện trở là vô cùng lớn.
- Cấu tạo: Điện trở là một linh kiện quan trọng, chúng được làm từ hợp chấtcacbon và kim loại tuỳ theo tỷ lệ pha trộn mà người ta tạo ra được các loại điệntrở có trị số khác nhau.
Trang 19Trong đó, màu sắc được quy ước thành các chữ số theo bảng sau:
Bảng 2.3 Bảng quy ước màu
Trang 20- Với điện trở 4 vòng màu:
Hình 2.14 Điện trở 4 vạch
Vạch màu thứ nhất: Chỉ giá trị hàng chục trong giá trị điện trở Vạch màu thứ hai: Chỉ giá trị hàng đơn vị trong giá trị điện trở Vạch màu thứ ba: Chỉ hệ số nhân với giá trị số
mũ của 10 dùng nhân với giá trị điện trở
Vạch màu thứ 4: Chỉ giá trị sai số của điện trở
Vạch màu thứ 5: Chỉ giá trị sai số của điện trở
Trị số =Vạch1×Vạch 2× Vạch3×10 Vạch 4 ±(Vạch 5)%