[ Prev ] [ Index ] [ Next ]

Chương 5 - Điều khiển trực tiếp đèn LED matrix

Created Friday 27 June 2014

https://www.youtube.com/watch?v=PRwaj-pGJNs
Sử dụng LED 5x7, lấy 12 chân GPIO của RPi để điều khiển:
LED pin - RPi GPIO
1 - 17
2 - 4
3 - 22
3 - 10
5 - 9
6 - 11
7 - 18
8 - 23
9 - 24
10 - 25
11 - 8
12 - 7
Chọn chế độ GPIO output cho tất cả các chân đó, rồi điều khiển mỗi chân là high hay low.

http://www.raspberrypi.org/forums/viewtopic.php?f=41&t=38181

http://w8bh.net/contents.htm (cụ thể, tốt)

Bài thực hành dùng LED matrix 8x8: :Raspberry Pi:Sách Tự học lập trình điều khiển với Raspberry Pi:Chương 7 - Điều khiển đèn LED matrix qua giao tiếp SPI

Linh kiện

- LED matrix 5x7


Nội dung


Dẫn nhập (1 trang)

- mục tiêu học ở chương này
- các linh kiện cần thiết
- ý nghĩa của bài học này, có thể phát triển ra những ứng dụng nào
Đèn LED được dùng nhiều trong thực tế nhờ ưu điểm dễ điều khiển, tiết kiệm năng lượng và có nhiều màu sắc. Để có thể tạo ra các hình ảnh sinh động với đèn LED, người ta thiết kế ra các linh kiện LED ma trận, gồm một ma trận các điểm mà mỗi điểm là một đèn LED. Hầu hết các bảng hiệu quảng cáo có dòng chữ chạy mà ta thấy trên đường phố là dựa vào các LED ma trận. Mỗi đèn LED ma trận gồm rất nhiều điểm có thể điều khiển độc lập, ví dụ có loại gồm 7 hàng và 5 cột, tức là có 7x5=35 điểm, khi ta điều khiển được mỗi điểm ở trạng thái "on" hay "off" thì sự tổ hợp của chúng giúp ta tạo ra được rất nhiều hình, ví dụ có thể tạo hình các chữ cái, hoặc khi ghép nhiều LED ma trận cạnh nhau sẽ tạo được hình ảnh hoạt hình giống như trên ti vi.
Để điều khiển được đồng thời sự sáng/tối cho các điểm LED trong một LED ma trận, ta cần học kỹ thuật điều khiển xoay vòng để có thể tiết kiệm số chân của bộ xử lý. Tưởng tượng nếu 35 đèn LED nhỏ được thiết kế kiểu nối một cực chung như đèn LED 7 đoạn, ta sẽ cần 35 chân nối để điều khiển chúng, như vậy là quá nhiều đối với các vi điều khiển. Do đó, mạch điện trong LED ma trận được thiết kế kiểu khác, các đèn LED được gắn ở các mắt lưới trong một mạch điện mà khi các đầu nối ở mỗi hàng được nối vào cực dương còn đầu nối mỗi cột được nối vào cực âm thì sẽ cho dòng điện chạy qua đèn LED ở mắt lưới giao giữa hàng và cột đó, như trong hình (to do: chỉ đến hình minh họa mạch trong LED matrix). Để điều khiển một điểm LED, ta điều khiển các chân nối hàng và cột ứng với nó, như vậy đối với một LED ma trận có 7 hàng 5 cột thì ta chỉ cần sử dụng 7+5=12 chân điều khiển của bộ xử lý. Tuy nhiên, một vấn đề nảy sinh là khi ta kéo điện áp ở hai hàng lên cực dương và hạ điện áp ở hai cột xuống cực âm, thì cùng lúc có 4 mắt lưới giữa 2 hàng và 2 cột đó sẽ sáng đèn, như vậy ta không làm được tổ hợp kiểu như 3 trong 4 đèn đó sáng trong khi đèn còn lại phải tối. Khi có nhiều hàng và nhiều cột hơn thì sự phụ thuộc nhau còn phức tạp hơn nữa.
Để giải quyết vấn đề này, người ta dùng kỹ thuật điều khiển xoay vòng, hay thường gọi là "quét LED". Người ta không điều khiển đồng thời các hàng mà tại mỗi thời điểm chỉ điều khiển một hàng và giữ trạng thái đó trong thời gian rất ngắn (cỡ vài mili giây), rồi chuyển sang hàng kế tiếp. Như vậy ở mỗi thời điểm chỉ có các đèn LED trên một hàng có thể sáng, và vì ta xoay vòng các hàng nên các đèn LED sáng và tắt rất nhanh, trong vòng một giây mỗi đèn LED có thể được chớp lên hàng chục đến hàng trăm lần. Do mắt người không thể theo kịp tốc độ chớp đó mà chỉ có thể bắt được hình ảnh khoảng 24 lần mỗi giây, nên khi các đèn LED chớp nhanh hơn tốc độ đó thì mắt người sẽ xem như là đèn đó sáng liên tục. Vậy là tuy ở từng thời điểm rất ngắn ta chỉ bật các đèn LED trên một hàng, nhưng nhờ sự xoay vòng rất nhanh mà mắt người xem sẽ nhìn thấy các đèn LED ở các hàng khác cũng vẫn sáng, nhờ đó ta tạo được hình ảnh có sử dụng các điểm LED trên toàn bộ ma trận. (Nói thêm là đối với màn hình máy vi tính mà bạn hay dùng, các điểm ảnh cũng được điều khiển theo nguyên lý này, với tần số quét khoảng 60-100Hz, tức là xoay vòng 60 đến 100 lần mỗi giây).
Chương này sẽ giúp bạn đọc hiểu nguyên lý mắc mạch điện tử để điều khiển một ma trận LED, sử dụng một linh kiện LED ma trận tích hợp để minh họa, và lập trình dùng thủ thuật quét LED bằng cách tạo vòng lặp trong phần mềm cùng với hàm tạo độ trễ thời gian. Khi nắm được nguyên lý điều khiển cho một LED ma trận tích hợp, bạn đọc có thể tự thiết kế, chế tạo các mạch điện tử với đèn LED phối hợp thành ma trận nhiều hàng, nhiều cột hơn, hiển thị chữ cái với độ lệch theo thời gian để tiến đến làm được dòng chữ chạy giống như các bảng quảng cáo sinh động thường thấy trong thực tế.


Kết nối mạch điện tử (1 trang - hình ảnh)

- hình sơ đồ nối dây, minh họa mạch kiểu phim âm bản (lấy từ trang web project của nước ngoài như Adafruit)
- hình chụp mạch & breadboard đã kết nối
- coi như khi có sơ đồ nối dây là người ta làm theo được, không cần hướng dẫn từng bước


Chuẩn bị phần mềm (1 trang)

- quy trình từ lúc bật power đến khi sẵn sàng nhập lệnh:
- liệt kê các bước bằng text
- chụp hình màn hình khi chọn menu để vào môi trường nhập lệnh (console)


Code mẫu (1 trang)

- nhập code và xem kết quả:

- nhập các lệnh cấu hình phần cứng
- nhập các lệnh điều khiển


Giải thích các lệnh (3 trang )

- sẽ đưa các lệnh vào file Python để giải thích bằng chế độ comment đằng sau code
- thêm một phần giải thích việc nhập code kiểu interactive (nhập, gõ enter, thấy kết quả ngay, không có biên dịch hay phải nạp vào chip)
- (dự kiến khối lệnh ở mỗi bài trong vòng 20 - 40 dòng)


Bài thực hành thêm (1 trang)

- thêm một số gợi ý để người học tự thực hành (ví dụ: bài học bật tắt 1 LED, thêm bài tập bật tắt tuần tự 2 LED)



Số lượt truy cập: