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
-
bởi k6886Điện 3 pha
Điện 3 pha là hệ thống cung cấp điện phổ biến trong công nghiệp và một số ứng dụng thương mại lớn. Hệ thống này gồm 3 dây pha (L1, L2, L3) và một dây trung tính (N), cung cấp dòng điện xoay chiều với hiệu điện...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 16:05 -
-
Trả lời cho Hỏi về test hipot cao ápbởi nguyendinhvanCách nghĩ của bạn là theo duy tâm thôi. Còn trong công việc thì phải theo duy lý.
Bạn vào goggle và gõ từ : tiêu chuẩn an toàn cách điện.
Bạn sẽ thấy vô vàn các quy định, VN cũng có , quốc tế cũng có. Mỗi vùng , mỗi khu vực,...-
Channel: Điện tử dành cho người mới bắt đầu
02-11-2024, 20:04 -
-
bởi lamvu0677Chào mọi người, ai làm về điện, đặc biệt biến áp xung, mâý con nho nhỏ gắn vào mạch nguồn, cho e hỏi tí ą, e cũng làm trong ty về biển áp thì đo kiểm thành phẩm sẽ kiểm cao áp, tức là kiểm xem có phóng điện giữa các cuộn dây với...
-
Channel: Điện tử dành cho người mới bắt đầu
01-11-2024, 21:05 -
-
bởi AaaabbbbbEm chào các anh chị ,cô chú . Em đang có 1 đề tài: Mô phỏng điều khiển động cơ 1 chiều và bộ điều khiển điện áp tự động (AVR) sử dụng MATLAB/Simulink và Arduino . Anh chị có thế giải thích hoặc định hướng giúp em với được không ạ . Em xin cảm ơn !!...
-
Channel: Vi điều khiển AVR
30-10-2024, 16:38 -
-
bởi 2embeyeuem mới nhập môn, bác nào có sơ đồ của mạch này và cách cắm mạch trên panel cho em xin với, em cảm ơn ạ
-
Channel: Điện tử dành cho người mới bắt đầu
30-10-2024, 15:52 -
-
bởi dqt21091997Hi mọi người,
Team mình hiện là đối tác phân phối cho 1 dịch vụ Proxy US chuẩn bị mở mang tên Proxy Compass. Mọi người có thể trải nghiệm ở đây: https://proxycompass.com/vi/free-trial/
Điểm mạnh của Proxy Compass là:
- 50 địa chỉ IP proxy
...-
Channel: Tổng quan về ngành viễn thông
30-10-2024, 14:46 -
-
Trả lời cho Thắc mắc về kiến thức điện xoay chiềubởi SteinsKMình nhớ là do điện AC không có chia cực cố định như DC, thêm vào đó thì ổ điện loại mà 2 lỗ thì cũng không có phân biệt chiều cắm, thành ra mình cắm chiều nào cũng được. Đây là em hiểu như vậy, có bác nào có ý kiến khác không ạ....
-
Channel: Điện tử dành cho người mới bắt đầu
30-10-2024, 09:57 -
Comment