Galera estou abrindo este tópico, pois estou tendo problemas com RTC 1302.

Não sou muito conhecedor de programação, porém estou com necessidade de construir este projeto.

Problema é o seguinte: até agora consegui fazer na biblioteca do rtc ligar o led e desligar em horário programado porém, quando desconecto o arduino do pc e ligo - o, na bateria a função deixa de ser executada, não ligando o led e nem desligando. No momento que ligo de volta ao pc a contagem inicia -se, a partir do horário programado.

Pelo jeito quando desconecto o arduino do pc ele deixa de contar a horas ...

Será que tem algo a ver na programação que faz com que o arduino conte as horas somente quando estiver conecrado ao pc e a serial??

obs: Eu consigo ver a horas só pela seria não estou usando lcd*

Este é o modulo que estou usando.

Exibições: 1985

Anexos

Responder esta

Respostas a este tópico

O modulo RTC, após setar a hora e data, fica ativo. Ou seja, o cristal faz com que o relógio interno fique em constante operação.
Independe se ele está ligado a um arduino para que ele execute as suas funções - a ligação é só para "transmitir" essa informação ao arduino, mediante solicitação via código.

Deve ter algum problema no seu código. Compartilha aí para darmos uma olhada.

Ricardo Primeiramente Obrigado !

 

o Código eu deixei em anexo .. Não esta disponível ?

Opa. Falha minha! Não tinha visto o link.

Vou dar uma sugestão: use essa biblioteca e esse código.
https://virtuabotix-virtuabotixllc.netdna-ssl.com/core/wp-content/u...

#include <virtuabotixRTC.h>

// Determina os pinos ligados ao modulo myRTC(clock, data, rst)
virtuabotixRTC myRTC(6, 7, 8);

void setup()
{
    Serial.begin(9600);

    pinMode(3,OUTPUT);
    // Informacoes iniciais de data e hora - USE 1X PARA AJUSTAR O RTC
    // (segundos, minutos, hora, dia da semana, dia do mes, mes, ano)
    myRTC.setDS1302Time(00, 58, 23, 2, 17, 11, 2014);
    // Apos setar as informacoes, remova ou comente a linha acima e carregue novamente o sketch
}

void loop()
{
   myRTC.updateTime();
   if (myRTC.hours == 15 && myRTC.minutes == 0)  //HORA ON
   {
      digitalWrite(3,HIGH); //Escolha a porta que você ligou o LED
   }
   if (myRTC.hours == 15 && myRTC.minutes == 5) //HORA OFF
   {
      digitalWrite(3,LOW);
   }


// Imprime as informacoes no serial monitor SE QUISER MOSTRAR
   imprime_dia_da_semana(myRTC.dayofweek);
   Serial.print(" ");
   Serial.print(myRTC.dayofmonth);
   Serial.print("/");
   Serial.print(myRTC.month);
   Serial.print("/");
   Serial.print(myRTC.year);
   Serial.print(" ");
   if (myRTC.hours < 10)
   {
      Serial.print("0");
   }
   Serial.print(myRTC.hours);
   Serial.print(":");
   if (myRTC.minutes < 10)
   {
      Serial.print("0");
   }
   Serial.print(myRTC.minutes);
   Serial.print(":");
   if (myRTC.seconds < 10)
   {
      Serial.print("0");
   }
   Serial.println(myRTC.seconds);
   delay(1000);
}

void imprime_dia_da_semana(int dia)
{
   switch (dia)
   {
      case 1:
         Serial.print("Domingo");
      break;
      case 2:
         Serial.print("Segunda");
      break;
      case 3:
         Serial.print("Terca");
      break;
      case 4:
         Serial.print("Quarta");
      break;
      case 5:
         Serial.print("Quinta");
      break; 
      case 6: 
         Serial.print("Sexta");
      break;
      case 7:
         Serial.print("Sabado");
      break;
   }
}

E um conselho, se for usar RTC compre o DS3231 que possui cristal interno e compensação automática de temperatura (ele tem interno e dá a informação de temperatura do CI).

Ricardo testei este programa infelizmente  apresentou ainda mesmo problema ..

Certifique-se de que sua bateria esta com 3V

Abs.

CK

Pior que ja verifiquei,e não é esse o problema

ENquanto o arduino estava conectado ao pc retirei a alimentação que ia do arduino, para o modulo deixando-o, somente pela bateria externa do rtc e desta maneira o funcionamento permaneceu normal ..
Agora quand, o desconecto o arduino do pc e coloco alimenação externa no arduino, o sistema deixa de funcionar.

Quando você faz a alimentação externa, está alimentando o arduino pela porta USB (com um powerbank/carregador usb) ou alimentando pelo jack? Se for pelo jack, qual a voltagem que você está colocando ali?

Pode ser que o AMS1117 (regulador de tensão tenha dado problema e estava colocando uma tensão diferente na placa). 

Estou fazendo alimentação pelo jack bateria 9v

Apareceu mais uma coisa com seu programa quando desconecto o arduino do pc e deixo ele om a bateria começa a piscar o led da porta 13 extremamente rapido!

Será que este problema todo é proveniente do modulo e do modelo RTC

Como voce comentou a respeito desse outro rtc, e ja vi tambem que justo esse que estou usando é um dos piores de se trabalhar. Procede ?

ola boa tarde eu estou com o mesmo problema vc conceguiu resolver??? grato

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço