2017-05-08 3 views
0

ArduinoプロジェクトでRTC DS1307を使用しようとしましたが、コードを実行するたびにRTC is not runningが表示されます。コードは10分ごとにLEDを点灯させ、20分ごとに消灯する必要があります。RTCが実行されていません

これは私が書いたコードです:

#include <Wire.h> 
#include "RTClib.h" 
#include <LiquidCrystal.h> 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 

RTC_DS1307 rtc; 

void setup() 
{ 
    Serial.begin(57600); 
    pinMode(0, OUTPUT); 
#ifdef AVR 
    Wire.begin(); 
#else 
    Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due 
#endif 
    if (! rtc.begin()) { 
    Serial.println("Couldn't find RTC"); 
    } 
    if (! rtc.isrunning()){ 
    Serial.println("RTC is not running"); 
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); 
    }   
} 
void loop() { 
    DateTime now = rtc.now(); 
    lcd.setCursor(0, 2); 
    Serial.println(now.month(),DEC); 
    lcd.print(now.year(), DEC); 
    lcd.print('/'); 
    lcd.print(now.month(), DEC); 
    lcd.print('/'); 
    lcd.print(now.day(), DEC); 
    lcd.print(' '); 
    lcd.print(now.hour(), DEC); 
    lcd.print(':'); 
    lcd.print(now.minute(), DEC); 
    lcd.print(':'); 
    lcd.print(now.second(), DEC); 

    if (now.second() == 10) 
    { 
     digitalWrite (0, HIGH); 
     Serial.println("high"); 
    } 
    else if (now.second() == 20) 
    { 
     digitalWrite (0, LOW); 
     Serial.println("low"); 
    } 
    delay(1000); 

} 

を私はArduinoのサイトからRTClib.hのlibが使用。何か考えてください。

答えて

0

同じ種類のコードを使用して、うまく動作していたプログラムで同じ種類の問題が発生しました。私は、おそらく簡単にバッテリーの接続が失われたと思います。

初期化コードが必要であることがわかりました。 ...

rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); 

バッテリー取り外し後に送信されます。それ以降の作業に戻った。

関連する問題