Estou querendo fazer um marcador de pontos digital utilizando 2 display de 7 segmentos para o pebolim do meu filho contento 2 botões para marcar os pontos um botao para cada display e 2 botoes reset para resetar um para cada display que seria jodador 1 e jogador 2 algo bem simples!
achei um sketch na net e um codigo apenas de um display alguem poderia me ajudar a adicionar mais um, não manjo de programar arduino.
#define CONTAR 8 // pino onde será conectado a tecla de contagem
#define MODO 9 // pino onde será conectado a tecla de modo
byte tabela_7_seg [16] = {
B01111110, // = Digito 0
B00001100, // = Digito 1
B10110110, // = Digito 2
B10011110, // = Digito 3
B11001100, // = Digito 4
B11011010, // = Digito 5
B11111010, // = Digito 6
B00001110, // = Digito 7
B11111110, // = Digito 8
B11001110, // = Digito 9
B11101110, // = Digito A
B11111000, // = Digito B
B01110010, // = Digito C
B10111100, // = Digito D
B11110010, // = Digito E
B11100010 // = Digito F
};
int contagem = 9, inc_dec =1;
void setup()
{
//Configura os pinos digitais de 1 até 7 como saída digital
DDRD = B11111110;
//Configura os pinos onde os botões estão conectados
pinMode(CONTAR, INPUT);
pinMode(MODO, INPUT);
}
void loop()
{
// Lê o botão de Contagem
if (digitalRead(CONTAR)== LOW)
{
contagem += inc_dec;
//Reseta a contagem em caso de estouro
if (contagem < 0)
{
contagem = 15;
}
if (contagem > 15)
{
contagem = 0;
}
//Aguarda a tecla de contagem ser solta
while(digitalRead(CONTAR)== LOW)
{
}
}
// Lê o botão que seleciona MODO
if(digitalRead(MODO)== LOW)
{
//Inverte o modo de operação do contador
inc_dec = inc_dec * (-1);
//Aguarda a tecla de MODO ser solta
while(digitalRead(MODO)== LOW){
}
}
//Busca o valor da contagem na matriz que decodifica os 7 segmentos e envia para o display
PORTD = tabela_7_seg[contagem];
delay(50);
}
Tags:
Rui vi as mudanças feitas acho que agora vai dar certo, porem vi que vc colocou o define apaga no pino 14, uso arduino uno e nao tenho essa saida, posso mudar para qual pino, pode ser no Tx1 ou Rx0! Desde de ja agradeço pela ajuda
Rui caso quando um dos jogadores chegasse no 9º ponto e marcasse mais um ponto pressionaria o botão mais uma vez zerando os dois display, para uma nova partida isso dispensaria o botao "apagar", mas teria que acontecer quando qualquer dos jogadores alcançasse o decimo ponto primeiro, que seria 9 + 1 pressionadas no botão.
Rui o video ja esta acessivel se der para dar uma olhada no que esta ocorrendo.
Rui acabei de testar o código é o seguinte o Contar1 Pino 11 agora nao esta funcionando o Contar2 que não estava funcionando antes agora ta blz e o Botão apaga também esta blz tudo funcionando certinho somente o contar1 que não sai do zero, já teste individual no pino 12 funciona os dois display conferi ligação tudo OK conferi seu código mas não consegui achar erro, já troquei o pino do 11 para outros e mesmo assim não funciona o que sera agora!
Bom dia Rui, Tud Bem!
Olha o que acabei de achar
http://handsome.is/creating-an-arduino-powered-foosball-scoreboard/
as vezes a biblioteca usada pode servir!
Ele esta usando arduino mega e display de 7 seg. duplo, daria para modificar usar arduino uno e display de 7 seg. 1x para cada lado, não é?
Esse parece ser mais fácil tenho um tablet parado aqui mesmo
Bom dia Rui baixando para testar hj, muito obrigado, vc viu coloquei alguns links hj interessante o modo que o cara fez!
Simulei no site 123D circutis funcionou perfeito, Rui ao inves de colocar resistores em cada segmento poderia colocar um de 1K só no comum de cada display?
Oi A,
pode sim. pode ser até uns 330 Ohms.
5V/330Ohms = +- 15mA.
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por