Placar eletrônico(futebol) arduino, matriz led 8x32 ws2812b

Estou tentando vários códigos
Mais sem êxito
Para fazer um placar eletrônico simples de futebol
5 botões
2 para cada time, aumentar e diminuir placar
1 para zerar placar

Usando arduino uno
E matriz led 8x32 ws2812b

Alguém teria algum código para esse tipo de projeto ou poderia me ajudar ?

Olá! Bem vindo ao Forum.

Quais códigos? De onde você tirou cada um deles?

Código pronto para o seu projeto será muito difícil de achar. Essa página tem um bom projeto, embora não use LEDs WS2812. Veja se te ajuda:

https://www.arduinoecia.com.br/placar-eletronico-arduino-nano-modulo-max-7219/

Use a técnica do "dividir para conquistar". Primeiro monte os botões e construa a lógica que vai controlar o placar. Depois entenda como escrever os números no painel de LEDs. Aí então junte os dois programas.

Sendo esse seu primeiro post aqui, recomendamos que você dê uma lida em Como Obter o Melhor desse Forum. Tem muitas dicas importantes lá de como fazer seu post, de modo que todos possam entender melhor o problema que você traz. Lá também mostra como postar corretamente o código que você está usando.

Mostre o codigo do seu melhor esforço e o esquematico do seu projeto e veremos onde podemos ajuda-lo.

Vi esse modelo
E gostaria de saber se seria possível substituir o módulo pelo ws2812 8x32

Em princípio sim, desde que você aprenda como usar o painel e que o seu circuito (que nós também não vimos) respeite as exigências de consumo dele.

Qual modelo?

Seria exatamente assim
Porém com a função de mudar o placar manualmente com push botão

Link do vídeo

Código

/*
Tutorial: IoT scoreboard using Teensy and ESP8266 with Blynk app
Hardware:

External libraries:

  • Blynk by Volodymyr Shymanskyy Version 0.6.1
  • Adafruit GFX Library by Adafruit Version 1.7.5
  • Adafruit NeoPixel by Adafruit Version 1.3.4
  • Adafruit NeoMatrix by Adafruit Version 1.1.4

Created by:
2 Mar 2020 Idris Zainal Abidin, Cytron Technologies
*/

#define BLYNK_PRINT Serial

#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>

char auth[] = "YourAuthToken";

char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

#define EspSerial Serial3
#define ESP8266_BAUD 115200

ESP8266 wifi(&EspSerial);

#define PIN 1

Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(32, 8, PIN,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT +
NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
NEO_GRB + NEO_KHZ800);

const uint16_t colors[] = {
matrix.Color(255, 255, 255), // White
matrix.Color(255, 0, 0), // Red
matrix.Color(0, 0, 255) // Blue
};

enum {WHITE, RED, BLUE};

int x = matrix.width();
int score1 = 0;
int score2 = 0;
boolean scoreUpdate = true;

BLYNK_WRITE(V0)
{
score1 = param.asInt();
scoreUpdate = true;
}

BLYNK_WRITE(V1)
{
score2 = param.asInt();
scoreUpdate = true;
}

BLYNK_WRITE(V2)
{
if (param.asInt()) {
score1 = 0;
Blynk.virtualWrite(0, 0);
scoreUpdate = true;
}
}

BLYNK_WRITE(V3)
{
if (param.asInt()) {
score2 = 0;
Blynk.virtualWrite(1, 0);
scoreUpdate = true;
}
}

void setup()
{
Serial.begin(9600);

delay(10);

EspSerial.begin(ESP8266_BAUD);
delay(10);

matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(60);
matrix.setTextColor(colors[WHITE]);
matrix.setCursor(7, 0);
matrix.print(F("..."));
matrix.show();

Blynk.begin(auth, wifi, ssid, pass);

// Scrolling display "Ready"
while (1) {
matrix.fillScreen(0);
matrix.setCursor(x, 0);
matrix.print(F("Ready"));
if (--x < -30) {
break;
}
matrix.show();
delay(100);
}
}

void loop()
{
Blynk.run();

if (scoreUpdate == true) {
scoreUpdate = false;

matrix.fillScreen(0);

matrix.setTextColor(colors[RED]);
matrix.setCursor(0, 0);
matrix.print(score1);

matrix.setTextColor(colors[WHITE]);
matrix.setCursor(13, 0);
matrix.print(F("-"));

matrix.setTextColor(colors[BLUE]);
if (score2 < 10) {
  matrix.setCursor(26, 0);
}
else {
  matrix.setCursor(20, 0);
}
matrix.print(score2);

matrix.show();

}
}

Se possível, edite sua mensagem e coloque ``` no começo e no final do código, pois facilita a leitura e interpretação do mesmo.

Faça como recomendou o @joneox , click em < code > e refaça seu tópico.

Veja se este codigo atende sua necessidade
Simulado em : Placar_Matriz - Wokwi ESP32, STM32, Arduino Simulator

// Adafruit_NeoMatrix example for single NeoPixel Shield.
// Scrolls 'Howdy' across the matrix in a portrait (vertical) orientation.

// 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.

#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#define PIN 8

Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(32, 8, PIN,
                            NEO_MATRIX_RIGHT     + NEO_MATRIX_RIGHT +
                            NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
                            NEO_GRB            + NEO_KHZ800);

const uint16_t colors[] = {
  matrix.Color(255, 255, 255), // White
  matrix.Color(255, 0, 0), // Red
  matrix.Color(0, 0, 255) // Blue
};
enum {WHITE, RED, BLUE};
int x1 = matrix.width();
int score1 = 0;
int score2 = 0;
boolean scoreUpdate = true;
#define score1_bt 7
#define score2_bt 6
//--------------------------------------------------------
void setup() {
  pinMode(score1_bt, INPUT_PULLUP);
  pinMode(score2_bt, INPUT_PULLUP);
  matrix.begin();
  matrix.setTextWrap(false);
  matrix.setBrightness(255);
  matrix.setTextColor(colors[RED]);
  while (1) {
    matrix.fillScreen(0);
    matrix.setCursor(x1, 0);
    matrix.print(F("Ready"));
    if (--x1 < -30) {
      break;
    }
    matrix.show();
    delay(100);
  }
}
//--------------------------------------------------------
void loop() {
  if (scoreUpdate == true) {
    scoreUpdate = false;
    matrix.fillScreen(0);
    matrix.setTextColor(colors[RED]);
    matrix.setCursor(0, 0);
    matrix.print(score1);
    matrix.setTextColor(colors[WHITE]);
    matrix.setCursor(13, 0);
    matrix.print(F("X"));
    matrix.setTextColor(colors[BLUE]);
    if (score2 < 10) {
      matrix.setCursor(26, 0);
    }
    else {
      matrix.setCursor(20, 0);
    }
    matrix.print(score2);
    matrix.show();
  }
  if (digitalRead(score1_bt) == LOW) {
    delay(30);
    if (digitalRead(score1_bt) == LOW) {
      score1++;
      scoreUpdate = true;
      while (digitalRead(score1_bt) == LOW) {}
    }
  }
  if (digitalRead(score2_bt) == LOW) {
    delay(30);
    if (digitalRead(score2_bt) == LOW) {
      score2++;
      scoreUpdate = true;
      while (digitalRead(score2_bt) == LOW) {}
    }
  }
}