Thông báo

Collapse
No announcement yet.

Propeller display LED !!!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Khi có ánh sáng chiếu vào nghĩa là ko có vật cản, khi ko có ánh sáng là có vật cản lại. Mức logic phải thay đổi như trong hình mới đúng

    Comment


    • vậy lỗi trên là do con led thu gây ra rồi ? em kiểm tra thi thấy con led phat vẫn hd tốt con con led thu thi chắc die rồi...
      con này em mua ngoài tiệm, 3 chân... nhưng hình như nó là đồ lấy từ xác linh kiện, ko biết lấy từ máy nào, nó có chứ X trước bóng led.
      Last edited by clover3; 27-05-2012, 18:05.

      Comment


      • Nguyên văn bởi clover3 Xem bài viết
        vậy lỗi trên là do con led thu gây ra rồi ? em kiểm tra thi thấy con led phat vẫn hd tốt con con led thu thi chắc die rồi...
        con này em mua ngoài tiệm, 3 chân... nhưng hình như nó là đồ lấy từ xác linh kiện, ko biết lấy từ máy nào, nó có chứ X trước bóng led.
        loại đó hình như chỉ đáp ứng tốt với tín hiệu có tần số 38kHz, mình cũng có thử 4 5 con 3 chân ko đc mới dùng tới led thu của chuột bi đấy, LED thu trong hộp anten xoay sài cũng đc

        Comment


        • cảm ơn anh nhiều.

          Comment


          • bác chung1608 cho em hỏi một câu rất gà:nguồn cho con chip at89c2051 lấy từ đâu?

            Comment


            • Nguyên văn bởi dtcn_112 Xem bài viết
              bác chung1608 cho em hỏi một câu rất gà:nguồn cho con chip at89c2051 lấy từ đâu?
              lần đầu tiên làm thì dùng chổi quét, lần sau thử dùng biến áp lõi không khí

              Comment


              • Nguyên văn bởi hoangnam555 Xem bài viết
                The and cơ à,hjhj.
                bác bắt bẻ wa! TA hơi kém nên sai chính tả.

                Comment


                • Nguyên văn bởi clover3 Xem bài viết
                  chào các bác. em mới làm xong led xoay thi no bi như thế này
                  Video0004 - YouTube
                  đây là bi lổi gì hả các bác.
                  bác cho em xem code em tham khảo với.

                  Comment


                  • Nguyên văn bởi cdt1k4_haui Xem bài viết
                    bác bắt bẻ wa! TA hơi kém nên sai chính tả.
                    hjhj,thấy sai nói cho biết thôi mà,cũng có lúc nhầm chứ sao!
                    ĐT: 0972 20 58 68
                    Gmail:

                    Comment


                    • Chào các anh các bạn, e cũng đang làm một cái Propeller sử dụng led RBG. E sử dụng ngắt bằng con Hall 4 chân tháo trong cái động cơ ổ CD, qua con opamp rồi đưa tín hiệu vào chân ngắt INT0 của con 89S52, ngắt rất tốt. Có thêm con DS1307 để hỗ trợ Real Time dùng làm đồng hồ treo tường (khá tốn điện nhưng chấp luôn). Ngoài ra còn sử dụng giao tiếp IR (PT2248-9) để giao tiếp với remote bên ngoài nữa.
                      Do e sử dụng led RGB nên e chọn hiển thị bằng phương pháp quét (quét 3 màu cho từng con led, quét dần xuống hết dãy led (chơi 20con luôn), quét như thế khoảng 240 lần cho hết một vòng xoay, cứ thế mà war . Hiện tại e nghĩ phương pháp này, sau này nếu chế ra phương pháp nào tốt hơn nữa thì chơi.
                      Do dùng pp quét (chứ ko xuất một lượt data cho 8 led như kiểu dùng led đơn sắc) nên e chọn Xtal 24Mhz để xử lý cho tốt hơn...(chỉ dùng 20 trans điều khiên từng led, ko có sử dụng IC đệm hay ghi dịch)
                      Nói chung là phần cứng hiện tại rất tốt, ko vấn đề gì.
                      E đã viết code test cho từng màu của led, test ngắt hall, test IR đều tốt hết.

                      ***Vấn đề hiện tại là làm sao đo được tốc độ xoay của nó (để chia ra mà tính cho việc hiển thị ấy). Nếu dùng timer đo thời gian giữa 2 lần xảy ra ngắt (1 vòng quay) thì chắc nó đã tràn cả chục lần rồi!!!...Xoay đã ko nhanh (nhưng đủ để con mắt nhìn khá tốt, sau này mua động cơ nào mạnh mạnh nhanh hơn tí nữa cho hình mượt) mà con xtal tới 24Mhz lận...Mong các anh các bạn giúp đỡ. Tks vrm!

                      Comment


                      • 4rev , tràn thì tràn thôi bác có thể cài timer 100ms sau đó cho đếm, rồi hiển thị lên port sao khi kết thúc 1 vòng quay như thế là có kết quả .thân

                        Comment


                        • Nguyên văn bởi cdt1k4_haui Xem bài viết
                          bác cho em xem code em tham khảo với.
                          đây bạn:

                          #include <at89x52.h>
                          #include<stdlib.h>
                          unsigned char code mang3[]={ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, //120


                          2, 2, 254, 2, 2, 0, //T
                          248, 16, 8, 8, 16, 0, //r
                          120, 128, 128, 128, 120, 12, 0, //u 1
                          112, 137, 138, 140, 112, 12, 0, //?
                          248, 16, 8, 8, 240, 0, //n 1
                          16, 168, 168, 168, 112, 0, //g
                          0,0,0,0,0,
                          254, 146, 146, 68, 56, 0, //Đ
                          0, 128, 0, 0, //. 4
                          254, 16, 16, 16, 254, 0, //H
                          0,0,0,0,0,
                          124, 130, 162, 194, 124, 64, 0, //Q 1
                          120, 128, 128, 128, 120, 0, //u
                          24, 160, 160, 160, 120, 0, //y
                          0,0,0,0,0,
                          254, 4, 8, 16, 254, 0, //N
                          254, 16, 8, 8, 240, 0, //h
                          112, 136, 136, 136, 112, 12, 0, //o 1
                          248, 16, 8, 8, 240, 0, //n
                          0, 16, 16, 16, 0, 0, //-
                          254, 16, 40, 68, 130, 0, //K
                          254, 16, 8, 8, 240, 0, //h
                          112, 136, 136, 136, 112, 0, //o
                          64, 168, 168, 168, 240, 0, //a
                          0,0,0,0,0,
                          254, 16, 40, 68, 130, 0, //K
                          26, 161, 161, 162, 122, 1, 0, //? 1
                          0,0,0,0,
                          8, 126, 136, 136, 64, 0, //t
                          254, 16, 8, 8, 240, 0, //h
                          120, 128, 128, 128, 120, 0, //u
                          68, 170, 169, 170, 244, 0, //â
                          8, 126, 136, 136, 64, 0, //t
                          0,0, //2
                          96, 144, 142, 150, 160, 112, 128, 0, //& 2
                          0,0, //2
                          124, 130, 130, 130, 68, 0, //C
                          116, 138, 137, 138, 116, 0, //ô
                          248, 16, 8, 8, 240, 0, //n
                          16, 168, 168, 168, 112, 0, //g
                          0,0,0,0,0,
                          248, 16, 8, 8, 240, 0, //n
                          16, 168, 168, 168, 112, 0, //g
                          254, 16, 8, 8, 240, 0, //h
                          116, 170, 169, 170, 52, 0, //ê 36chux6= 216+ 15=231+29=260+120=380
                          //================================================== ============================
                          0,0,0,0,0,
                          16, 16, 16, 16, 16,
                          0,0,0,0,0,
                          254, 128, 128, 128, 128, 0, //L
                          112, 136, 140, 138, 113, 12, 0, //? 1
                          248, 40, 40, 40, 16, 0, //p
                          0,0,0,0,
                          254, 146, 146, 130, 124, 0, //Đ
                          0, 136, 248, 136, 0, 0, //i
                          116, 170, 169, 170, 52, 0, //ê
                          248, 16, 8, 8, 240, 0, //n
                          0,0,0,0,
                          8, 126, 136, 136, 64, 0, //t
                          120, 128, 133, 131, 120, 12, 0, //? 1
                          0,
                          0, 16, 16, 16, 0, 0, //-
                          0,
                          2, 2, 254, 2, 2, 0, //T
                          248, 16, 8, 8, 16, 0, //r
                          120, 128, 128, 128, 120, 0, //u
                          24, 160, 160, 160, 120, 0, //y
                          116, 170, 169, 170, 52, 0, //ê
                          248, 16, 8, 8, 240, 0, //n
                          0,0,0,0,
                          8, 126, 136, 136, 64, 0, //t
                          254, 16, 8, 8, 240, 0, //h
                          116, 138, 137, 138, 116, 0, //ô
                          248, 16, 8, 8, 240, 0, //n
                          16, 168, 168, 168, 112, 0, //g
                          0,
                          0, 16, 16, 16, 0, 0, //-
                          0,
                          254, 16, 40, 68, 130, 0, //K
                          68, 146, 146, 146, 108, 0, //3
                          0, 204, 162, 146, 140, 0, //2
                          64, 168, 168, 168, 240, 0, //a 26 chu x6=156+2=158 +34 =192+ 380= 572
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0
                          };

                          unsigned char code mang5[]={
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          124, 130, 130, 130, 68, 0, //C
                          254, 16, 8, 8, 240, 0, //h
                          64, 168, 169, 170, 244, 0, //à
                          112, 136, 136, 136, 112, 0, //o
                          0,0,0,0,
                          248, 16, 8, 240, 8, 8, 240, 0, //m 2
                          121, 130, 132, 128, 120, 12, 0, //? 1
                          248, 16, 8, 8, 240, 0, //n
                          16, 168, 168, 168, 112, 0, //g
                          0,0,0,0,
                          112, 136, 136, 136, 80, 0, //c
                          64, 168, 170, 169, 240, 0, //á
                          112, 136, 136, 136, 80, 0, //c
                          0,0,0,0,
                          255, 144, 136, 136, 112, 0, //b
                          64, 168, 168, 168, 240, 0, //a
                          248, 16, 8, 8, 240, 0, //n
                          0,0,0,0,
                          112, 136, 138, 146, 255, 0, //d
                          116, 170, 169, 170, 52, 0, //ê
                          248, 16, 8, 8, 240, 0, //n
                          0,0,0,0,
                          24, 96, 128, 96, 24, 0, //v
                          112, 136, 140, 138, 113, 12, 0, //? 1
                          136, 248, 136, 0, //i -2
                          0,0,0,0, //
                          254, 16, 40, 68, 130, 0, //K
                          254, 16, 8, 8, 240, 0, //h
                          112, 136, 136, 136, 112, 0, //o
                          64, 168, 168, 168, 240, 0, //a
                          0,0,0,0,0,
                          254, 16, 40, 68, 130, 0, //K
                          26, 161, 161, 162, 122, 1, 0, //? 1
                          0,0,0,0,
                          8, 126, 136, 136, 64, 0, //t
                          254, 16, 8, 8, 240, 0, //h
                          120, 128, 128, 128, 120, 0, //u
                          68, 170, 169, 170, 244, 0, //â
                          8, 126, 136, 136, 64, 0, //t
                          0,0, //2
                          96, 144, 142, 150, 160, 112, 128, 0, //& 2
                          0,0, //2
                          124, 130, 130, 130, 68, 0, //C
                          116, 138, 137, 138, 116, 0, //ô
                          248, 16, 8, 8, 240, 0, //n
                          16, 168, 168, 168, 112, 0, //g
                          0,0,0,0,0,
                          248, 16, 8, 8, 240, 0, //n
                          16, 168, 168, 168, 112, 0, //g
                          254, 16, 8, 8, 240, 0, //h
                          116, 170, 169, 170, 52, 0, //ê 50x6=246+9=255+64=319+120=439
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
                          0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
                          };
                          unsigned char code mang6[]={

                          254, 18, 18, 18, 12, 0, //P
                          248, 16, 8, 8, 16, 0, //r
                          112, 136, 136, 136, 112, 0, //o
                          248, 40, 40, 40, 16, 0, //p
                          112, 168, 168, 168, 16, 0, //e
                          248, 16, 8, 8, 16, 0, //r
                          254, 0, // l -4
                          254, 0, // l -4
                          112, 168, 168, 168, 16, 0, //e
                          248, 16, 8, 8, 16, 0, //r
                          0,0,0,0,
                          112, 136, 136, 144, 255, 0, //d
                          136, 248, 136, 0, //i -2
                          144, 168, 168, 168, 64, 0, //s
                          248, 40, 40, 40, 16, 0, //p
                          254, 0, // l -4
                          64, 168, 168, 168, 240, 0, //a
                          24, 160, 160, 160, 120, 0, //y
                          0,0,0,0,
                          254, 128, 128, 128, 128, 0, //L
                          254, 146, 146, 146, 130, 0, //E
                          254, 130, 130, 130, 124, 0, //D 20x6=120-14=106+8=114, 120-114=6/2=3
                          0,0,0,0,0,0
                          };

                          unsigned int i,k=0;
                          unsigned char j,buoc=0;
                          void ngat_timer0(void) interrupt 1 using 1
                          {
                          P0_1=~P0_1;
                          TH0=0xFD;
                          TL0=0x12;
                          }
                          void ISR0 (void) interrupt 0 using 2
                          {
                          TH0=0xFD;
                          TL0=0x12;
                          TR0=1;
                          P0_1=0;
                          switch (buoc)
                          {
                          //================================================== ==============================
                          case 0:

                          for(i=k;i<(105+k);i++)
                          {
                          j=20;
                          while(j--)
                          {
                          P1=~mang3[i];
                          }
                          P1=0xff;
                          }
                          k++;
                          if (k==572)
                          {
                          buoc++;
                          k=0;
                          }

                          break;


                          //================================================== ========
                          case 1:

                          for(i=k;i<(105+k);i++)
                          {
                          j=20;
                          while(j--)
                          {
                          P1=~mang5[i];
                          }
                          P1=0xff;
                          }
                          k++;
                          if (k==439)
                          {
                          buoc++;
                          k=0;
                          }

                          break;
                          //================================================== ==============================
                          case 2:

                          for(i=0;i<120;i++)
                          {
                          j=25;
                          while(j--)
                          {
                          P1=~mang6[i];
                          }

                          }
                          // P1=0xff;
                          k++;
                          if(k==200)
                          {
                          k=0;
                          buoc++; // dung de hien thi ma code khac
                          }
                          break;

                          //================================================== =====================================
                          default:
                          {buoc=0;
                          k=0;}
                          break;
                          }
                          }
                          /*void delay(unsigned char a)
                          {
                          while(a--)
                          {
                          //unsigned char b=120;
                          //while(b--);
                          }
                          }*/

                          void main()
                          {
                          TMOD=1;
                          P1=0xff;
                          P0=0xff;
                          EA=1;
                          EX0=1;
                          ET0=1;
                          while(1)
                          {
                          //delay(1000);

                          }
                          }

                          Comment


                          • Nguyên văn bởi 4rev Xem bài viết
                            Chào các anh các bạn, e cũng đang làm một cái Propeller sử dụng led RBG. E sử dụng ngắt bằng con Hall 4 chân tháo trong cái động cơ ổ CD, qua con opamp rồi đưa tín hiệu vào chân ngắt INT0 của con 89S52, ngắt rất tốt. Có thêm con DS1307 để hỗ trợ Real Time dùng làm đồng hồ treo tường (khá tốn điện nhưng chấp luôn). Ngoài ra còn sử dụng giao tiếp IR (PT2248-9) để giao tiếp với remote bên ngoài nữa.
                            Do e sử dụng led RGB nên e chọn hiển thị bằng phương pháp quét (quét 3 màu cho từng con led, quét dần xuống hết dãy led (chơi 20con luôn), quét như thế khoảng 240 lần cho hết một vòng xoay, cứ thế mà war . Hiện tại e nghĩ phương pháp này, sau này nếu chế ra phương pháp nào tốt hơn nữa thì chơi.
                            Do dùng pp quét (chứ ko xuất một lượt data cho 8 led như kiểu dùng led đơn sắc) nên e chọn Xtal 24Mhz để xử lý cho tốt hơn...(chỉ dùng 20 trans điều khiên từng led, ko có sử dụng IC đệm hay ghi dịch)
                            Nói chung là phần cứng hiện tại rất tốt, ko vấn đề gì.
                            E đã viết code test cho từng màu của led, test ngắt hall, test IR đều tốt hết.

                            ***Vấn đề hiện tại là làm sao đo được tốc độ xoay của nó (để chia ra mà tính cho việc hiển thị ấy). Nếu dùng timer đo thời gian giữa 2 lần xảy ra ngắt (1 vòng quay) thì chắc nó đã tràn cả chục lần rồi!!!...Xoay đã ko nhanh (nhưng đủ để con mắt nhìn khá tốt, sau này mua động cơ nào mạnh mạnh nhanh hơn tí nữa cho hình mượt) mà con xtal tới 24Mhz lận...Mong các anh các bạn giúp đỡ. Tks vrm!
                            dùng 74595 chốt đi sẽ dễ hơn, tốc độ con 89 chỉ có thế, ko chốt thì phải dùng VDK dòng mạnh hơn

                            Comment


                            • Khổ cái mạch đã chế biến xong hết trơn òi anh ạ. E cũng đã xem youtube thấy người ta sử dụng latch khá nhiều. Nhưng giờ cái mạch đã thế rồi chịu chứ thay đổi lại thì cũng mệt lắm anh ạ!. Nhưng đó là phần hiển thị, có lẽ khó hơn nhưng vẫn làm đc, chỉ đang kẹt thuật toán đo tốc độ này nè a. E xài C, nhưng nếu asm e cũng xem đc dù rối hơn tí
                              thientanvt: e vẫn chưa hiểu rõ ý của anh cho lắm. Có phải mình đặt timer rồi cho nó chạy hết 1 vòng (giữa 2 lần ngắt ngoài) , nó tràn bao nhiêu mình đếm bấy nhiêu (đếm số lần tràn chứ ko đếm cái giá trị timer nữa) à.
                              Last edited by 4rev; 29-05-2012, 18:57.

                              Comment


                              • Nguyên văn bởi 4rev Xem bài viết
                                Khổ cái mạch đã chế biến xong hết trơn òi anh ạ. E cũng đã xem youtube thấy người ta sử dụng latch khá nhiều. Nhưng giờ cái mạch đã thế rồi chịu chứ thay đổi lại thì cũng mệt lắm anh ạ!. Nhưng đó là phần hiển thị, có lẽ khó hơn nhưng vẫn làm đc, chỉ đang kẹt thuật toán đo tốc độ này nè a. E xài C, nhưng nếu asm e cũng xem đc dù rối hơn tí
                                thientanvt: e vẫn chưa hiểu rõ ý của anh cho lắm. Có phải mình đặt timer rồi cho nó chạy hết 1 vòng (giữa 2 lần ngắt ngoài) , nó tràn bao nhiêu mình đếm bấy nhiêu (đếm số lần tràn chứ ko đếm cái giá trị timer nữa) à.
                                tốc độ cao thì phải lấy giá trị thanh ghi của timer để sử lý, tốc độ thấp thì đếm số lần tràn, tùy vào motor chú qua 1 vòng mất bao lâu

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X