Làm quen với LED ma trận. Ma trận LED là 1 trong nhưng thứ mình thích làm việc nhất. Mình đã tìm hiểu khá nhiều về LED ma trận nên làm 1 tus để chia sẽ nhưng thứ mình biết về lập trình điều khiển LED ma trận từ A -> Z cho các bạn. Rất mong nhận được các chia sẻ góp ý nếu các bạn có các thuật toán, phương pháp điều khiển hay.
Tus này mình sẽ đi từ cơ bản nhất đến nhưng project khó hơn như điều khiển led RGB, đọc video từ thẻ nhớ, USB hiển thị lên màn hình LED
Hình trên là nguyên lí và cấu tạo của 1 con led ma trận 8×8, Với 8 chân cột và 8 chân hàng. Để làm sáng được 1 LED, chúng ta cần cấp điện áp VCC và GND vào 2 chân theo nguyên lí của bàn cơ vua. Tức là tốn 2 chân của vi điều khiển để điều khiển 1 con LED. Với tổng cộng 16 chân của led matrix chúng ta sẽ điều khiển được 16/2=8 con LED 1 lúc. Nói cách khác, trong 1 thời điểm chỉ có thể điều khiển được 8 con LED thôi. Ấy mà đếm kĩ thì có 64 con LED lận, cho nên người ta sử dụng phương phát quét LED để điều khiển hết 64 con LED này.
Kĩ thuật quét LED
Phương pháp này khá đơn giản, đầu tiển điều khiển 8 con LED thứ nhất theo hàng ngang hoặc theo cột dọc. Sau đó tắt hết đi -> điều khiển tiếp 8 con LED tiếp theo -> tắt đi -> điều khiển tiếp 8 con tiếp theo …… cứ như thế cho đến hết 64 con LED thì lặp lại. Hãy nhớ rằng tốc độ bật tắt là rất nhanh, mắt người do có sự lưu ảnh ở mắt sẽ tự gép lại thành 1 hình ảnh hoàn chỉnh.
Khoảng thời gian mà bạn bật sáng 8 con LED đầu tiên cho tới khi bật sáng 8 con LED cuối cùng là 1 chu kì quét. Lấy nghịch đảo sẽ có được tần số quét. Theo tham khảo và thực tiễn, thì tần số để quét đi quét lại hết 1 tấm matrix là 60Hz thì mắt người nhìn sẽ thấy ổn ( không bị nháy nháy hay khó chịu – giống như ảnh trên được quét với tần số 20Hz). Tuy nhiên hầu hết các camera hiện nay có tốc độ chụp khá cao nên khi dùng camera quay lại vẫn sẽ thấy sự quét của màn hình led matrix. Do vậy tần số quét khuyến khích là 120Hz.
Các màn hình máy tính hay tivi cũng sử dụng nguyên lí quét LED này. Tần số quét này trong các lĩnh vực CNTT hay đồ họa người ta còn gọi là tần số làm tươi, tần số làm mới, reset frame. Màn hình có tần số làm tươi càng cao thì sẽ có khả năng hiện được nhiều khung hình hơn, chuyển động sẽ mượt mà hơn.
Lập trình quét LED ma trận sử dụng vi điều khiển 8051
Do mới làm quen và các project đầu tiên khá đơn giản nên mình sẽ chọn vi điều khiển họ 8051 – 89s52 để giao tiếp với module LED ma trận 8×8. Trình dịch mình sử dụng là KeilC4.0 và phần mềm mô phỏng mạch Proteus. Các bạn tham khảo và tải trên Google nhé !
Do sử dụng vi điều khiển 89s52 nên yêu cầu các bạn cần chuẩn bị các kiến thức cơ bản, tối thiểu về lập trình cho dòng này ( ví dụ như đã điều khiển được các led đơn).