Olá, pessoal!
Montei o chip DS1307(RTC) na protoboard e liguei ao arduino. Liguei também um LCD com placa I2C para funcionar como um relógio calendário. Funcionou, mas percebi que os segundos pula um numero aproximadamente a cada 9 segundos. O quê está acontecendo. Quando liguei o LCD no arduino sem o I2C funcionou perfeitamente. Preciso do LCD no I2C porque vou ligar uma shield de cartão SD. Como posso resolver o problema?
Tags:
Mostre o código que você utilizou, lembrando que não deve ter nenhum comando de delay no seu código para que ele mostre a progressão dos segundos corretamente.
Boa noite JFMA
sugestão:
Remova seu sketch da área de texto do seu tópico;
Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.
RV
Certo.
Aqui vai o sketch anexado.
Remova as linhas
lcd.ini();
lcd.backlight();
e coloque-as dentro do void setup. Senão ele vai ficar inicializando o display em toda a passada do loop, fazendo a tela ficar piscando.
resolveu o problema da contagem, mas quando os segundos chega em 59 deveria zerar, nos primeiros dez segundos fica o numero 9 no final.
Ele conta de 1 a 9, mas com um 9 no final, mostrando por exemplo: o 1 aparece como 19, o 2 como 29.
JFMA,
primeiramente obrigado por seguir a recomendação.
O que está ocorrendo é o seguinte.
O LCD guarda tudo que mandamos pra ele, a não ser que o reinicie ou de um LCD.clear().
Imagine. Você mandou 59 para a posição X da linha,
e em seguida mandou o 1. O 5 é sobreposto pelo 1, mas o 9 continua lá.
O Ideal é, antes de mandar os valores , é enviar um LCD.print(" ") para apagar
o espaço que queremos usar. Dentro dos " " colocamos qtos espaço precisaremos.
Espero ter ajudado.
RV
Aí é questão de acertar a exibição no display de acordo com o número de dígito que será mostrado.
if(horas<10)lcd.print("0");
lcd.print(horas);
lcd.print(":");
if(minutos<10)lcd.print("0");
lcd.print(minutos);
lcd.print(":");
if(segundos<10)lcd.print("0");
lcd.print(segundos);
Valeu pessoal, funcionou.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por