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