Booyaaah
UUUOOOOUUUGH
Time to get lucky ooough uuough
![[ShootThemUp.png]]
this was written with phone
Лабораторная работа № 6
Вывод фигур с помощью светодиодной матрицей 8x8
Hello guys its markplier
Цель работы
В этом эксперименте мы рассмотрим каскадное подключение нескольких микросхем 74НС595, что позволит, используя 3 вывода Arduino, управлять множеством контактов, что будет продемонстрировано в примере вывода фигур на экран светодиодной матрицы 8x8.
Матрица была подключена без микросхем, в силу их отсутствия.
Диаграмма схемы(рис 1):
Рисунок 1
Код:
Массив подключенных пинов разделенных на строки и колонны.
int R[] = {2,7,A5,5,13,A4,12,A2};
int C[] = {6,11,10,3,A3,4,8,9};
Массив значении для пинов которая рисует сердце. Значение 1 означает что LED включен, а 0 отключен.
unsigned char biglove[8][8] =
{
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,
};
Массив значении для пинов которая рисует маленькое сердце.
unsigned char smalllove[8][8] =
{
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++)
{
pinMode(R[i],OUTPUT);
pinMode(C[i],OUTPUT);
}
}
void loop()
{
Вызов функции отображения рисунка.
for(int i = 0 ; i < 100 ; i++)
{
Display(biglove);
}
for(int i = 0 ; i < 50 ; i++)
{
Display(smalllove);
}
}
Назначается значение на пины, тем самым отображая рисунок на матрице.
void Display(unsigned char dat[8][8])
{
for(int c = 0; c<8;c++)
{
digitalWrite(C[c],LOW);//use thr column
//loop
for(int r = 0;r<8;r++)
{
digitalWrite(R[r],dat[r][c]);
}
delay(1);
Clear(); //Remove empty display light
}
}
Очищается матрица.
void Clear()
{
for(int i = 0;i<8;i++)
{
digitalWrite(R[i],LOW);
digitalWrite(C[i],HIGH);
}
}
Собранная схема(рис 2)
Рисунок 2