Добрый день. Залил в Mega 2560 пример для матрицы 64х32, но изображение выводиться в двух половинах 32х32 одинаковое наложенное друг на друга.
Я предполагал, что неправильно подключил. Перепроверил ещё раз. Не помогло. Матрица с интерфейсом HUB75. Думал биты адресации залипли, но нет.
ну неужели это трудно? Код (Text): #include <RGBmatrixPanel.h> #define CLK 11 // USE THIS ON ARDUINO MEGA #define OE 9 #define LAT 10 #define A A0 #define B A1 #define C A2 #define D A3 RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false, 64); void setup() { matrix.begin(); // draw a pixel in solid white matrix.drawPixel(0, 0, matrix.Color333(7, 7, 7)); delay(500); // fix the screen with green matrix.fillRect(0, 0, matrix.width(), matrix.height(), matrix.Color333(0, 7, 0)); delay(500); // draw a box in yellow matrix.drawRect(0, 0, matrix.width(), matrix.height(), matrix.Color333(7, 7, 0)); delay(500); // draw an 'X' in red matrix.drawLine(0, 0, matrix.width()-1, matrix.height()-1, matrix.Color333(7, 0, 0)); matrix.drawLine(matrix.width()-1, 0, 0, matrix.height()-1, matrix.Color333(7, 0, 0)); delay(500); // draw a blue circle matrix.drawCircle(10, 10, 10, matrix.Color333(0, 0, 7)); delay(500); // fill a violet circle matrix.fillCircle(40, 21, 10, matrix.Color333(7, 0, 7)); delay(500); // fill the screen with 'black' matrix.fillScreen(matrix.Color333(0, 0, 0)); // draw some text! matrix.setTextSize(1); // size 1 == 8 pixels high matrix.setTextWrap(false); // Don't wrap at end of line - will do ourselves matrix.setCursor(8, 0); // start at top left, with 8 pixel of spacing uint8_t w = 0; char *str = "AdafruitIndustries"; for (w=0; w<8; w++) { matrix.setTextColor(Wheel(w)); matrix.print(str[w]); } matrix.setCursor(2, 8); // next line for (w=8; w<18; w++) { matrix.setTextColor(Wheel(w)); matrix.print(str[w]); } matrix.println(); //matrix.setTextColor(matrix.Color333(4,4,4)); //matrix.println("Industries"); matrix.setTextColor(matrix.Color333(7,7,7)); matrix.println("LED MATRIX!"); // print each letter with a rainbow color matrix.setTextColor(matrix.Color333(7,0,0)); matrix.print('3'); matrix.setTextColor(matrix.Color333(7,4,0)); matrix.print('2'); matrix.setTextColor(matrix.Color333(7,7,0)); matrix.print('x'); matrix.setTextColor(matrix.Color333(4,7,0)); matrix.print('6'); matrix.setTextColor(matrix.Color333(0,7,0)); matrix.print('4'); matrix.setCursor(34, 24); matrix.setTextColor(matrix.Color333(0,7,7)); matrix.print('*'); matrix.setTextColor(matrix.Color333(0,4,7)); matrix.print('R'); matrix.setTextColor(matrix.Color333(0,0,7)); matrix.print('G'); matrix.setTextColor(matrix.Color333(4,0,7)); matrix.print('B'); matrix.setTextColor(matrix.Color333(7,0,4)); matrix.print('*'); // whew! } void loop() { // Do nothing -- image doesn't change } // Input a value 0 to 24 to get a color value. // The colours are a transition r - g - b - back to r. uint16_t Wheel(byte WheelPos) { if(WheelPos < 8) { return matrix.Color333(7 - WheelPos, WheelPos, 0); } else if(WheelPos < 16) { WheelPos -= 8; return matrix.Color333(0, 7-WheelPos, WheelPos); } else { WheelPos -= 16; return matrix.Color333(WheelPos, 0, 7 - WheelPos); } }
похоже на то. Судя по этому факту (закороченности D на землю) и по надписям на матрице - она на 8 сканов. Тогда эта библиотека и этот код не подойдут Хотя я прежде не встречал матриц высотой в 32 пикселя. чтобы они были не 16 сканов...
если у вас таких матриц много - можно попробовать подправить библиотеку. Но если одна-две - то проще купить стандартные
таких матриц много, целая видеопанель. Некоторые матрицы на панели выходят из строя. Хотел просто протестировать их.
В библиотеке RGBmatrixPanel нет поддержки 64х32. Максимум 32х32. https://www.arduino.cc/reference/en/libraries/pxmatrix-led-matrix-library/ Может это ?
Во-первых, какую именно библиотеку - их много. Какой контроллер вы используете? И во-вторых - я вряд ли смогу обьяснить на пальцах. Переделывать там нужно довольно много, причем самое сложное - что иногда приходится менять чуть ли не весь код вывода, а иногда - всего несколько строк. То есть заранее сказать нельзя. Делать это, не имея матрицы в руках - дохлый номер. Если Вы в Москве - могу взять у вас одну матрицу и попробовать запустить. Но это будет стоить где-то 7-10 тыс, в зависимости от сложности
пусть попробует. Может повезет, а может нет. Я занимаюсь этой темой два года - как оказалось, внешне похожих матриц просто дофига видов, несовместимых одна с другой. Похоже китаезы специально меняют разводку матриц, чтобы они были совместимы только с одним конкретным контроллером(в смысле не микроконтроллером, типа ардуино - а специальным контроллером для ЛЕД-матриц, которые в изобилии выпускаются китайцами)