СОЗДАВАЙТЕ ШАГ ЗА ШАГОМ

Светодиодная матрица 8×8

Узнайте, как устроена светодиодная матрица 8×8 и как управлять её строками и столбцами.

19.06.2019Уроки Arduino
Светодиодная матрица 8×8

Матрица 8×8 содержит 64 светодиода, объединённых в строки и столбцы. Управляя каждым светодиодом отдельно, Arduino может выводить символы и простую графику.

Такие дисплеи отличаются низким энергопотреблением, долгим сроком службы, высокой яркостью и широким углом обзора.

Подключение

Вывод матрицыСтрокаСтолбецArduino
1513
2712
3211
4310
58A2
65A3
76A4
83A5
912
1043
1164
1245
1316
1427
1578
1689

Строки и столбцы можно подключить к другим выводам Arduino, если изменить их назначение в программе.

//pini conectati pentru rand
int R[] = {2,7,A5,5,13,A4,12,A2};  
// pini conectati pentru coloana
int C[] = {6,11,10,3,A3,4,8,9};    
  
unsigned char biglove[8][8] =     //inima mare   
{  
  0,0,0,0,0,0,0,0,  
  0,1,1,0,0,1,1,0,  
  1,1,1,1,1,1,1,1,  
  1,1,1,1,1,1,1,1,  
  1,1,1,1,1,1,1,1,  
  0,1,1,1,1,1,1,0,  
  0,0,1,1,1,1,0,0,  
  0,0,0,1,1,0,0,0,  
};  //controlam fiecare din cele 64 leduri
  
unsigned char smalllove[8][8] =      //inima mica
{  
  0,0,0,0,0,0,0,0,  
  0,0,0,0,0,0,0,0,  
  0,0,1,0,0,1,0,0,  
  0,1,1,1,1,1,1,0,  
  0,1,1,1,1,1,1,0,  
  0,0,1,1,1,1,0,0,  
  0,0,0,1,1,0,0,0,  
  0,0,0,0,0,0,0,0,  
};  
  
void setup()  
{  
  for(int i = 0;i<8;i++)  
  // initializarea pinilor
  {  
    pinMode(R[i],OUTPUT);  
    pinMode(C[i],OUTPUT);  
  }  
}  
  
void loop()  
{  
  for(int i = 0 ; i < 100 ; i++)        //100 repetari
  {  
    Display(biglove);                   //afiseaza inima mare
  }  
  for(int i = 0 ; i < 50 ; i++)         //50 repetari
  {     
    Display(smalllove);                 //afiseaza inima mica
  }  
}  
  
void Display(unsigned char dat[8][8])    
{  
  for(int c = 0; c<8;c++)  
  {  
    digitalWrite(C[c],LOW);
    //loop
    for(int r = 0;r<8;r++)  
    {  
      digitalWrite(R[r],dat[r][c]);  
    }  
    delay(1);  
    Clear();  
  }  
}  
  
void Clear()                          
{  
  for(int i = 0;i<8;i++)  
  {  
    digitalWrite(R[i],LOW);  
    digitalWrite(C[i],HIGH);  
  }  
}

Схема проекта

Схема проекта

Необходимые детали

Платы

Arduino Uno CH340

Arduino Uno построена на базе микроконтроллера ATmega328. Платформа имеет 14 цифровых ввода/ выходов (6 из которых могут использоваться как выходы ШИМ)

✓ В наличии
250.00 lei

Обсуждение в мастерской

Начните разговор об этом проекте.

Оставьте комментарий