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

Collapse
This is a sticky topic.
X
X
 
  • Giờ
  • Show
Clear All
new posts
  • bravesoldier
    Thành viên tích cực
    • Apr 2009
    • 133

    #286
    Nguyên văn bởi windly Xem bài viết
    XIn Chào bác Zz_Bi_zZ, em thấy thành quả của bác thật tuyệt vời, bác cho em hỏi bác đã dùng phương pháp quét hàng hay quét cột, em cũng đã làm thử phương pháp quét hàng nhưng khi cho chữ chạy qua trái hoặc qua phải thì thấy nó lại bị nghiêng về một phía. Khi không cho chữ chạy thì thấy chữ vần thẳng đứng bình thường. Mong bác chỉ giáo giúp em khắc phục hiện tượng này nhé. Thanks so much!
    Đây là do thời gian quét mỗi hàng của bạn là hơi lớn => hàng nào quét trước sẽ ngả về trái nhiều hơn (chữ chạy từ phải qua trái). Giống như mình tạo modun 16x16 thực chất là 8x32 (2 mảng 8x16 chồng lên nhau thành 16x16) để quét 8 có hiện tượng là chữ bị gẫy đôi.
    Last edited by bravesoldier; 23-02-2010, 23:12.
    Manchester United FC forever!

    Comment

    • bravesoldier
      Thành viên tích cực
      • Apr 2009
      • 133

      #287
      Nguyên văn bởi chipheo_505
      Mấy bác cho em hỏi lam sao cho chữ chạy mềm mại được ,em sữa cái code đủ kiểu nhưng nó chạy không được êm.
      chữ chạy nhanh thì sẽ mềm, chữ chạy chậm thì sẽ giật cục - tớ đã mất 1 đêm để điều chỉnh cho cái bảng 16x64. Để chữ mềm thật sự thì khoảng cách các LED phải đủ nhỏ => tốn LED, kích thước bé. Vậy nên bạn điều chỉnh cho chữ chạy nhanh còn tuỳ theo khoảng cách quan sát nữa. Mình đã thử trên bảng 8x16 (tiny), chữ nhanh thì đứng cách 1m mắt không đọc kịp, nhưng đứng xa 10m thì đọc vô tư (vì mắt không phải liếc nhiều)
      Manchester United FC forever!

      Comment

      • Zz_Bi_zZ
        Thành viên tích cực
        • Nov 2007
        • 766

        #288
        Nguyên văn bởi bravesoldier Xem bài viết
        chữ chạy nhanh thì sẽ mềm, chữ chạy chậm thì sẽ giật cục - tớ đã mất 1 đêm để điều chỉnh cho cái bảng 16x64. Để chữ mềm thật sự thì khoảng cách các LED phải đủ nhỏ => tốn LED, kích thước bé. Vậy nên bạn điều chỉnh cho chữ chạy nhanh còn tuỳ theo khoảng cách quan sát nữa. Mình đã thử trên bảng 8x16 (tiny), chữ nhanh thì đứng cách 1m mắt không đọc kịp, nhưng đứng xa 10m thì đọc vô tư (vì mắt không phải liếc nhiều)
        có 1 cách chữ chạy châm vẫn k bị giật ... mềm như bàn tay ng í ....---> PWM

        Comment

        • bravesoldier
          Thành viên tích cực
          • Apr 2009
          • 133

          #289
          Nguyên văn bởi Zz_Bi_zZ Xem bài viết
          có 1 cách chữ chạy châm vẫn k bị giật ... mềm như bàn tay ng í ....---> PWM
          mong bác chỉ giáo về phần mềm cho anh em làm được như cái bảng của bác. thanks bác vô cùng
          Manchester United FC forever!

          Comment

          • nhti
            Thành viên chính thức
            • Sep 2008
            • 58

            #290
            các bác cho em hỏi,nếu qét theo hàng mà sử dụng một con ROM ròi lưu font vào Rom này để hiển thị đc kô?e nghĩ là kô đc phải kô các bác,vì quét hàng thì các byte dữ liệu sẻ đc lấy theo hàng như rứa một byte dữ liệu có thể có của ký tự này và ký tự khác phải kô.em lấy byte dữ liệu như của bác Hải Hà đó?

            Comment

            • thaielectric
              Thành viên tích cực
              • May 2009
              • 139

              #291
              Nguyên văn bởi Zz_Bi_zZ Xem bài viết
              có 1 cách chữ chạy châm vẫn k bị giật ... mềm như bàn tay ng í ....---> PWM
              Đọc bài này của ông mấy bữa, suy nghĩ mãi vẫn ko nghĩ ra cách của ông. Ông bày cho tôi cũng như mọi người trên diễn đàn biết cách của ông đi.
              Thanks !
              Người nhỏ bé.

              Comment

              • windly
                Thành viên mới
                • Oct 2009
                • 23

                #292
                Nguyên văn bởi bravesoldier Xem bài viết
                Đây là do thời gian quét mỗi hàng của bạn là hơi lớn => hàng nào quét trước sẽ ngả về trái nhiều hơn (chữ chạy từ phải qua trái). Giống như mình tạo modun 16x16 thực chất là 8x32 (2 mảng 8x16 chồng lên nhau thành 16x16) để quét 8 có hiện tượng là chữ bị gẫy đôi.
                Cảm ơn bác bravesoldier đã nhiệt tình chỉ giáo, vậy xin hỏi bác đã khắc phục hiện tượng gẫy chữ ở giữa như thế nào? Chân thành cảm ơn các bác

                Comment

                • bravesoldier
                  Thành viên tích cực
                  • Apr 2009
                  • 133

                  #293
                  Nguyên văn bởi windly Xem bài viết
                  Cảm ơn bác bravesoldier đã nhiệt tình chỉ giáo, vậy xin hỏi bác đã khắc phục hiện tượng gẫy chữ ở giữa như thế nào? Chân thành cảm ơn các bác
                  theo như các sư phụ trong diễn đàn thì bác nên tìm mọi cách để giảm thời gian giữa 2 lần quét hàng: hạn chế dùng if mà dùng cách truy xuất bằng con trỏ: nếu một phép tính được dùng đi dùng lại trong vòng for chẳng hạn, có tính quy luật thì tạo sẵn một mảng chứa kết quả phép tính đó để truy xuất; hạn chế phép nhân, chia, thay phép nhân 2 bằng phép dịch bit sang trái; dùng timer để quét ... Phần mềm bác mà ổn thì sẽ có cơ sở để mở rộng kích thước bảng, khi đó thì nghĩ đến việc đẩy nhanh bit ra 595 bẳng SPI hay một giải pháp phần cứng nào đó (em không biết vì không chuyên).
                  Sắp tới em sẽ mua PIC18F4550 để thay cho 16F877A trong cái hộp đèn treo ở trước cửa nhà vì theo em tài nguyên RAM ROM của nó lớn, không hạn chế kích thước mảng để xây dựng font. Em xây dựng bộ font VISCII dạng VnArial cho con 16F877A mà muốn chết vật, dùng quá nhiều lệnh if do mảng font bị chia cắt ra hơi bị nhiều, chữ còn rung giật nhiều và hơi gẫy nhè nhẹ. Mong các tiền bối có cách nào giúp anh em em với!
                  Manchester United FC forever!

                  Comment

                  • bravesoldier
                    Thành viên tích cực
                    • Apr 2009
                    • 133

                    #294
                    Đây là đoạn video vể cái board 8x16 của em dùng SPI của 16F877A, con chim (hoặc dơi) đang vẫy cánh.
                    Manchester United FC forever!

                    Comment

                    • bravesoldier
                      Thành viên tích cực
                      • Apr 2009
                      • 133

                      #295
                      Và đây là code
                      Code:
                      #include <16F877A.h>
                      #include <DEFS_16F877A.h>
                      #device *=16 ADC=8
                      #fuses NOWDT,XT,NOLVP,NOPROTECT,NOBROWNOUT,NODEBUG,NOPUT
                      #use delay(clock=4000000)
                      
                      #use fast_io(b)
                      #byte portb=0x06
                      #use fast_io(d)
                      #byte portd=0x08
                      #bit SCL=portb.0
                      #bit OE=portb.1
                      
                      #include <birddata3.c>
                      byte r=0;
                      byte frame=0;
                      
                      //--------------------------------------------------------
                      void latch() {SCL=0; SCL=1;}
                      //--------------------------------------------------------
                      
                      
                      #int_timer0
                      void interrupt_timer0()
                      {
                       set_timer0(6);
                       
                       OE=0;
                       spi_write(birdat[(r<<1)+1+(frame<<4)]); spi_write(birdat[(r<<1)+(frame<<4)]);
                       latch();
                       portd=r;
                       OE=1;
                       r++;
                       if (r==8)r=0;
                      }
                      
                      
                      //--------------------------------------------------------
                      void main()
                      {
                       byte sign;
                       
                       setup_spi(spi_master|spi_h_to_l|spi_clk_div_16);
                       set_tris_b(0);
                       set_tris_d(0);
                       delay_ms(1000);
                       SCL=1;
                       
                       enable_interrupts(int_timer0);
                       setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
                       enable_interrupts(global);
                       set_timer0(6);
                       
                       //------------------------------------
                       
                       sign=1;
                       while(true)
                        {
                         if (sign==1)frame++;else frame--;
                         delay_ms(30);
                         if (frame==7)sign=2;
                         if (frame==0)sign=1;
                        }
                      }
                      đây là file birddata3.c http://www.mediafire.com/file/m0ntmyyhtwm/birddata3.c
                      Last edited by bravesoldier; 08-03-2010, 20:51.
                      Manchester United FC forever!

                      Comment

                      • bockhoi
                        Thành viên mới
                        • Nov 2007
                        • 13

                        #296
                        Các bác ơi cho em hỏi cái modun LED một màu 16 x 32 của thằng TQ nó bố chí chân kiểu gì í nhỉ ?
                        Em thấy nó có 2 jắc để cắm cáp tín hiệu, mỗi jắc khoảng chục chân, trên mỗi jắc chỉ có 5 chân có kí hiệu là: A, B, O, clk , Sck, vậy các chân còn lại là chân gì ? Chân C, D, là chân nào?
                        Bác nào có sơ đồ chân của mấy thằng modun LED đó, thì chỉ cho em với.
                        Em xin cảm ơn nhiều.

                        Comment

                        • nhti
                          Thành viên chính thức
                          • Sep 2008
                          • 58

                          #297
                          cái module của TQ này mình có làm ròi,nếu bạn dùng PSOC thì mình sẻ gửi cho,nó có 2 hàng 16 chân ở đầu vào và 2 hàng chân 16 đầu ra, nhưng chỉ sử dụng có 6 chân thoi, 2 chân để chọn hàng A B,vì thằng nằy quét 4 hàng thoi,3 chân spi, 1 chân là OE của 74138,

                          Comment

                          • bockhoi
                            Thành viên mới
                            • Nov 2007
                            • 13

                            #298
                            Cám ơn bác nhti rất nhiều!
                            Đúng rồi nó có 2 hàng 16 chân. và module có 16 hàng LED, nhưng bác bảo:
                            2 chân để chọn hàng A B,vì thằng nằy quét 4 hàng thôi
                            nghĩa là như thế nào ạ bác?
                            Bác hướng dẫn cho em cách chọn hàng của module này với.
                            Em xin chan thành cảm ơn!

                            Comment

                            • nhti
                              Thành viên chính thức
                              • Sep 2008
                              • 58

                              #299
                              to bác bockhoi: nó dùng một con 74138 để giải mã mà.chắc con này bác biết chứ.

                              Comment

                              • linuslu
                                Thành viên mới
                                • Jan 2010
                                • 4

                                #300
                                Công Thức tính tổng Cột và hàng cho Font Matrix trong Ễcl

                                Dựa theo ví dụ tao chữ cho Matrix trên diễn đàn mình có lập công thức tính Tổng số hàng và cột cần tính cho bảng font Matrix. Nay mạo muội gởi lên diên đàn để các bạn sử dụng tạm để tính bảng Mã cho đỡ mệt. Mình làm bảng mở rộng lên đến 16X64, các bạn có thể mở rộng hoăc thu nhỏ lai. Mở rộng thì Copy công thức thêm ra. Bảng tinh mình gởi theo file đính kèm.
                                Last edited by linuslu; 29-03-2010, 08:32.

                                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...