Nguyên văn bởi @bin
Xem bài viết
Thông báo
Collapse
No announcement yet.
Dùng vi điều khiển AVR hiển thị chữ chạy trên led ma trận 2 màu
Collapse
X
-
Nếu chẳng một phen sương thấm lạnh
Hoa mai đâu dễ tỏa mùi hương
-
Chào NGUYEN SINH , mình cũng từng làm 1 cái QB nho nhỏ chừng 24 hàng x160 cột x 2 màu ; mình quét theo cột nhưng thực ra thì quét theo cột hay theo dòng cũng không quan trong lắm đâu , quan trọng nhất là kỹ thuaatj quét , với " công phu " kém cõi của mình thì có thể tóm lược như sau :
Bước 1 : xác định kích thướt , công suất , hiệu ứng -> chon linh kiện (MCU, tầng công suất ,...) ,phương pháp quét led -> thiết kế mạch -> viết chương trình (1 cho MCU và 1cho PC để điều khiển MCU )-> test -> xong .
Nói nghe nó đơn giản quá nhỉ : , nhưng thực ra thì vô cung phức tạp ( mình phải mất gần 4 tháng để học hỏi , chế tạo , và sau vài lần làm hỏng tốn không ít " lúa " mới làm hoàn chỉnh được đó , : ) , mình đã làm như sau :
1- chọn MCU và phần công suất : bảng đầu tiên mình dùng at89 nó giật như uống nhầm thuốc lắc vậy ( mặt dù mình đã cố cải thiện tốc độ bằng phần cứng lẫn phần mềm ) nâng speed thì ít giật hơn nhưng mờ không thấy gì hết -> đến bảng thứ 2 mình chuyển sang xài atmega64 , đúng là một thay đổi tuyệt vời , nó chạy ngon cực ,nhìn đã lắm ! . Còn cái tầng công suất mình cũng khổ sở không ít với nó , trước mình hút dòng trực tiếp từ 74HC595 2 con cho 2 màu và A1015 để phun dòng cho mỗi đơn vị 8x8x2 màu ( không dùng đệm để tiết kiệm ) , dùng 74ls154 (có thêm 16 cổng đảo để đảo từ - -> + )quet 16 cột đệm phía sau là 4 con ULN 2803 để kéo 8x20x3 con A1015 ,mạch này chạy matran led loại 2088 là ok nhưng với 2388 thì hơi mờ , bảng thứ 2 mình dùng 74ch595 để phun dòng trực tiếp chỉ 1 con cho 1 đơn vi 8x8x2 dùng 16 con c1815+ 16 con H1061 để hút dùng cho toàn bộ bảng led ( 8 cho màu xanh và 8 cho màu đỏ ) dịch cột bằng 74hc595 luôn .
Comment
-
2- tầng điều khiển : mình chia bảng thành 3 dãy 8 dòng , mõi dãy dịch data ra bằng 74hc165 đến 74hc595 , như vậy là mình cần 4 con 165 cho cả bảng ( kể cả 1 con dich cột ) , câu hỏi đặt ra là tại sao xài 74165 mặt dù mega64 có speed rất cao -> trả lời để viết code cho gọn nhẹ và dẽ dàng xuất đồng bộ 3 dãy cùng lúc (đầu vào data của chúng nói chung tới 1 port xuát data của MCU .
3- Kỹ thuật quét : Phần này là quang trọng nhất quyết định sống còn tới led borad , như đã nói ở trên ta chia bảng led ra làm 3 dãy như vậy ta cần 6 mảng chứa data cho led board :
unsigned char red_h[160];
unsigned char red_m[160];
unsigned char red_l[160];
unsigned char green_h[160];
unsigned char green_m[160];
unsigned char green_l[160];
(hôm sau viết tiếp thằng bạn nó điện đi gấp)
Comment
-
Tiếp tục ...
như đã nói ở trên , ta cần 6 mảng đệm data cho led board , 3 cho màu đỏ và 3 cho màu xanh ,rồi viết một thủ tục để xuất data ra 1port đã chọn làm đường xuất data lúc thiết kế phần cứng ( chẳng hạn export_data() ), thủ tục này làm nhiệm vụ đặt data ra port lần lượt cho từng dãy , ví dụ :
( vidu này viết trong keil c cho at89)
void load(unsigned char data_out,unsigned char row )
{
// giả sử chân load / shift định nghĩa là sl_pinx
// xuất data ra out_port
out_port = data_out;
switch (row)
{
case 1: sl_pin1 = 0;sl_pin1 = 1;break;
case 2: sl_pin2 = 0;sl_pin2 = 1;break;
case 3: sl_pin2 = 0;sl_pin2 = 1;break;
}
}
void export()
{
unsigned char i;
for(i=0;i<=7;i++)
{
clk=1;
clk=0;
}
}
void export_data()
{
unsigned int i;
unsigned char data_out;
for(i=1;i<=160;i++)
{
// xuất data red ra port
data_out = red_h[i];
load(data_out,1);
data_out = red_m[i];
load(data_out,2);
data_out = red_l[i];
load(data_out,3);
export();
delay_ms(5) ;
// xuất data green ta làm tương tự
........
}
}
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phamPhải xem cơ cấu bơm, chứ xem cơ cấu rotor, thì chỉ làm thầy bói xem voi.
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 08:19 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11vg, cám ơn bác...........
-
Channel: Thiết bị điện tử cá nhân
Hôm qua, 14:37 -
-
bởi khoine9899
Em chào các anh và mọi người.
Hiện em đang có 1 con bơm màng trong thiết bị y tế đang gặp tình trạng yếu dần hoặc ngừng hoạt động sau thời gian sử dụng
Sau khi tìm hiểu về thông tin của bơm trên mạng thì em được biết...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 11:22 -
-
Trả lời cho Cần mọi người giúp mạch tạo sóng siêu âm máy rửabởi bqviet
-
Channel: Điện tử công suất
27-11-2024, 20:26 -
-
bởi Minhdai95Em chào mọi người, e đang sửa mạch tạo sóng siêu âm cho máy rửa mà chưa có tài liệu để tham khảo sửa, mọi người cho e xin tài liệu ạ...
-
Channel: Điện tử công suất
27-11-2024, 11:37 -
-
bởi pia2k1Cùng câu hỏi và cần được giải đáp thêm ạ...
-
Channel: Hướng dẫn sử dụng diễn đàn
27-11-2024, 11:28 -
-
Trả lời cho Công thức điện tửbởi mèomướpDạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
-
Channel: Tâm tình dân kỹ thuật
26-11-2024, 21:21 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi mèomướpDạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
-
Channel: Thiết bị điện tử cá nhân
26-11-2024, 20:31 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11Ok , thanks bác đã chỉ...
-
Channel: Thiết bị điện tử cá nhân
26-11-2024, 15:06 -
-
bởi nguyendinhvanSau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !
Chập thì thay. Cháy thì tháo
Làm thì láo. Báo thì hay
May thì khoe. Rủi thì bỏ
Thành tích nhỏ. Báo thành to
Làm cho có. Báo chi li
Sai cả li. Báo...-
Channel: Tâm tình dân kỹ thuật
26-11-2024, 00:35 -
Comment