Thông báo

Collapse
No announcement yet.

Hiệu ứng LED Cube 8x8x8 (LED 3D)

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

  • #61
    A "minh _cly" ơi... em thấy bài viết của a rất hay..em không phải là dân điện tử nhưng e rất thích led cube 8x8x8 ...về phần cứng thì e tìm hiểu và có thể làm dk rồi nhưng em không biết lập trình ...a có thể gửi cho em bản code đầy đủ của mạch cube 8x8x8 như trong video của a vào gmail cho em dk không. nếu dk thì em cám ơn a nhiều lắm.
    Gmail của em là: bienhoaivan@gmail.com
    ak a ơi cho em hỏi thêm nếu e dùng con AT89C52 để điều khiển thì có dk không hay phải dùng loại khác? Thanks anh.

    Comment


    • #62
      anh minh cly cho em hỏi anh sử dung hàm Add như thế nào vậy ạ( ví dụ Add(x,y,z) cho toạ độ hiển thị led)?
      em mới vào nghề nên có hỏi những câu quá đơn giản thì mong anh đừng trách!!e cam on

      Comment


      • #63
        Anh minh_cly ơi cho em hỏi về hàm get_time cái, anh có thể cho em tham khảo code được không, em thử làm mãi cái hàm này mà toàn lỗi thôi

        Comment


        • #64
          Nguyên văn bởi bienhoaivan Xem bài viết
          A "minh _cly" ơi... em thấy bài viết của a rất hay..em không phải là dân điện tử nhưng e rất thích led cube 8x8x8 ...về phần cứng thì e tìm hiểu và có thể làm dk rồi nhưng em không biết lập trình ...a có thể gửi cho em bản code đầy đủ của mạch cube 8x8x8 như trong video của a vào gmail cho em dk không. nếu dk thì em cám ơn a nhiều lắm.
          Gmail của em là: bienhoaivan@gmail.com
          ak a ơi cho em hỏi thêm nếu e dùng con AT89C52 để điều khiển thì có dk không hay phải dùng loại khác? Thanks anh.
          Sorry, ko thể bạn àh, code của mình viết bằng C# và ko chạy trên MCU.

          Nguyên văn bởi nhson113 Xem bài viết
          anh minh cly cho em hỏi anh sử dung hàm Add như thế nào vậy ạ( ví dụ Add(x,y,z) cho toạ độ hiển thị led)?
          em mới vào nghề nên có hỏi những câu quá đơn giản thì mong anh đừng trách!!e cam on
          Hàm Add là hàm bật sáng điểm ảnh đó. Đơn giản có thể làm như thế này:
          Code:
          byte buffer[64];
          void Clear() {
          for (int i = 0; i < 64; i++)
          buffer[i] = 0; // Tắt tất cả LED để tạo frame mới
          } void Add(int x, int y, int z) {
          buffer[z*8 + y] |= (1 << x); /* Giải thích một chút // Mảng buffer là bộ đệm lưu giữ trạng thái các điểm ảnh, nói nôm na là bộ đệm màn hình // Các dữ liệu được sắp xếp thế này: // Các điểm có x giống như được lưu chung 1 byte // Các byte có chung 1 y sẽ được sắp xếp thành từng cụm 8 byte // Tất cả sẽ tổng hợp lại thành buffer. // Ai thông minh thì sẽ hiểu code thế nào ngay, ai ko thì cứ ngồi ngẫm nghĩ. Đừng hỏi về vụ này nữa. */
          } void Update() {
          // Hàm đưa bộ đệm buffer ra các LED
          } void Main() {
          while (true) {
          Update();
          Clear(); //Tính toán hiệu ứng, có hàm Add trong phần này //Tính toán thời gian đã sử dụng để tính toán, trừ đi lấy số delay cần thiết Delay(...);
          }
          }

          Nguyên văn bởi trongchi Xem bài viết
          Anh minh_cly ơi cho em hỏi về hàm get_time cái, anh có thể cho em tham khảo code được không, em thử làm mãi cái hàm này mà toàn lỗi thôi
          Có nhiều cách, người học điện tử cũng phải học lập trình cho tốt. Lấy giấy nháp ra và phác thử sơ đồ chứ ko phải cứ cắm đầu cắm cổ vào làm việc với cái máy vi tính mà ko có gì trong não.
          Computer Science major - Vietnamese-German University
          Sponsored by

          Comment


          • #65
            //Có nhiều cách, người học điện tử cũng phải học lập trình cho tốt. Lấy giấy nháp ra và phác thử sơ đồ chứ ko phải cứ cắm đầu cắm cổ vào làm việc với cái máy vi tính mà ko có gì trong não.[/QUOTE]

            Mình thay mặt các bạn trong topic này chân thành cảm ơn bạn minh cly rất nhiều!nhưng mình xin góp ý bạn một tí!đây là diễn đàn!mọi người cùng chia sẻ kiến thức cho nhau!có gì sai hoặc không vui thì mong bạn góp ý nhẹ nhàng một tí! ko nên nói như vậy gây phản cảm cho nhau! mình nói vậy thôi!có gì ko phải mong bạn bỏ qua!rất mong bạn sẽ đóng góp nhiều topic hơn nữa để xây dụng diễn đàn! cảm ơn bạn nhiếu

            Comment


            • #66
              cái này dùng pic16f877a được ko vậy ?

              Comment


              • #67
                Nguyên văn bởi k2d_nh0k Xem bài viết
                cái này dùng pic16f877a được ko vậy ?
                là mcu thì dc hết!mcu nào cũng dựa trên 1 nguyên tắc hoạt động thôi,quan trọng là tùy theo mỗi mcu mà ứng biến

                Comment


                • #68
                  cho mình xin code được không ? nhutv92@gmail.com

                  Comment


                  • #69
                    Nguyên văn bởi minh_cly Xem bài viết
                    Hiện nay, e thấy LED Cube khá là hot, và hầu hết các bạn đều pí ở một chỗ là hiệu ứng, nên e mở 2pic này nhằm giúp một số bạn biết một số hiệu ứng cơ bản cho LED Cube 8x8x8 (có thể mở rộng nếu bạn thông minh hơn một chút). Video LED Cube của mình và các hiệu ứng:

                    Có nhiều project sử dụng nhiều loại MCU khác nhau: 89xx, ATMEL, PIC, hay thậm chí là kết nối PC giống e, vì vậy, e sẽ mô tả thuật toán cơ bản trước, và sau đó là code bằng C (bạn nào xài ASM thì đổi sớm đi nhá).
                    Kết quả xuất ra của mình sẽ là một mảng chứa các điểm LED sáng, và mỗi phần tử sẽ có 3 số là x, y, z tương ứng tọa độ của LED sáng đó. Mã thêm LED sáng sẽ là Add(x, y, z). [Hy vọng các bạn hỉu đc phần này]
                    Ngoài ra mình còn sử dụng lệnh Get_time() để lấy thời gian, tùy vào compiler của bạn mà thay đổi.

                    Hiệu ứng sóng:

                    Hiệu ứng này mô tả một điểm dao động theo hàm sin làm mặt phẳng xung quanh dao động theo gây nên cảm giác sóng. Hiệu ứng này e góp nhặt trên trang instructable và đc nhiều ng xài vì tính đơn giản nhưng đẹp của nó.

                    Cơ bản về thuật toán:
                    Gọi chu kỳ sóng là T, bước sóng L, biên độ A.
                    • Chọn một điểm trong mặt phẳng xy làm gốc, đặt tên là O
                    • Quét tất cả mọi điểm trong mặt phẳng xy, gọi từng điểm là A
                    • Tính khoảng cách AO theo định lý Pytago, gọi là R
                    • Dùng công thức sóng u = A*Cos (2*PI*t/T - 2*PI*R/L)
                    • Add từng điểm vào mảng sáng

                    Vs 8x8x8, L là 7, A là 3.5, tọa độ O là (3.5, 3.5), còn T là 1s. Việc lấy t tùy vào cách các bạn lấy, có thể dùng timer, có thể đếm frame.

                    Code C:
                    Code:
                    float L = 7; // Bước sóng
                    float T = 1; // Chu kỳ
                    float A = 3.5; // Biên độ
                    float xo = 3.5; // Tọa độ điểm gốc O
                    float yo = 3.5;
                    
                    for (byte y = 0; y < 8; y++) // Quét Y
                    {
                        for (byte x = 0; x < 8; x++) // Quét X
                        {
                            float r = Sqrt(Pow(x - xo, 2) + Pow(y - yo, 2)); // Lấy bán kính, Sqrt là căn bậc 2, Pow(x, y) là x mũ y
                            float t = get_time(); // Lấy thời gian
                            byte z = (byte)(A * Cos(2*PI*t/T - 2*PI*r/L) + 3.5); // Lấy cao độ z, 3.5 là vị trí cân bằng
                            Add(x, y, z); // Lưu vị trí LED sáng
                        }
                    }
                    Ngoài ra, bạn có thể tạo ra 1 hiệu ứng sóng khác bằng một thay đổi nho nhỏ. Bằng việc di chuyển điểm O ra rất xa (cỡ 5000), chúng ta có sóng song song (điểm phát sóng rất xa), và nếu quay điểm O quay một điểm nào đó, chúng ta có hiệu ứng thú vị như sau. (Trong video là hiệu ứng số 2)

                    Code:
                    float L = 7; // Bước sóng
                    float T = 1; // Chu kỳ
                    float A = 3.5; // Biên độ
                    float ro = 5000; // Điểm O rất xa LED Cube
                    float To = 8; // Chu kỳ quay của O quanh trục
                    float xo, yo;
                    
                    float t = get_time(); //Lấy thời gian
                    xo = ro*Cos(2*PI*t/To) + 3.5; // Cho điểm O quay
                    yo = ro*Sin(2*PI*t/To) + 3.5;
                    for (byte y = 0; y < 8; y++) // Quét Y
                    {
                        for (byte x = 0; x < 8; x++) // Quét X
                        {
                            float r = Sqrt(Pow(x - xo, 2) + Pow(y - yo, 2)); // Lấy bán kính, Sqrt là căn bậc 2, Pow(x, y) là x mũ y
                            byte z = (byte)(A * Cos(2*PI*t/T - 2*PI*r/L) + 3.5); // Lấy cao độ z, 3.5 là vị trí cân bằng
                            Add(x, y, z); // Lưu vị trí LED sáng
                        }
                    }
                    Hum nay mệt quá, mai viết típ nha mọi người.

                    Bạn minh_cly ơi ! bạn có thể cho mình hỏi về hàm add(x,y,z) cụ thể là ntn không. led mình làm dùng 595 xuất ra 64 cột. 595 được điều khiển bởi 3 chân của porte. còn portC mình dùng quét 8 lớp kích bằng trans pnp, mình thử tạo 1 chương trình con để tạo điểm sáng như hàm add(x,y,z) với thời gian delay 200us nhưng vẫn không được, quét rất chậm. bạn có thể cho mình ý kiến được không . cám ơn nhiều lắm. mail mình là vanthuong129@gmail.com

                    Comment


                    • #70
                      sao hok có ai quan tâm topic này nữa vậy trời. hichic

                      Comment


                      • #71
                        sorry nhé! up cái cho mọi người thấy để giúp mình với

                        Comment


                        • #72
                          Bạn minh_cly ơi ! bạn có thể cho mình hỏi về hàm add(x,y,z) cụ thể là ntn không. led mình làm dùng 595 xuất ra 64 cột. 595 được điều khiển bởi 3 chân của porte. còn portC mình dùng quét 8 lớp kích bằng trans pnp, mình thử tạo 1 chương trình con để tạo điểm sáng như hàm add(x,y,z) với thời gian delay 200us nhưng vẫn không được, quét rất chậm. bạn có thể cho mình ý kiến được không . cám ơn nhiều lắm. mail mình là vanthuong129@gmail.com

                          Comment


                          • #73
                            b co so do nguyen ly ve mach led cu be 8x8x8 k cho m xin .gui giup qua mail m tungkdt2011.2013@gmail.com nhe .thank b

                            Comment


                            • #74
                              Bạn minh_cly ơi ! bạn có thể cho mình hỏi về hàm add(x,y,z) cụ thể là ntn không. led mình làm dùng 595 xuất ra 64 cột. 595 được điều khiển bằng giao thức SPI. còn portD mình dùng quét 8 lớp kích bằng trans pnp, bạn có thể chỉ mình hàm Add(x,y,z) được không? mình chưa hiểu lắm. cám ơn bạn nhiều nha !.mail mình là vanthuong129@gmail.com

                              Comment


                              • #75
                                Bạn minh_cly ơi ! bạn có thể cho mình hỏi về hàm add(x,y,z) cụ thể là ntn không. led mình làm dùng 595 xuất ra 64 cột. 595 được điều khiển bằng giao thức SPI. còn portD mình dùng quét 8 lớp kích bằng trans pnp, bạn có thể chỉ mình hàm Add(x,y,z) được không? mình chưa hiểu lắm. cám ơn bạn nhiều nha !.mail mình là vanthuong129@gmail.com

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                • mèomướp
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi mèomướp
                                  Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                                  Hôm qua, 13:11
                                • tuyennhan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi tuyennhan
                                  Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                                  Hôm qua, 09:25
                                • tuyennhan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi tuyennhan
                                  Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                                  Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                                  Hôm qua, 09:10
                                • Ng.Phuong.5
                                  Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                                  bởi Ng.Phuong.5
                                  Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                                  Mấy con...
                                  09-01-2025, 19:44
                                • viettinh
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi viettinh
                                  Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                                  Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                                  09-01-2025, 18:12
                                • nguyendinhvan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi nguyendinhvan
                                  Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                                  Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                                  Cách đơn giản...
                                  09-01-2025, 00:04
                                • mèomướp
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi mèomướp
                                  Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                                  08-01-2025, 19:02
                                • tuyennhan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi tuyennhan
                                  Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                                  08-01-2025, 15:43
                                • tuyennhan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi tuyennhan
                                  Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                                  08-01-2025, 15:28
                                • mèomướp
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi mèomướp
                                  Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                                  08-01-2025, 11:44
                                Đang tải...
                                X