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 Yêu thơ mê nhạc, mời các bác vào đây!bởi nhathung1101Cảm ơn lão nói hộ lòng tôi. Nhưng cái gì "ngang" quá đều có thể giải quyết = beer
Dạo này lão có thời gian không? Em gửi vé lão bay ra HN. Đúng địa chỉ "Khu Văn Công Mai Dịch" nhé. Ta tha hồ đàm hay đàn, kể cả...-
Channel: Tâm tình dân kỹ thuật
hôm nay, 16:57 -
-
Trả lời cho Dùng MC34063 để làm driver lái led 1W, 3Wbởi Nexus 6P
Chỗ AC 12V-18V là sao bác, rồi còn con D là giá trị bao nhiêu bác...-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 14:19 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamCháu xem cái này: https://www.beemusic.vn/2020/10/chu-...-ban-nhac.html
Đầu tiên cháu viết bản nhạc phải chọn ton. Thăng hay giáng quyết đinh Ton bản nhạc, nốt nhạc cuối cùng phải đúng theo khoá nhạc....-
Channel: Tâm tình dân kỹ thuật
hôm nay, 14:02 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác chỉ cặn kẽ. Vậy thêm một dấu giáng như dưới là ổn phải không bác nhỉ, nó có là fa thứ Fm được không? Hay phải thêm 4 dấu giáng ạ?...
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 11:24 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamTôi đoán bác nhathung1011 nói sai chỗ này:
- Đầu tiên cháu viết nhạc , bản nhạc khóa sol không thăng, không giáng, nốt kết thúc là nốt do thì bản nhac đó thuộc ton Đo trưởng. Đúng lý thuyết nhạc lý.
- Cháu sửa lại nốt nhạc...-
Channel: Tâm tình dân kỹ thuật
hôm nay, 10:32 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Vâng, xin được nói lời cảm ơn vì bác đã bỏ chút thời gian rảnh rỗi quí báu vào đây xem thử và nhiệt tình cho ý kiến.
Đã trót vào và thấy sai rồi thì bác mạnh dạn, ngại gì không chỉ ra giúp cái nốt sai ấy để tác giả sửa...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:46 -
-
bởi nhathung1101Wrong translate! I don't care!
-
Channel: Điện tử dành cho người mới bắt đầu
14-05-2024, 17:52 -
-
Trả lời cho Kiểm tra biến ápbởi nhathung1101Tôi viết bài này để anh em hiểu:
Cái loại Cty không có thiết bị chuyên dùng thì chỉ sang Tề Lỗ (Vĩnh Phúc) hoặc Văn Môn (Hưng Yên).
Vớ vẩn đừng trình bày....-
Channel: Điện tử dành cho người mới bắt đầu
14-05-2024, 17:42 -
-
Trả lời cho Kiểm tra biến ápbởi nhathung1101Ở trên Tề Lỗ (Vĩnh Phúc) có dịch vụ này mà. Họ cắt đôi ra rồi đếm. Hoặc tách ra rồi cân.
-
Channel: Điện tử dành cho người mới bắt đầu
14-05-2024, 17:37 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi nhathung1101Lão lại bảo thủ. Giờ giới trẻ chơi 4/5 cơ.
Nó pha tạp thành "đít cô cha" còn gọi sang chảnh là Ca bóp hay Cu bóp gì đó hay đít ...
ha ha... Già rồi không thưởng nổi.
Chứ làm gì còn thời chúng ta chứ!
...-
Channel: Tâm tình dân kỹ thuật
14-05-2024, 17:27 -
Comment