// библиотека для работы с матрицей #include // установите и скачайте также библиотеку «Adafruit GFX Library» // «RGBmatrixPanel» наследуется от «Adafruit GFX Library» // управляющие пины матрицы #define CLK 11 #define OE 9 #define LAT 10 #define A A0 #define B A1 #define C A2 #define D A3 // объявляем объект для работы с матрицей 64х32 // включаем двойную буферизацию RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, true, 64); // выводимая строка на матрицу const char textStr[] = "Hello, World!"; // переменная с X-координатой текста int textX = matrix.width(); // минимальное значение координаты текста // количество символов в строке умноженное на ширину одного символа, // после которой текст начнёт повторно выводиться int textMin = sizeof(textStr) * -6; void setup() { randomSeed(analogRead(A5)); // инициируем работу с матрицей matrix.begin(); // отключаем перенос текста на следующую строку matrix.setTextWrap(false); // устанавливаем размер текста matrix.setTextSize(1); // очищаем экран matrix.fillScreen(0); // выставляем курсор matrix.setCursor(10, 0); // печатаем первую строку matrix.println("Amperka"); // выставляем курсор matrix.setCursor(0, 15); // выводимая вторая строка char strText[] = "LED MATRIX!"; // перебираем по очереди каждый символ for (int i = 0; i < strlen(strText); i++) { // генерируем случайное число от 0 до 1536 int hue = random(0, 1536); // устанавливаем случайный цвет по шкале «HSV» matrix.setTextColor(matrix.ColorHSV(hue, 255, 255, false)); // печатаем символ текущего цикла matrix.print(strText[i]); } // выводим текст из буфера на матрицу matrix.swapBuffers(false); } void loop() { }