Boa tarde pessoal do LDG!

Estou tentando fazer funcionar o modulo RTC DS1302 com Arduino Uno, no entanto, não obtive bons resultados.
Trata-se de um módulo comprado no DX. Durante a leitura da hora, minuto e segundo, só são exibidos os números ímpares. Os pares aparecem zerados.
Alguém tem alguma ideia do que pode estar acontecendo?

Exibições: 1513

Responder esta

Respostas a este tópico

Hudson, segue codigo já testado por mim.

#include <LiquidCrystal.h>
#include <DS1307.h>
#include <Wire.h>

LiquidCrystal lcd(13,12,11,10,9,8);

int clock[7];

void setup(){
for(int i=3;i<8;i++){
pinMode(i,INPUT);
}

lcd.begin(20,2);
DS1307.begin();
//DS1307.setDate(12,1,13,0,19,59,57);// pre-define ano,mes,dia,semana,horas,minutos,segundos ao inicializar
}

void loop(){
DS1307.getDate(clock);

lcd.setCursor(0,1);
Print(clock[4]); // hora
lcd.print(":");
Print(clock[5]); // minutos
lcd.print(":");
Print(clock[6]); // segundos
lcd.setCursor(0,0);
Print(clock[2]); // dia
lcd.print("/");
Print(clock[1]); // mes
lcd.print("/");
lcd.print("20"); // ano 2000
Print(clock[0]); // ano

if(digitalRead(7)){//minutos
clock[5]++;
if(clock[5]>59) clock[5]=0;
DS1307.setDate(clock[0],clock[1],clock[2],0,clock[4],clock[5],clock[6]);
}

if(digitalRead(6)){//horas
clock[4]++;
if(clock[4]>23) clock[4]=0;
DS1307.setDate(clock[0],clock[1],clock[2],0,clock[4],clock[5],clock[6]);
}

if(digitalRead(5)){//dia
clock[2]++;
if(clock[2]>31) clock[2]=1;
DS1307.setDate(clock[0],clock[1],clock[2],0,clock[4],clock[5],clock[6]);
}

if(digitalRead(4)){//mes
clock[1]++;
if(clock[1]>12) clock[1]=1;
DS1307.setDate(clock[0],clock[1],clock[2],0,clock[4],clock[5],clock[6]);
}

if(digitalRead(3)){//ano
clock[0]++;
if(clock[0]>99) clock[0]=0;
DS1307.setDate(clock[0],clock[1],clock[2],0,clock[4],clock[5],clock[6]);
}


delay(100);
}

//Funcao para ajustar os digitos para 00,01,02,...
void Print(int number){
lcd.print(number/10);//imprime o digito mais significativo
lcd.print(number%10);//imprime o digito menos significativo
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço