PJE

Capturando o sinal de hora DCF77


Há uma série de sinais de baixa frequência em todo o mundo que transmitem a hora exata e informações de data. Esses sinais são utilizados pelos aparelhos de rádio, secretária eletrônicas e muitos relógios baratos que podem ser facilmente adquiridos nos dias de hoje. O sinal de horas também é útil para a sincronização dos relógios de computadores. 


                 receptor do sinal DCF77                             transmissores costumam ficar nessas antenas


Não se assuste se uma maquina alimentada pela primeira vez exibir a data e hora. 
Podemos aproveitar o sinal Para nossos Projetos :)

Pin 4: saída DCF invertido Pino 3: saída DCF
Pino 2: Tensão de funcionamento 2.5V a 12V 
Pin 1: GND (pin lado do diodo)

O "C" do arduino possui um biblioteca para o DCF77  

Arduino DCF77 library download...

 DCF77 Arduino



#include "DCF77.h" #include "Time.h"
#define DCF_PIN 2                // Connection pin to DCF 77 device #define DCF_INTERRUPT 0          // Interrupt number associated with pin
time_t time;
// Non-inverted input on pin DCF_PIN
DCF77 DCF = DCF77(DCF_PIN,DCF_INTERRUPT, true);

void setup() {
  Serial.begin(9600);
  DCF.Start();
  Serial.println("Waiting for DCF77 time ... ");
  Serial.println("It will take at least 2 minutes before a first time update.");
}
void loop() {
  delay(1000);
  time_t DCFtime = DCF.getTime(); // Check if new DCF77 time is available
  if (DCFtime!=0)
  {
    Serial.println("Time is updated");
    setTime(DCFtime);
  }    
  digitalClockDisplay();  
}
void digitalClockDisplay(){
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.print(" ");
  Serial.print(day());
  Serial.print(" ");
  Serial.print(month());
  Serial.print(" ");
  Serial.print(year());
  Serial.println();
}
void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}
 
 
 
 
 

Nenhum comentário:

Postar um comentário