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
Thông báo
Collapse
No announcement yet.
Hiệu ứng LED Cube 8x8x8 (LED 3D)
Collapse
X
-
Nguyên văn bởi dt1090 Xem bài viếtLàm có mà chết hả bro?
Comment
-
Mong Được mọi Người Giúp Đỡ !
Rất Mong Được Mọi Người Xem Code Góp Ý & Chỉnh lại Giúp Em Hoặc Cho Em ý Tưởng Khác Viết lại Code . Em Cảm Ơn Rất Nhiều !
Em dùng 8 con 74HC595 mắc nối tiếp Quét Cột và 1 con quét lớp. cũng Viết theo kiểu Gán khối Led Vào Trục Oxyz
Dưới Đây Là Code cho Hiệu Ứng Đầu Tiên Của Chủ Topic Em Viet lai cho VDK pic 16F877A . Do Trình kém nên ko chạy.
PHP Code:#include <main.h>
#INCLUDE <math.h>
#define rowClk PIN_D0 //Clock
#define rowDat PIN_D1 //Data
#define rowLat PIN_D2 //latch
#define colClk PIN_D3
#define colDat PIN_D4
#define colLat PIN_D5
int1 buffer_xy[64];//Mang 64 bit luu trang thai cua 64 cot
int1 buffer_z[8]; //Mang 8 Bit Luu Trang Thai Cua 8 lop
int8 x,y,z;
int8 Count,time;
#USE FAST_IO (d)
//****************************************************************************//
void interrupt_config()
{
disable_interrupts(INT_EXT); //Khong cho phep ngat ngoai hoat dong (mac dinh)
disable_interrupts(INT_RB); //Khong cho phep ngat RB hoat dong (mac dinh)
disable_interrupts(INT_CCP1); //Khong cho phep ngat CCP1 hoat dong (mac dinh)
disable_interrupts(INT_TBE); //Khong cho phep ngat TBE hoat dong (mac dinh)
disable_interrupts(INT_RDA); //Khong cho phep ngat RDA hoat dong (mac dinh)
disable_interrupts(INT_SSP); //Khong cho phep ngat SSP hoat dong (mac dinh)
disable_interrupts(INT_PSP); //Khong cho phep ngat PSP hoat dong (mac dinh)
disable_interrupts(INT_BUSCOL); //Khong cho phep ngat BUSCOL hoat dong (mac dinh)
disable_interrupts(INT_COMP); //Khong cho phep ngat COMPARATOR hoat dong (mac dinh)
enable_interrupts(GLOBAL); //Cho phep cac ngat co the hoat dong
}
void timer0_config()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256|RTCC_8_BIT); // T_tm0=T_osc*4*256
enable_interrupts(INT_TIMER0); //Cho phep ngat tran timer0 hoat dong
}
//****************************************************************************//
// Ngat Timer 0 De lay Gia Tri Time
#INT_RTCC
void ngat_timer0(void)
{
set_timer0(2);
Count++;
if(Count==46)
{
// dinh thoi 0.5s
disable_interrupts(GLOBAL);
Count=0;
if(time==99) time=0;
else time++;
enable_interrupts(GLOBAL);
}
}
//****************************************************************************//
void Send_Oxy() //Day 64 Bit vao * IC74HC595
{
int i;
//send 64 bit vao 74HC595
for(i=0;i<64;i++)
{
output_bit(colDat,buffer_xy[i]);
delay_us(1);
output_high(colClk);
output_low(colClk);
}
// Chot xuat 64 bit ra led
output_high(colLat);
output_low(colLat);
}
void Send_Oz() //Day 8 Bit Vao IC74HC595
{
int8 i;
//
for(i=0;i<8;i++)
{
output_bit(rowDat,buffer_z[i]);
delay_us(1);
output_high(rowClk);
output_low(rowClk);
}
// Chot xuat Du Lieu ra led
output_high(rowLat);
output_low(rowLat);
}
//********************************************************************/
//Ham Bat 1 bong led co toa do (x,y,z) trong khoi
void Send_Oxyz(int8 x,int8 y,int8 z)
{
buffer_xy[x+y*8]=1;//cho bit co toa do (x,y) =1
buffer_z[z]=1; //cho bit co toa do Z =1
Send_Oxy(); //
Send_Oz(); //
}
void OFF_ALL()
{
int8 i;
for(i=0;i<8;i++)
{
buffer_z[i]=0;
}
for(i=0;i<64;i++)
{
buffer_xy[i]= 0;
}
Send_Oxy();
Send_Oz();
}
//****************************************************************************//
//Ham Song Cua CHu Topic lay t Tu Timer 0
void effect_wave()
{
int8 L = 7; // Buoc song
int8 T = 1; // Chu ki
float A,xo,yo;
A = 3.5; // Bien do
xo = 3.5; // Toa do diem goc O
for ( y = 0; y < 8; y++) // Quét Y
{
for ( x = 0; x < 8; x++) // Quét X
{
float r = Sqrt(Pow(x - xo, 2) + Pow(y - yo, 2)); // Lay bán kính, Sqrt là can bac 2, Pow(x, y) là x mu y
byte z = (byte)(A * Cos(2*PI*time/T - 2*PI*r/L) + 3.5); // Lay cao do z, 3.5 là vi tri can bang
Send_Oxyz(x, y, z); // Luu vi tri LED sáng
delay_ms(1);
OFF_ALL();
}
}
}
void main()
{
interrupt_config();
timer0_config();
set_tris_d(0x00);
while(true)
{
effect_wave();
}
}
Comment
-
hình như top này bị " Thớt "...bỏ chợ rồi thì phải???? cái này có ai dùng bằng C không? mình được biết mỗi ASP.NET...nên C và C# mù tịt...thấy nó cứ khác khác kiểu gì ý.khó hiểu quá
đề nghị chủ thớt ở đâu mau hiện hình giúp đỡ nhưng ace mới tập tành vào nghề như tụi mình đi...cụ thể:
+ dùng phần mềm nào để lập trình nó, tài liệu tham khảo về phần mềm( vì thực tế các hàm, các câu lệnh bạn nói thì chúng mình biết, chứ cái nào được phần mềm cung cấp sẵn hay cái nào là do mình tự xây dựng nên bọn mình chả biết )
+ chi tiết cách gán các giá trị input, output gì gì đó ra các port--->
+ nạp và ghi ra các thanh ghi.
và nhưng lưu ý quan trọng trong quá trình lập trình......VV
Xin cảm ơn !
Comment
-
mình cũng đang làm 8x8x8.
mọi người giúp nhé.
và có 1 số video
ai chưa hiểu có thể tham khảo
https://youtu.be/qMJg2uYzdjs
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ 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ế...
-
Channel: Điện tử công suất
Hôm qua, 13:11 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanSử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 .
-
Channel: Điện tử công suất
Hôm qua, 09:25 -
-
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ở ....-
Channel: Điện thanh
Hôm qua, 09:10 -
-
bởi Ng.Phuong.5Vấ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...-
Channel: Cadence ORCAD
09-01-2025, 19:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhBá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 ...-
Channel: Điện thanh
09-01-2025, 18:12 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi nguyendinhvanTheo 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...-
Channel: Điện thanh
09-01-2025, 00:04 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ 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 ạ....
-
Channel: Điện tử công suất
08-01-2025, 19:02 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanChủ 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 ....
-
Channel: Điện tử công suất
08-01-2025, 15:43 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanLoa 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 .
-
Channel: Điện thanh
08-01-2025, 15:28 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ 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 ạ...
-
Channel: Điện thanh
08-01-2025, 11:44 -
Comment