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: 17203

Responder esta

Respostas a este tópico

Bom dia, 

Todas sirenes piezoelétricas possuem um circuito eletrônico que produz o sinal elétrico que serve para estimular o elemento para produzir o som. 

O som produzido depende exclusivamente do circuito eletrônico. 

Se deseja uma buzina com o som similar ao usado em quadras oficiais de basquete, procure uma buzina similar. 

Vai dar muito trabalho alterar o circuito, ou então desenvolver um circuito para que a buzina produza um som de quadra de basquete. 

Pelo que eu já ouvi em vídeos, o som da buzina se parece com buzina de eletromagnetos. 

Tem algum exemplo para a gente ouvir ? Link de youtube por exemplo.

Seria esse som ?

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

Boas José,

Sim o som é similar a esse do link que colocou, embora este esteja um pouco distorcido possivelmente devido a ser gravado dentro de pavilhão.

Abraços

Boas,

Miguel, a progamação a passar para o arduino do placard é a scoreboard.ino, correcto??

Abraços

Sim, mas ainda não puz no gh a nova versão do shiftdisplay que o scoreboard.ino usa.

Já tás a tentar carregar para o arduino? Amanhã preparo e ponho aqui os ficheiros, se tiver um pouco de tempo.

Boas,

Estava a pensar em começar a ver como se comporta o placard com com o software... Em relação ás ligações dos digitos das centenas, separadores do cronometro e setas de posse de bola, foram ligados nos drain07.

O esquema das ligações é este:

Anexos

Ficheiros em anexo.

Em windows, extrai ShiftDisplay.zip para C:\Users\<username>\Documents\Arduino\libraries, e scoreboard.zip para um sitio qualquer. Depois abre o ficheiro extraido scoreboard.ino e é este que fazes upload para o Arduino.

Para testar, podes por exemplo apagar tudo o que está dentro do loop(), e no final do setup() chamares as funções acima, por exemplo setPointsHome(8)

void setup() {
timerOn, buttonTimerReset = false;
possessionHome, possessionVisit = false;
timerDisplay.set("0000");

setPointsHome(8);
}

void loop() {
}

Anexos

Actualizei o scoreboard.ino https://github.com/MiguelPynto/BasketScoreboard/blob/master/scorebo..., creio que está pronto (mas não tenho como testar!!).

Só falta a parte de receber os comandos por wireless. Há novidades nesse aspecto?

Boas Miguel,

Quando faço a verificação dá esta informação:

C:\Users\COMERCIAL_08\Desktop\scoreboard\scoreboard\scoreboard.ino:25:59: warning: invalid conversion from 'int' to 'DisplayType' [-fpermissive]

ShiftDisplay TimerDisplay(DISPLAY_TYPE, TIMER_DISPLAY_SIZE);

^

In file included from C:\Users\COMERCIAL_08\Desktop\scoreboard\scoreboard\scoreboard.ino:1:0:

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src/ShiftDisplay.h:71:3: note: initializing argument 1 of 'ShiftDisplay::ShiftDisplay(DisplayType, int)'

ShiftDisplay(DisplayType displayType, int displaySize); // default pins

^

C:\Users\COMERCIAL_08\Desktop\scoreboard\scoreboard\scoreboard.ino:26:81: warning: invalid conversion from 'int' to 'DisplayType' [-fpermissive]

ShiftDisplay ScoreDisplay(DISPLAY_TYPE, SCORE_SECTION_COUNT, SCORE_SECTION_SIZES);

^

In file included from C:\Users\COMERCIAL_08\Desktop\scoreboard\scoreboard\scoreboard.ino:1:0:

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src/ShiftDisplay.h:73:3: note: initializing argument 1 of 'ShiftDisplay::ShiftDisplay(DisplayType, int, int*)'

ShiftDisplay(DisplayType displayType, int sectionCount, int sectionSizes[]); // default pins, sectioned display

^

C:\Users\COMERCIAL_08\Desktop\scoreboard\scoreboard\scoreboard.ino:26:81: warning: invalid conversion from 'const int*' to 'int*' [-fpermissive]

ShiftDisplay ScoreDisplay(DISPLAY_TYPE, SCORE_SECTION_COUNT, SCORE_SECTION_SIZES);

^

In file included from C:\Users\COMERCIAL_08\Desktop\scoreboard\scoreboard\scoreboard.ino:1:0:

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src/ShiftDisplay.h:73:3: note: initializing argument 3 of 'ShiftDisplay::ShiftDisplay(DisplayType, int, int*)'

ShiftDisplay(DisplayType displayType, int sectionCount, int sectionSizes[]); // default pins, sectioned display

^

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src\ShiftDisplay.cpp: In member function 'void ShiftDisplay::setAt(int, const byte*)':

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src\ShiftDisplay.cpp:365:62: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'byte* {aka unsigned char*}' [-fpermissive]

modifyStorage(_sectionBegins[section], sectionSize, customs);

^

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src\ShiftDisplay.cpp:116:6: note: initializing argument 3 of 'void ShiftDisplay::modifyStorage(int, int, byte*)'

void ShiftDisplay::modifyStorage(int beginIndex, int size, byte codes[]) {

^

O rascunho usa 1824 bytes (5%) do espaço de armazenamento do programa. O máximo é 32256 bytes.
Variáveis globais usam 169 bytes (8%) de memória dinâmica, restando 1879 bytes para variáveis locais. O maximo é 2048 bytes.

Na linha 4 do scoreboard.ino, substitui o int por DisplayType:

const DisplayType DISPLAY_TYPE = INDIVIDUAL_ANODE;

Boas Miguel após verificação deu mais erros e ao fazer o carregamento, por vezes a posição (a) do primeiro digito do cronometro acende, mas nem sempre..

C:\Users\COMERCIAL_08\Downloads\scoreboard\scoreboard\scoreboard.ino:26:81: warning: invalid conversion from 'const int*' to 'int*' [-fpermissive]

 ShiftDisplay scoreDisplay(DISPLAY_TYPE, SCORE_SECTION_COUNT, SCORE_SECTION_SIZES);

                                                                                 ^

In file included from C:\Users\COMERCIAL_08\Downloads\scoreboard\scoreboard\scoreboard.ino:1:0:

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src/ShiftDisplay.h:73:3: note: initializing argument 3 of 'ShiftDisplay::ShiftDisplay(DisplayType, int, int*)'

   ShiftDisplay(DisplayType displayType, int sectionCount, int sectionSizes[]); // default pins, sectioned display

   ^

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src\ShiftDisplay.cpp: In member function 'void ShiftDisplay::setAt(int, const byte*)':

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src\ShiftDisplay.cpp:365:62: warning: invalid conversion from 'const byte* {aka const unsigned char*}' to 'byte* {aka unsigned char*}' [-fpermissive]

   modifyStorage(_sectionBegins[section], sectionSize, customs);

                                                              ^

C:\Users\COMERCIAL_08\Documents\Arduino\libraries\ShiftDisplay\src\ShiftDisplay.cpp:116:6: note: initializing argument 3 of 'void ShiftDisplay::modifyStorage(int, int, byte*)'

 void ShiftDisplay::modifyStorage(int beginIndex, int size, byte codes[]) {

      ^

Corrigido. Por algum motivo o meu IDE não mostrava os warnings.

Actualiza o shiftdisplay para o que está no zip, e faz upload do test.ino para o arduino.

O que deverá acontecer é: todos os ecrãs a 0 e o cronometro a contar desde 12 minutos.

Podes mostrar em video o que acontece? :)

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço