W naszym szkolnym Laboratorium Przyszłości poznajemy nowy element elektroniczny: Matryca LED 8x8.
Podłączenie do Arduino:
Jeśli chcesz coś wyświetlić na matrycy, musisz tylko wiedzieć, czy w określonym wierszu lub kolumnie diody są włączone lub wyłączone:
BIBLIOTEKA
Aby ułatwić sterowanie matrycą punktową, musisz pobrać i zainstalować w swoim Arduino IDE bibliotekę LedControl. Aby zainstalować bibliotekę, wykonaj następujące kroki:
Przejdź do menu Szkic.
Wybierz Dołącz biblioteki.
Przejdź do Zarządzaj bibliotekami.
Wyszukaj LedControl i zainstaluj go:
Przykładowy kod:
#include <LedControl.h> int DIN = 11; int CS = 10; int CLK = 13; LedControl lc=LedControl(DIN,CLK,CS,0); void setup(){ lc.shutdown(0,false); lc.setIntensity(0,15); lc.clearDisplay(0); } void loop(){ //Facial Expression byte smile[8]= {0x3C,0x42,0xA5,0x81,0xA5,0x99,0x42,0x3C}; byte neutral[8]= {0x3C,0x42,0xA5,0x81,0xBD,0x81,0x42,0x3C}; byte sad[8]= {0x3C,0x42,0xA5,0x81,0x99,0xA5,0x42,0x3C}; //Arrow byte arrow_up[8]= {0x18,0x3C,0x7E,0xFF,0x18,0x18,0x18,0x18}; byte arrow_down[8]= {0x18,0x18,0x18,0x18,0xFF,0x7E,0x3C,0x18}; //Alternate Pattern byte d1[8]= {0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55}; byte d2[8]= {0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA}; //Moving car byte b1[8]= {0x00,0x00,0x00,0x00,0x18,0x3C,0x18,0x3C}; byte b2[8]= {0x00,0x00,0x00,0x18,0x3C,0x18,0x3C,0x00}; byte b3[8]= {0x00,0x00,0x18,0x3C,0x18,0x3C,0x00,0x00}; byte b4[8]= {0x00,0x18,0x3C,0x18,0x3C,0x00,0x00,0x00}; byte b5[8]= {0x18,0x3C,0x18,0x3C,0x00,0x00,0x00,0x00}; byte b6[8]= {0x3C,0x18,0x3C,0x00,0x00,0x00,0x00,0x18}; byte b7[8]= {0x18,0x3C,0x00,0x00,0x00,0x00,0x18,0x3C}; byte b8[8]= {0x3C,0x00,0x00,0x00,0x00,0x18,0x3C,0x18}; //Moving car printByte(b1); delay(50); printByte(b2); delay(50); printByte(b3); delay(50); printByte(b4); delay(50); printByte(b5); delay(50); printByte(b6); delay(50); printByte(b7); delay(50); printByte(b8); delay(50); //alternate pattern printByte(d1); delay(100); printByte(d2); delay(100); //Arrow printByte(arrow_up); delay(2000); printByte(arrow_down); delay(2000); //Facial Expression printByte(smile); delay(1000); printByte(neutral); delay(1000); printByte(sad); delay(1000); } void printByte(byte character []) { int i = 0; for(i=0;i<8;i++) { lc.setRow(0,i,character[i]); } } |