Hướng dẫn làm mạch led ma trận 8x8
Show
Video Hướng dẫn Code mã nguồn C: include void delay(int t) // Ham tao tre t(ms)
{
int a,b;
for(a=0;a // Khai bao ma
unsigned char cot[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}, //Ma cot
hang[]={ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x03,0xED,0xEE,0xEE,0xEE,0xED,0x03,0xFF,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; // Ham chinh
void main()
{
// Khai bao bien quet cot,hang
char i,j,k;
// Vong lap vinh vien
while(1)
{
for(i=0;i<16;i++) // Quet tung ma trong mang 'hang'
{
for(j=0;j<30;j++) // Muc dich tao tre cho hien thi
{
for(k=0;k<8;k++) // Quet tu cot 1 toi cot 8
{
P1=cot[k]; // ma cot
P3=hang[k+i]; // ma hang cho led
delay(5); // tao tre cho hien thi
P1=0x00; // Xoa led
//delay(5);
}
}
} }
} Điện Tử | Tin Học - eChipKool.com - Chia sẻ kiến thức - Kết nối đam mê điện tử Hướng dẫn làm Led ma trận 8x8 chạy chữBạn đã khi nào nghĩ tới tự tạo một bảng chạy chữ bằng đèn Led? Tự tạo 1 biển quảng cáo theo phong cách của riêng mình? Điểm thú vị của đèn led này là bạn có thể tự lập trình và thay đổi bộ chữ theo ý thích của mình.Hôm nay mình xin hướng dẫn các bạn 1 bước cơ bản: Lắp đặt và lập trình cơ bản led ma trận 8x8CHUẨN BỊ:1 Bo mạnh chủ Arduino Uno 32 Modul vi điều khiển led 8x83 Dây cắm đực cáiTHỰC HIỆN1 _Lắp đặtTrên modul led 8x8 sẽ có 5 chân nối các bạn thực hiện nối như sau:Led8x8 – Arduino uno 3VCC - 5vGND - GNDDIN - 12CS - 112_ Nạp phần mềm cho modul ( Các bạn có thể tham khảo trên thêm những bài viết mình đã hướng dẫn về cách nạp )Thư viện cho module ma trận led 8x8https://github.com/wayoda/LedControlSau khi nạp thư viện các bạn có thể sử dụng code sau để chạy thử
include int DIN = 12; int CS = 11; int CLK = 10; byte e[8]= {0x7C,0x7C,0x60,0x7C,0x7C,0x60,0x7C,0x7C}; byte d[8]= {0x78,0x7C,0x66,0x66,0x66,0x66,0x7C,0x78}; byte u[8]= {0x66,0x66,0x66,0x66,0x66,0x66,0x7E,0x7E}; byte c[8]= {0x7E,0x7E,0x60,0x60,0x60,0x60,0x7E,0x7E}; byte eight[8]= {0x7E,0x7E,0x66,0x7E,0x7E,0x66,0x7E,0x7E}; byte s[8]= {0x7E,0x7C,0x60,0x7C,0x3E,0x06,0x3E,0x7E}; byte dot[8]= {0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18}; byte o[8]= {0x7E,0x7E,0x66,0x66,0x66,0x66,0x7E,0x7E}; byte m[8]= {0xE7,0xFF,0xFF,0xDB,0xDB,0xDB,0xC3,0xC3}; LedControl lc=LedControl(DIN,CLK,CS,0); void setup(){ lc.shutdown(0,false); //The MAX72XX is in power-saving mode on startup lc.setIntensity(0,15); // Set the brightness to maximum value lc.clearDisplay(0); // and clear the display } void loop(){ byte smile[8]= {0x3C,0x42,0xA5,0x81,0xA5,0x99,0x42,0x3C}; byte neutral[8]= {0x3C,0x42,0xA5,0x81,0xBD,0x81,0x42,0x3C}; byte frown[8]= {0x3C,0x42,0xA5,0x81,0x99,0xA5,0x42,0x3C}; printByte(smile); delay(1000); printByte(neutral); delay(1000); printByte(frown); delay(1000); printEduc8s(); lc.clearDisplay(0); delay(1000); } void printEduc8s() { printByte(e); delay(1000); printByte(d); delay(1000); printByte(u); delay(1000); printByte(c); delay(1000); printByte(eight); delay(1000); printByte(s); delay(1000); printByte(dot); delay(1000); printByte(c); delay(1000); printByte(o); delay(1000); printByte(m); delay(1000); } void printByte(byte character []) { int i = 0; for(i=0;i<8;i++) { lc.setRow(0,i,character[i]); } } Chúc các bạn thành công !! |