ARDUINO NeoMatrix не работает

UltraGames

✩✩✩✩✩✩✩
5 Авг 2022
3
0
Я заказал на АлиЭкспресс матрицу WS2812 8x8.
Подключил к ардуино нано и залил пример сектча из гитхаба NeoMatrix, всё сработало Я изменил код на этот
Code 1:
// Adafruit_NeoMatrix example for single NeoPixel Shield.
// Scrolls 'Howdy' across the matrix in a portrait (vertical) orientation.

#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#ifndef PSTR
 #define PSTR // Make Arduino Due happy
#endif

#define PIN 6
// MATRIX DECLARATION:
// Parameter 1 = width of NeoPixel matrix
// Parameter 2 = height of matrix
// Parameter 3 = pin number (most are valid)
// Parameter 4 = matrix layout flags, add together as needed:
//   NEO_MATRIX_TOP, NEO_MATRIX_BOTTOM, NEO_MATRIX_LEFT, NEO_MATRIX_RIGHT:
//     Position of the FIRST LED in the matrix; pick two, e.g.
//     NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner.
//   NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal
//     rows or in vertical columns, respectively; pick one or the other.
//   NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed
//     in the same order, or alternate lines reverse direction; pick one.
//   See example below for these values in action.
// Parameter 5 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_GRBW    Pixels are wired for GRBW bitstream (RGB+W NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)


// Example for NeoPixel Shield.  In this application we'd like to use it
// as a 5x8 tall matrix, with the USB port positioned at the top of the
// Arduino.  When held that way, the first pixel is at the top right, and
// lines are arranged in columns, progressive order.  The shield uses
// 800 KHz (v2) pixels that expect GRB color data.
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(8, 8, PIN,
  NEO_MATRIX_TOP     + NEO_MATRIX_RIGHT +
  NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE,
  NEO_GRB            + NEO_KHZ800);

const uint16_t colors[] = {
  matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(0, 0, 255) };
int x    = matrix.width();
void setup() {
  matrix.begin();
  Serial.begin(9600);
  matrix.setTextWrap(false);
  matrix.setBrightness(255);
  matrix.setTextColor(colors[0]);
  Serial.println("Started MATRIX");
}
String input;

int pass = 0;
//void loop() {
//  while (Serial.available() == 0) {}
//  input = Serial.readString();
//  matrix.fillScreen(0);
//  matrix.setCursor(x, 0);
//  matrix.print(F("Hello"));
//  if(--x < -36) {
//    x = matrix.width();
//    matrix.setTextColor(colors[1]);
//  }
//  matrix.show();
////  Serial.println("Uploading to MATRIX - " + input);
//  delay(100);
//}
void loop() {
  while (Serial.available() == 0) {}
  input = Serial.readString();
  matrix.fillScreen(0);
  matrix.setCursor(x, 0);
  matrix.print(String(input));
  if(--x < -36) {
    x = matrix.width();
    matrix.setTextColor(matrix.Color(0, 255, 0));
  }
  matrix.show();
  Serial.println("Successfully uploaded to MATRIX - " + input);
  delay(100);
}
Теперь то горит последняя строка то ничего не работает когда пишу в монитор порта что то.
Помогите пожалуйста, что я делаю не правильно?
Спасибо.
 

Сотнег

★★★★★★★
15 Янв 2020
4,407
1,509

@UltraGames, там какой-нибудь текст бегущей строкой должен быть?
Наверное, вы делаете неправильно то,
что пытаетесь каждый цикл loop() дождаться ввода текста,
в то время как он предназначен для того, чтобы двигать текст по матрице...
 

Сотнег

★★★★★★★
15 Янв 2020
4,407
1,509
@UltraGames,
обычно в работающем коде делают изменения постепенно.
Тогда можно будет точно знать, какие строчки всё сломали.
 

UltraGames

✩✩✩✩✩✩✩
5 Авг 2022
3
0
@Сотнег, Если убрать код с Serial и вставить "Hello" все работает, но и в то же время Serial.println("Successfully uploaded to MATRIX - " + input); работает нормально

@poty, пока-что ничего не помагло
 

bort707

★★★★★★✩
21 Сен 2020
3,066
914
@UltraGames, отвечайте на вопросы так, чтобы вас можно было понять.
А иначе и начинать не стоило.