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

  • 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


    • 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


      • 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


        • 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


          • 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


            • 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


              • 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


                • 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


                  • Đâ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.
                    http://www.youtube.com/watch?v=1P2SbcQD2bw
                    Manchester United FC forever!

                    Comment


                    • 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


                      • 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


                        • 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


                          • 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


                            • 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


                              • 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, 09: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...
                                X