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

  • #46
    Nguyên văn bởi MicroDuyphi Xem bài viết
    Việc làm hiển thị các hình ảnh đơn giản như bạn đã đưa ra thì quá dễ, đơn giản, không thể nào có hiện tượng nháy led được. Tuy nhiên, khi cho dịch chữ từ phải sang trái, có thể cách thức xử lý cần quá nhiều tài nguyên của vi điều khiển khi dùng C nên xảy ra hiện tượng nháy led.
    Quan trọng là giải thuật thôi mà.
    Last edited by nghaiha; 31-08-2008, 13:12.
    Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
    Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

    Comment


    • #47
      PHP Code:
          Bác cho em hỏikhông biết phải điều khiển 16 dòng như thế nàotại vì chỉ có một chân dữ liệu Data của SPImỗi lần gửi dữ liệu ra  thì cả hàng led8x8 phía trên và phía dưới đều nhận được dữ liệuCó thể dữ liệu sẽ hiện thị lên cả hàng trên và hàng dưới

      Em có cách sau bác thử góp ý dùm em.
      +  
      em sẽ tạo 2 mảng dữ liệuhangtren[]={156,136,112,162,72,137,130,40,138,130,47,138,130,232,139,162,40,138};
      hangduoi[]={156,136,112,162,72,137,130,40,138,130,47,138,130,232,139,162,40,138};
      em sẽ tạo 2 mảng âm bản hiện thị
       for (
      i=0;i<=23;i++){
              
      Dmem1[i]=~hangtren[i];
           
      Dmem2[i]=~hangduoi[i];
          }
      trong ngat timer
      // Timer 1 output compare A interrupt service routine
      interrupt [TIM1_COMPAvoid timer1_compa_isr(void){
          
      spi(DMem[r*5+4]); // byte thứ 4 ở hàng thứ r
          
      spi(DMem[r*5+3]); // byte thứ 3 ở hàng thứ r
          
      spi(DMem[r*5+2]); // byte thứ 2 ở hàng thứ r
          
      spi(DMem[r*5+1]); // byte thứ 1 ở hàng thứ r
          
      spi(DMem[r*5]);   // byte thứ 0 ở hàng thứ r
          
      LatchData();      //ở đây có cần chân chốt 1 không bác?
          
      PORTC=r+8;         // để Enable chú 74138 thu 1 hoat dong

          
      spi(Dmem1[r*5+4]); // byte thứ 4 ở hàng thứ r
          
      spi(Dmem1[r*5+3]); // byte thứ 3 ở hàng thứ r
          
      spi(Dmem1[r*5+2]); // byte thứ 2 ở hàng thứ r
          
      spi(Dmem1[r*5+1]); // byte thứ 1 ở hàng thứ r
          
      spi(Dmem1[r*5]);   // byte thứ 0 ở hàng thứ r
          
      LatchData();    // ở đây có cần chân chốt 2 không bác?
          
      PORTD=r+8;         // để Enable chú 74138 thu 2 hoat dong

          
      r++;
          if (
      r==8r=0;
      }


      Không biết cách này có được ko vậy bácTại em thấy dữ liệu lúc nào cũng nằm ở cả hàng led trên và dưới hếtnên rất khó hiện thị theo ý muốn

      Em thấy phần cứng trong hình vẽ bác cho nhưng không biết chi tiếtbác có thể chỉ giáo cho em để em thiết kếEm cảm ơn bácBài hơi dài

      Web:[url]www.ledviet.info/url]
      Email:
      DĐ:0949299699

      Comment


      • #48
        Nguyên văn bởi manhha2799 Xem bài viết
        PHP Code:
            Bác cho em hỏikhông biết phải điều khiển 16 dòng như thế nàotại vì chỉ có một chân dữ liệu Data của SPImỗi lần gửi dữ liệu ra  thì cả hàng led8x8 phía trên và phía dưới đều nhận được dữ liệuCó thể dữ liệu sẽ hiện thị lên cả hàng trên và hàng dưới
        Còn cái hình mà bác gửi mail cho em đâu rồi?
        Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
        Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

        Comment


        • #49
          Hình của em đây. Bác cho em hỏi nếu làm matrix 16x48 thì cách điều khiển hiển thị dữ liệu lên 16 dòng như thế nào? Bác có thể hướng dẫn sơ sơ về mạch của bác bữa hôm gửi cho em không? Thanks.
          Attached Files

          Web:[url]www.ledviet.info/url]
          Email:
          DĐ:0949299699

          Comment


          • #50
            Nguyên văn bởi manhha2799 Xem bài viết
            Hình của em đây. Bác cho em hỏi nếu làm matrix 16x48 thì cách điều khiển hiển thị dữ liệu lên 16 dòng như thế nào? Bác có thể hướng dẫn sơ sơ về mạch của bác bữa hôm gửi cho em không? Thanks.
            Về nguyên lý làm việc thì em thấy bác đã hiểu khá rõ rồi.
            Công việc bây giờ là làm sao có nhiều hơn 1 ngõ SPI.
            Có các cách sau:
            - Sử dụng MCU có nhiều hơn 1 ngõ SPI
            - Sử dụng IC phân kênh 4052
            - Sử dụng PLD (khuyên dùng GAL16V8)

            Trong đó cách thứ 2 là cách đơn giản nhất đấy.

            PS: Cái hình vẽ của bác rất chuẩn rồi đấy. Chúc mừng.
            Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
            Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

            Comment


            • #51
              Hay quá Pác ơi ! em cũng đang tìm hiểu về AVR8515 và dùng nó để làm matrix để chơi cho khoái . thanks pác nhiều nhé
              chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
              Everything should be made as simple as possible, but not simpler

              Comment


              • #52
                em hỏi cái này mấy pác ơi !
                nếu dùng con 8515 này thì có thể làm được matrix có kích thước lớn nhất là bao nhiêu (không dùng con Ram ngoài)?
                Last edited by daohuytien; 09-09-2008, 09:07.
                chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                Everything should be made as simple as possible, but not simpler

                Comment


                • #53
                  Nguyên văn bởi daohuytien Xem bài viết
                  em hỏi cái này mấy pác ơi !
                  nếu dùng con 8515 này thì có thể làm được matrix có kích thước lớn nhất là bao nhiêu (không dùng con Ram ngoài)?
                  Thế nếu dùng RAM ngoài thì theo bác kích thước lớn nhất là bao nhiêu?

                  Kích thước phụ thuộc vào rất nhiều yếu tố chẳng hạn như hiệu ứng, dữ liệu động hay tĩnh, thiết kế phần cứng đã tối ưu chưa...

                  Nói đơn giản thế này nếu chỉ làm hiệu ứng sáng hết các led rồi tắt hết hay các con led đuổi nhau thì dài được khoảng ... 1km.
                  Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
                  Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

                  Comment


                  • #54
                    to pác nghaiha

                    to pác nghaiha

                    Pác nói thế thì còn gì bằng nữa !
                    thế matrix này có thể làm hàng rào cho thành phố Hà Nội này chắc ?
                    nếu phần cứng các pác làm theo kiểu màn hình offscreen và dùng RAM ngoài cộng với cái SPI của pác nghaiha ( đối với bảng chỉ có hiệu ứng là dịch chữ sang trái không thôi ) thì cũng có khi làm được tới vài trăm cột chứ chả chơi đâu nhỉ ?
                    chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                    Everything should be made as simple as possible, but not simpler

                    Comment


                    • #55
                      Nguyên văn bởi daohuytien Xem bài viết
                      to pác nghaiha

                      Pác nói thế thì còn gì bằng nữa !
                      thế matrix này có thể làm hàng rào cho thành phố Hà Nội này chắc ?
                      nếu phần cứng các pác làm theo kiểu màn hình offscreen và dùng RAM ngoài cộng với cái SPI của pác nghaiha ( đối với bảng chỉ có hiệu ứng là dịch chữ sang trái không thôi ) thì cũng có khi làm được tới vài trăm cột chứ chả chơi đâu nhỉ ?
                      Bác hãy xem file đi kèm

                      Nếu sử dụng bộ nhớ RAM và màn hình offscreen. Lúc đó ta có thể làm hàng trăm hiệu ứng thì ATMEGA8515 chỉ quản lý nổi một bảng cỡ 16 dòng và 40 cột do bộ nhớ RAM của nó chỉ có 512 bytes.
                      Nếu sử dụng ATMEGA128 thì cũng chỉ được 16 dòng 480 cột là hết cỡ do bộ nhớ RAM của nó là 4k.
                      (Lưu ý sử dụng màn hình offscreen nên tốn gấp đôi bộ nhớ RAM, còn nếu không xài thì các kích thước ở trên nhân lên 2 lần)

                      Tuy nhiên, nếu chỉ sử dụng hiệu ứng chạy từ trái sang phải và nội dung là cố định thì nội dung này ta sẽ lưu thẳng vào bộ nhớ ROM, một mảng con trỏ (trên RAM) sẽ trỏ vào bộ nhớ ROM này. Khi muốn dịch chữ trên màn hình ta thay đổi vị trí trỏ của các con trỏ này. Cách này em đã giới thiệu trên diễn đàn.

                      Như vậy bác có thể thấy được với ATMEGA8515 (8k ROM) thì em cũng quản lý được cỡ 16 dòng 1280 cột. Một con số cũng không đến nỗi tồi đúng không ạ?
                      Attached Files
                      Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
                      Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

                      Comment


                      • #56
                        Nguyên văn bởi nghaiha Xem bài viết
                        Bác hãy xem file đi kèm

                        Nếu sử dụng bộ nhớ RAM và màn hình offscreen. Lúc đó ta có thể làm hàng trăm hiệu ứng thì ATMEGA8515 chỉ quản lý nổi một bảng cỡ 16 dòng và 40 cột do bộ nhớ RAM của nó chỉ có 512 bytes.
                        Nếu sử dụng ATMEGA128 thì cũng chỉ được 16 dòng 480 cột là hết cỡ do bộ nhớ RAM của nó là 4k.
                        (Lưu ý sử dụng màn hình offscreen nên tốn gấp đôi bộ nhớ RAM, còn nếu không xài thì các kích thước ở trên nhân lên 2 lần)

                        Không thay đổi đc nội dung của flash để dùng nó như ram à.
                        Nếu vậy thì mình nghĩ là nghaiha nên thử với PIC xem sao.
                        PIC24f là 1 giải pháp đấy.

                        Sông dài, Thuyền lớn, Biển rộng bao la.
                        Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

                        Comment


                        • #57
                          Nguyên văn bởi quoc_thaibk Xem bài viết
                          Không thay đổi đc nội dung của flash để dùng nó như ram à.
                          Nếu vậy thì mình nghĩ là nghaiha nên thử với PIC xem sao.
                          PIC24f là 1 giải pháp đấy.
                          ặc, bác không phân biệt được RAM và Flash à?

                          Trên đây là em đang nói không xài RAM ngoài thì quản lý được bao nhiêu. Còn thực tế thì không ai làm như vậy cả.

                          Cám ơn bác về lời khuyên, em đang làm lại mạch điều khiển với dsPIC33 bác ạ.
                          Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
                          Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

                          Comment


                          • #58
                            Không thay đổi đc nội dung của flash để dùng nó như ram à.
                            Có phải bạn định nói tới bootloader?
                            Đẹp từng kilomét

                            Comment


                            • #59
                              HTML Code:
                              if ((r>=0)&&(r<=7))  
                                {
                                  spi_write(nho_chu_ha[3][r-8]);
                                  spi_write(nho_chu_ha[2][r-8]);
                                  spi_write(nho_chu_ha[1][r-8]);
                                  spi_write(nho_chu_ha[0][r-8]);
                              
                                  spi_write(0b11111111);
                                  spi_write(0b11111111);
                                  spi_write(0b11111111);
                                  spi_write(0b11111111);
                                  
                                }
                                 
                                else if ((r>7)&&(r<=15))  
                                {
                                  spi_write(nho_chu_ha[3][r-8]);
                                  spi_write(nho_chu_ha[2][r-8]);
                                  spi_write(nho_chu_ha[1][r-8]);
                                  spi_write(nho_chu_ha[0][r-8]);
                                  
                                  spi_write(0b11111111);
                                  spi_write(0b11111111);
                                  spi_write(0b11111111);
                                  spi_write(0b11111111); 
                                }    
                                  LatchData();
                                  PORTD=dong[r];  
                                  r++;
                                  if (r==8)
                                  { 
                                   r=0;
                              Bác nghaiha cho em hỏi em đã làm mạch 16x32, phần cứng của em cũng nối tiếp 8 con 74HC595, chân 9 con này nối vào 14 con kia. Em chỉ dùng 1 chân spi.Từ dòng 1->8 thì em cho ở trên hiện chữ, ở dưới dòng Từ dòng 9->16 không hiện, và ngược lại. Khi em lập trình thì nửa phần đầu của nó hiện màu xanh, nửa phần sau hiện màu đỏ. Đáng lẽ đoạn code ở trên phải là đỏ hết chứ ?, hoặc là xanh hết?

                              Web:[url]www.ledviet.info/url]
                              Email:
                              DĐ:0949299699

                              Comment


                              • #60
                                Nguyên văn bởi manhha2799 Xem bài viết
                                Bác nghaiha cho em hỏi em đã làm mạch 16x32, phần cứng của em cũng nối tiếp 8 con 74HC595, chân 9 con này nối vào 14 con kia. Em chỉ dùng 1 chân spi.Từ dòng 1->8 thì em cho ở trên hiện chữ, ở dưới dòng Từ dòng 9->16 không hiện, và ngược lại. Khi em lập trình thì nửa phần đầu của nó hiện màu xanh, nửa phần sau hiện màu đỏ. Đáng lẽ đoạn code ở trên phải là đỏ hết chứ ?, hoặc là xanh hết?
                                Nguyên lý bác đã hiểu rồi, còn chuyện nó ra cái gì thì là do lỗi lập trình của mình thôi. Bác cứ bình tĩnh sẽ tìm ra nguyên nhân.
                                Như chương trình của bác, em thấy 2 lệnh if cho dòng từ 0->7 và 8->15 có khác gì nhau đâu.
                                Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
                                Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                • mèomướp
                                  Trả lời cho Công thức điện tử
                                  bởi mèomướp
                                  Dạ 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...
                                  Hôm qua, 21:21
                                • mèomướp
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi mèomướp
                                  Dạ 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...
                                  Hôm qua, 20:31
                                • yname11
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi yname11
                                  Ok , thanks bác đã chỉ...
                                  Hôm qua, 15:06
                                • nguyendinhvan
                                  Công thức điện tử
                                  bởi nguyendinhvan
                                  Sau 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
                                  ...
                                  Hôm qua, 00:35
                                • yname11
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi yname11
                                  có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
                                  25-11-2024, 22:31
                                • mèomướp
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi mèomướp
                                  Dạ ý chú là màn oled ấy ạ. Cùng chuẩn lvds cùng độ phân giải thì cắm được ạ. Còn nó mà khác thì hơi khó vì oled các điểm ảnh nó tự phát sáng chứ ko dùng đèn nền như lcd. Cháu chỉ biết đến vậy thôi ạ. Chú muốn nghịch phải tự tìm hiểu kỹ trước khi mua thôi, khó mà ông thợ nào tư vấn vụ này...
                                  25-11-2024, 22:14
                                • bactho
                                  Trả lời cho Tự làm máy đo Cuộn cảm
                                  bởi bactho
                                  Hay đấy bạn ạ. Đây có thể hiểu là máy đo cuộn dây. Tiện đây xin cho hỏi bạn có hiểu rõ về máy nạp rôm pcb 45 của hãng thiên minh không giúp mình cách cài fw của nó với vì mình vừa được anh bạn cho nhưng lại không biết cài fw nên chưa dùng được. Nếu có thể thì bạn giúp mình với...
                                  25-11-2024, 21:48
                                • yname11
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi yname11
                                  màn của mình là LCD , giờ m muốn mua màn LED để thay thế (ko muốn dùng màn LCD nữa) , lên muốn hỏi xem có cáp chuyển đổi nào có thể cắm đc màn LED vào ko , tất nhiên phải có cùng số chân pin với màn cũ rồi . VD: màn cũ là lcd mỏng , 40 pin...
                                  25-11-2024, 21:43
                                • bactho
                                  Trả lời cho các bạn giúp mình về file HEX với!!!
                                  bởi bactho
                                  Bạn vào trang phuclanshop.com ,tìm đến góc kỹ thuật. Tác giả vương khánh hưng nói rất rõ về điều bạn tìm...
                                  25-11-2024, 21:21
                                • mèomướp
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi mèomướp
                                  Dạ màn hình lcd đều có thể lai cấy cho nhau được hết ạ. Các loại cáp, bo mạch chuyển đổi lvds rất nhìu, với dòng sony còn phải nhổ cả chip nhớ của main cũ đưa lên gỗ thì mới lắp sang máy khác đc, chưa kể các bệnh về màu... ngay cả...
                                  25-11-2024, 20:43
                                Đang tải...
                                X