Thông báo

Collapse
No announcement yet.

Tutorial: Led ma trận bằng hình ảnh (completed)

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • haui0037
    replied
    Nguyên văn bởi Zz_Bi_zZ Xem bài viết
    theo bác nghaiha , tui cũng mần cái dài 1,6m .16 hàng 160 cột





    hehee .Đừng béc bẻ lỗi chính tả e nhá , e cố í ghi vậy đóa
    Hic hic.
    Kinh nhỉ.Bác làm theo bác nghaiha mà dc như thế thì em phải gọi là sư phụ đây?
    Phần cứng bác tự làm hả?Cho em ít kinh nghiệm cắm led đi.Hay lại mua modul cắm sẵn???

    Leave a comment:


  • Zz_Bi_zZ
    replied
    theo bác nghaiha , tui cũng mần cái dài 1,6m .16 hàng 160 cột





    hehee .Đừng béc bẻ lỗi chính tả e nhá , e cố í ghi vậy đóa

    Leave a comment:


  • muitenbang
    replied
    chào các bác em đang học vi điều khiển em đang phải làm một bảng quảng cáo 24*48 nhưng em không biết ghép các ma trận led caccs bác lam on giúp e nhé

    Leave a comment:


  • wish_blue07
    replied
    bạn hỏi vậy có nghĩa là sao, ha hỏi lệnh đó làm việc thế nào ah. Theo mình biết thì theo nguyên tắc quét led ma trận sẽ qua 4 bước
    - Đưa dữ liệu ra cột
    - Bật nguồn cho hàng tương ứng
    - Trễ sáng
    - Tắt nguồn cho hàng tương ứng
    Cái bạn đang hỏi đang rơi vào mục 4 đó bận ( nếu như bạn hỏi)
    Mong các bác giúp em chút, đang làm đồ án nên phải làm phiền các bác . Sr

    Leave a comment:


  • mualac_0784
    replied
    G2 = 0;//Cam dau ra cua 74138(tuong duong voi cat nguon)

    Sendbyte(XINCHAO[i]); //Gui byte thu nhat trong mang datacot ra 74595
    P0=i+8;de chan ENABLE luon o muc 1 , de no co the lam viec
    lạ j

    Leave a comment:


  • mualac_0784
    replied
    P0=i+G2 = 0;//Cam dau ra cua 74138(tuong duong voi cat nguon)
    8;de chan ENABLE luon o muc 1 , de no co the lam viec
    la j

    Leave a comment:


  • H.Hai
    replied
    Mình không biết bạn dùng 89C52 thế nào,nhưng mình làm theo bài của bác nghaiha thì chạy ngon mà.Mình gửi cho bạn xem bài mình hiển thị chữ như của bác nghaiha trên matrix 16x64.
    Attached Files
    Last edited by H.Hai; 19-09-2009, 10:55.

    Leave a comment:


  • wish_blue07
    replied
    Các bác kô ai chỉ giáo giúp em được sao, giúp 1 chút cũng được mà hay la em post chương trình lên các bác xem hộ vì sao nó kô chạy nha.
    Code:
    #include <AT89x52.h>
    #define DATA P2_0//Du lieu noi tiep ra 74595
    #define INPUT P2_1//Clock cho phep dich 74595
    #define OUTPUT P2_2//Clock cho phep chot 74595
    #define A P0_0//Dau vao A cua 74138
    #define B P0_1//Dau vao B cua 74138
    #define C P0_2//Dau vao C cua 74138
    #define ENABLE P0_3//Tin hieu cho phep dau ra cua 74138
    #define N1 100
    #define HANg P0

    // Day la mang du lieu cho cot
    unsigned char XINCHAO[] = {156,136,112,162,72,137,130,40,138,130,47,138,130, 232,139,162,40,138,156,40,114,0,0,0};
    //Khai bao cac ham con
    void Scanmatrix();
    void Sendbyte(unsigned char byte);
    void delay(unsigned int n);
    //---chuong trinh chinh--------
    void main()
    {
    while(1)
    {
    Scanmatrix();
    }
    }
    void Scanmatrix()
    {
    unsigned char i;
    for (i=0;i<64;i++)
    {
    Sendbyte(XINCHAO[i]); //Gui byte thu nhat trong mang datacot ra 74595
    P0=i+8;de chan ENABLE luon o muc 1 , de no co the lam viec
    delay(N1);
    G2 = 0;//Cam dau ra cua 74138(tuong duong voi cat nguon)
    }

    }
    void Sendbyte(unsigned char byte)
    {
    unsigned char i,temp;
    for (i=0;i<8;i++)
    {
    temp = byte & (1 << i); //Giu nguyen noi dung bit thu i
    if (temp)
    {
    DATA = 1; //Neu noi dung bit i la 1, thi out 1 ra 74595
    }
    else
    {
    DATA = 0; //Neu noi dung bit i la 0 thi out 0 ra 74595
    }
    INPUT = 1;
    INPUT = 0; //out ra 1 bit, phai co mot xung clock
    }
    OUTPUT = 1;
    OUTPUT = 0;//Dich du 8 bit thi chot mot lan
    }
    void delay(unsigned int n)
    {
    unsigned int i,j;
    for (i=0;i<n;i++)
    for (j=0;j<100;j++);
    }



    Mong các bác giúp giùm em tí , em đang làm đồ án. Hjx hjx
    Last edited by wish_blue07; 18-09-2009, 18:32. Lý do: thêm

    Leave a comment:


  • wish_blue07
    replied
    Bác nào biết tạo spi chỉ giúp với , spi dùng cho 89c52 đó. Chỉ giáo với nha vì bài đầu tiên của bác nghaiha mình cũng làm theo vậy nhưng khi mô phỏng đâu giống như bác hiển thị led xen kẻ dược đâu.

    Leave a comment:


  • congdatquan
    replied
    Bác có cáh làm chữ trên exel hay quá cảm ơn nha.khỏi phải viết ra giấy tốn mực hj

    Leave a comment:


  • haui0037
    replied
    Nguyên văn bởi dquy05 Xem bài viết
    Để dịch từ trái sang phải hay từ phải sang trái thì bạn dịch byte,đưa byte đã dịch ra cột trước khi chốt,muốn vậy thì byte1<<1 byte2>>7,sau đó dùng lệnh "hoặc" (or )ghép 2 byte này lại thành byte mới,cứ vậy ghép được 3 byte (với bài toán của bác nghaiha) chốt 1 lần được hàng thứ nhất,làm như vậy với 7 hàng còn lại,ok.trang trước có cao thủ viết rồi mà.Cùng dân Haui rồi,bạn học lớp nào thế?
    Đọc bài của bạn mình mới biết cách ghép bit
    Từ trước tới giờ đọc tới đoạn DMem[j*3+2]=(DMem[j*3+2]<<1)|(DMem[j*3]>>7); là chịu chết luôn,không hiểu đc.
    Bây giờ có hướng làm rồi.Chắc săp cho nó chạy từ trái qua phải đc rồi.hì
    Thank nha!

    Leave a comment:


  • haui0037
    replied
    Nguyên văn bởi dquy05 Xem bài viết
    Để dịch từ trái sang phải hay từ phải sang trái thì bạn dịch byte,đưa byte đã dịch ra cột trước khi chốt,muốn vậy thì byte1<<1 byte2>>7,sau đó dùng lệnh "hoặc" (or )ghép 2 byte này lại thành byte mới,cứ vậy ghép được 3 byte (với bài toán của bác nghaiha) chốt 1 lần được hàng thứ nhất,làm như vậy với 7 hàng còn lại,ok.trang trước có cao thủ viết rồi mà.Cùng dân Haui rồi,bạn học lớp nào thế?
    Mình học lớp Cơ điện tử - K2
    Nick của mình : haui0037 ,bạn add vào rồi chỉ cho mình mấy đường cơ bản

    Leave a comment:


  • typhoon
    replied
    Nguyên văn bởi haui0037 Xem bài viết
    Bạn nói vậy là không đúng rồi.Mình làm mạch giống bác nghaiha mà,cho chữ chạy từ trên xuống dưới ,từ dưới lên thì chỉ việc làm :
    khi đưa dữ liệu hàng 1 từ 74hc595 ra các cột.thay vì cho hàng 1 lên mức cao,ta sẽ đưa hàng 2 .Khi đưa dữ liệu hàng 2 ra,mình cho hàng 3 lên mức cao.... cứ thế .Còn để cho chữ chạy từ trái qua phải thì phải dịch bit gì gì đó(mình vẫn chưa cho nó chạy đc) .Mình quét theo hàng mà.
    Bác nào rảnh chỉ cho mình mấy từ như màn hình offscreen đi.mình đọc tới đó chẳng hiểu gì cả!!!
    Thì mình đã nói rùi bạn không hiểu ý . quang báo mà đã hiểu cái nguyên tắc thì làm hiệu ứng rất dễ. Cái phần cứng trong bài của nghaiha không thể quét cột được đâu bạn... có lẽ bạn mới tìm hiểu về nó nên còn nhiều điều chưa thông. Lần đầu tiên tui làm mạch về qb thiệt 16x64 dùng 89 tui chỉ cần bỏ ra chưa đến đến vài tuần để hiểu và làm được mạch chạy thiệt hiệu ứng : chạy chữ hai dòng,trái sang phải, phải trái , tren xuông, dưới lên.mà không gặp khó khăn gì... làm mạch 2 lớp bằng tay không cần mô phỏng bạn làm gì khi bạn đã chắc về điều mình làm. bạn cứ làm đi và nghiệm lại lời tôi nói nhé .

    Leave a comment:


  • dquy05
    replied
    Để dịch từ trái sang phải hay từ phải sang trái thì bạn dịch byte,đưa byte đã dịch ra cột trước khi chốt,muốn vậy thì byte1<<1 byte2>>7,sau đó dùng lệnh "hoặc" (or )ghép 2 byte này lại thành byte mới,cứ vậy ghép được 3 byte (với bài toán của bác nghaiha) chốt 1 lần được hàng thứ nhất,làm như vậy với 7 hàng còn lại,ok.trang trước có cao thủ viết rồi mà.Cùng dân Haui rồi,bạn học lớp nào thế?

    Leave a comment:


  • haui0037
    replied
    Nguyên văn bởi typhoon Xem bài viết
    Nếu bạn đã làm được từng đó hiệu ứng rồi và "thực sự hiểu" thì các hiệu ứng khác bạn hoàn toàn có thể tự nghĩ ra và chỉnh sửa code đôi chút là ổn thôi
    còn nhiều bạn chỉ copy code rồi chỉnh đôi chút mà không hiểu rõ về bản chất nó thì rất khó để tự mình viết thêm nhiều hiệu ứng..
    . khuyên bạn chỉ cần từ một hiệu ứng thôi nhưng bạn hiểu rõ cách mà bảng quang báo bạn thực hiện để tạo ra nó ra sao thì bạn sẽ làm được khá nhiều hiệu ứng khác thôi.
    Bạn nói vậy là không đúng rồi.Mình làm mạch giống bác nghaiha mà,cho chữ chạy từ trên xuống dưới ,từ dưới lên thì chỉ việc làm :
    khi đưa dữ liệu hàng 1 từ 74hc595 ra các cột.thay vì cho hàng 1 lên mức cao,ta sẽ đưa hàng 2 .Khi đưa dữ liệu hàng 2 ra,mình cho hàng 3 lên mức cao.... cứ thế .Còn để cho chữ chạy từ trái qua phải thì phải dịch bit gì gì đó(mình vẫn chưa cho nó chạy đc) .Mình quét theo hàng mà.
    Bác nào rảnh chỉ cho mình mấy từ như màn hình offscreen đi.mình đọc tới đó chẳng hiểu gì cả!!!

    Leave a comment:

Về tác giả

Collapse

nghaiha Tìm hiểu thêm về nghaiha

Bài viết mới nhất

Collapse

Đang tải...
X