Boa tarde a todos,

O meu nome é Ricardo e informo desde já que não tenho qualquer experiência com codificação ou placas arduino ou outras.... sou um iniciante a zeros...

Como sou um pouco curioso, e o clube de basquete onde joga o meu filho mais novo precisa de um placar electronico, pensei em fazer um ... talvez com um pouco de loucura ...

Então o que pretendo é um placard electronico que conte a pontuação das equipas e controle o tempo de jogo.

Medidas do placar – 42 cm X 29,5 cm ( folha A3 ) alimentado por transformador ou baterias

Medidas dos dígitos ( pontos e tempo ) – 10 cm X 5 cm em led’s ou fitas de led

 

Contador de pontos ( independente para cada equipa )

O contador de pontos será constituído por 3 digitos para cada equipa, a começar no 000 e a terminar no 999.

O contador deve ser accionado por um do botão acrescentando sempre e só um valor de cada vez.

Deverá também existir um botão para retirar valores ( um e cada vez ) em caso de engano.

Contador de tempo

                O contador de tempo ( cronómetro ) deverá ter 4 digitos e deverá funcionar em contagem decrescente.

                Deverá também, ter as seguintes opções ( recorrendo a botão ) :

                1 – Fazer reset colocando a zeros

                2 – Colocação pelo utilizador do tempo que for decidido ( o tempo não é fixo )

                3 – Quando a contagem decrescente tiver a decorrer, poder efectuar paragem de tempo e posteriormente continuar a mesma sequência.

                4 – Quando chegar a um ( 01:00 ) minuto do tempo final, o cronometro deverá contar as decimas de segundo até chegar a zero ( 00:00 )

                5 – Quando atingir os zero ( 00:00 ) acciona um buzz de 3 segundos

Espero que tenha colocado a informação toda necessário e que me possam ajudar.

Mais uma vez, não "pesco" nada do assunto ... ;)

Obrigado a todos

Ricardo Alexandre

Exibições: 17228

Responder esta

Respostas a este tópico

Boas,

Parece que vou ter de refazer as ligações dos TPIC ... a informação não está a passar do primeiro ...

Corre os numeros de 0 a 9, mas os seguintes digitos não fazem nada, ficam apagados...

Vou confirmar com o Diagrama que o José colocou o que está de errado nas minhas ligações ...

Parece que dei com o gato....

Não tinha dado continuidade dos 5v para o proximo TPIC ....

Boas,

Após algumas soldaduras aqui estão os testes:

Teste 1

https://www.youtube.com/watch?v=PwKKRsHo_AA

Teste 2

https://www.youtube.com/watch?v=o4k-qsINhzI

Boa tarde Ricardo, 

O meu circuito também esta com a contagem de tempo irregular em alguns momentos. 

Irei pesquisar. 

Se quiser testar os quatro dígitos :

http://labdegaragem.com/forum/topics/placar-eletr-nico-port-til-bas...

Bom dia Srs, 

Fez um Sketch para teste do display, usando a bilbioteca shiftdisplay. Funcionou corretamente. 

Anexei o arquivo:  Test_LedStrip.INO

Ricardo, sugiro que faça esse teste no seu display com 4 digitos. 

Obs: tive que transformar os números em caracteres, pois senão o 0000 apareceria somente com um Zero (left zero) .

// Display Test - 4 digits LED Strip - driver TPIC6B595// Arduino Nano - IDE 1.8.3// Gustavo Murta - 07/nov/2017
// http://labdegaragem.com/forum/topics/placar-eletr-nico-port-til-basquetebol
// Shiftdisplay by Miguel Pynto

#include /font>ShiftDisplay.h>

const int LATCH_PIN = 6;
const int CLOCK_PIN = 7;
const int DATA_PIN = 5;

const DisplayType DISPLAY_TYPE = INDIVIDUAL_CATHODE; // Display LED Strip
const int DISPLAY_SIZE = 4; // Display with 4 digits

ShiftDisplay display(LATCH_PIN, CLOCK_PIN, DATA_PIN, DISPLAY_TYPE, DISPLAY_SIZE);

char* testNumbers[] = {"0000", "1111", "2222", "3333", "4444", "5555", "6666", "7777", "8888", "9999"};

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

void TestNumbers ()
{
int i;
for (i = 0; i /font> 10; i = i + 1)
{
char* n = testNumbers[i];
display.set(n);
display.show();
Serial.println(n);
delay (600);
}
}

void loop()
{
TestNumbers ();
delay (600) ;
}

O arquivo sumiu , enquanto estava tentando corrigir o erro de português.

Anexei o arquivo:  Test_LedStrip.INO

Anexos

Boa tarde Miguel , 

Sua Biblioteca é bem complexa (para mim) . E parece ser completa ! Muito bom trabalho. 

Comecei a fazer testes e estudar o Sketch test.INO de 27 de outubro >

http://labdegaragem.com/forum/topics/placar-eletr-nico-port-til-bas...

A gente poderia redefinir alguns parâmetros, ou existe alguma restrição ? (Para facilitar)

const int TIMER_LATCH_PIN = 5;
const int TIMER_CLOCK_PIN = 6;
const int TIMER_DATA_PIN = 7;
const int SCORE_LATCH_PIN = 8;
const int SCORE_CLOCK_PIN = 9;
const int SCORE_DATA_PIN = 10 ;

Para funcionar corretamente mudei o tipo de display (conforme a sua orientação) 

const DisplayType DISPLAY_TYPE = INDIVIDUAL_CATHODE;

const int TIMER_DISPLAY_SIZE = 4;                        //  4 digitos para marcar tempo 


const int SCORE_SECTION_COUNT = 5;                //  7  dígitos separados em 5 seções 
const int SCORE_SECTION_SIZES[] = {2, 1, 2, 1, 1};
enum sections {
SECTION_POINTS_HOME,
SECTION_PERIOD,
SECTION_POINTS_VISIT,
SECTION_FOULS_HOME,
SECTION_FOULS_VISIT,

Como a minha montagem tem apenas 4 dígitos, farei mais testes com o seu Sketch, dividindo-o em partes. 

O timer esta com problemas - acho que é por causa do Zero à esquerda . 

A gente poderia redefinir alguns parâmetros, ou existe alguma restrição ? (Para facilitar)

Pode-se redefinir.

Eu tinha chamado ao tipo INDIVIDUAL_CATHODE devido a cada digito ser individualmente controlável, mas não é a melhor semântica, mais para a frente mudo, por enquanto para testes tá bom.

Corrigi o bug do timer, está no git. Linha 40:

int sec = (t % 6000) / 100;

De momento está a contar desde 2 minutos e meio. Ainda falta corrigir a falta de zeros à esquerda em certas ocasiões.

Boa noite, 

Estava revendo tópicos antigos .

Esse timer é bem interessante. Acho que dá para aproveitar a programação dele e adapta-la ao Scoreboard. 

http://www.ardumotive.com/countdown-timer-en.html

Citada pelo Ricardo em :

http://labdegaragem.com/forum/topics/placar-eletr-nico-port-til-bas...

Estudando e refletindo a melhor opção.

Acho que teremos que usar um RTC DS3231 para controlar toda temporização do Placar. 

1) O RTC DS3231 tem um gerador de onda quadrada que pode gerar um clock de por exemplo 1 Hz ( essa frequencia é configurável ).  A cada um segundo, todos os timers do Placar poderiam ser atualizados com precisão, através de interrupções no  Arduino.

2) O RTC tem dois alarmes configuráveis - por exemplo, acionar o alarme quando terminar um período ( 10 minutos) .     Pode controlar o tempo do Shot Clock também - 24 segundos 

3) O DS3231 já tem inúmeras Bibliotecas prontas para Arduino. É só achar a mais adequada, ou então adaptá-la.

4) O módulo DS3231 tem uma EPROM 24C32 com 4096 bytes para armazenamento de dados. 

Por exemplo , salvar todos os dados do placar no caso de falta de energia. 

O uso dos Timers do Arduino para controlar a temporização do placar, poderá tornar o Sketch  bem complexo e sujeito à falhas de temporização .

O que acham à respeito ?  No  momento estou fazendo testes com o meu Módulo DS3231 

Datasheet do RTC DS3231 :

https://datasheets.maximintegrated.com/en/ds/DS3231.pdf

Meu módulo é similar à esse :

https://produto.mercadolivre.com.br/MLB-705687190-modulo-real-time-...

Boas, Segue mais uns testes e algumas situações que me apercebi:

No BSKTB_Scoreboard_TPIC6B595_01.INO , que o José colocou, o separador do tempo acende BSKTB_Socoreboard_TPIC6B595_01 mas em todos os que fiz o download do git do Miguel não.

No Test_LedStrip.INO a verificação dá-me estes erros ( listagem abaixo ), mas fazendo o carregamento funciona

 Test_LedStrip.ino

Tambem testei o teste.ino, do Miguel, mas tenho algumas situações:

  O separador do tempo não acende

  Alterando a linha 22 para (const int DEFAULT_POINTS = 188;) o marcador de pontos do lado esquerdo tem falhas em alguns segumentos

  O marcador de posse de bola ( setas ) não acendem.

teste.ino

Já agora, é possivel colocar a buzina para verificar se toca quando o tempo chegar a zero??

Já encontrei uma que é programavel e não tem grande consumo, é usada em alarmes e funciona de 12v a 24v com um consumo de

 Video:

Banshee Multi-Tone Souder

Data sheet

Banshee Multi Tone

Erros do Test_LedStrip.INO

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

 char* testNumbers[] = {"0000", "1111", "2222", "3333", "4444", "5555", "6666", "7777", "8888", "9999"};

                                                                                                      ^

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\COMERCIAL_08\Downloads\BasketScoreboard-master\BasketScoreboard-master\Test_LedStrip\Test_LedStrip.ino:18:102: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

Creio que o problema deve estar algures nas ligações daqueles segmentos.

Para continuar os testes, apaga tudo o que está dentro do setup (linha 99 a 105) e poem:


scoreDisplay.set("0123456");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("1234567");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("2345689");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("34567890");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("45678901");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("56789012");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("67890123");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("78901234");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("89012345");
scoreDisplay.show();
delay(1000);
scoreDisplay.set("90123456");
scoreDisplay.show();
delay(1000);

verifica se em cada display todos os digitos aparecem correctamente.

Para testar as setas de posse, apaga o que estiver no setup, e poem:

setPossessionHome();

delay(1000);

setPossessionVisit();

delay(1000);

clearPossession();

delay(1000);

Depois à noite vejo da buzina.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço