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
Tags:
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 ?
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:
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() {
}
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? :)
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por