RTC не отдает RTC.dow?

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Desert Ops, 1 мар 2015.

  1. Desert Ops

    Desert Ops Нерд

    Приветствую всех!
    Arduino Uno, RTC DS1307, BMP180 - это железо.

    Вот скетч:

    #include <DS1307new.h>
    #include <LiquidCrystal.h>
    #include "Barometer.h"
    #include <Wire.h>
    float temperature;
    float pressure;
    //float altitude;
    float mmrs;
    Barometer myBarometer;
    LiquidCrystal lcd(12, 10, 5, 4, 3, 2);
    byte newChar[8]={
    B01100,
    B10010,
    B10010,
    B01100,
    B00000,
    B00000,
    B00000,
    B00000
    };

    void setup() {
    lcd.createChar(0, newChar);
    lcd.begin(20, 4);

    myBarometer.init();
    }

    void loop() {
    temperature = myBarometer.bmp085GetTemperature(myBarometer.bmp085ReadUT()); //Get the temperature, bmp085ReadUT MUST be called first
    pressure = myBarometer.bmp085GetPressure(myBarometer.bmp085ReadUP());//Get the temperature
    mmrs = pressure / 133,322;
    lcd.setCursor(0, 0);
    lcd.write((byte)0);
    lcd.setCursor(1,0);
    lcd.print("C:");
    lcd.setCursor(4, 0);
    lcd.print(temperature, 1);
    lcd.setCursor(0, 1);
    lcd.print("mm:");
    lcd.setCursor(4, 1);
    lcd.print(mmrs, 1);


    //часы
    RTC.getTime(); // обращаемся к часам

    lcd.setCursor(12,3);

    if(RTC.hour<10)lcd.print(0);
    lcd.print(RTC.hour);

    lcd.print(":");

    if(RTC.minute<10)lcd.print(0);
    lcd.print(RTC.minute);

    lcd.print(":");

    if(RTC.second<10)lcd.print(0);
    lcd.print(RTC.second);

    // выводим дату
    lcd.setCursor(0,3);
    if(RTC.day<10)lcd.print(0);
    lcd.print(RTC.day, DEC);

    lcd.print("/");


    switch(RTC.month)
    {
    case 1: lcd.print("JAN"); break;
    case 2: lcd.print("FEB"); break;
    case 3: lcd.print("MAR"); break;
    case 4: lcd.print("APR"); break;
    case 5: lcd.print("MAY"); break;
    case 6: lcd.print("JUN"); break;
    case 7: lcd.print("JUL"); break;
    case 8: lcd.print("AUG"); break;
    case 9: lcd.print("SEP"); break;
    case 10: lcd.print("OСT"); break;
    case 11: lcd.print("NOV"); break;
    case 12: lcd.print("DEC"); break;
    }

    lcd.print("/");

    switch(RTC.dow)
    {
    case 1: lcd.print("MON"); break;
    case 2: lcd.print("TUE"); break;
    case 3: lcd.print("WED"); break;
    case 4: lcd.print("THU"); break;
    case 5: lcd.print("FRI"); break;
    case 6: lcd.print("SAT"); break;
    case 7: lcd.print("SUN"); break;
    }
    //lcd.setCursor(7,2);
    // lcd.print(RTC.year, DEC);
    delay(1000);
    }


    На экране отображается всё, кроме дня недели (RTC.dow = 0!!!). RTC и BMP на одной шине. Научите, пожалуйста, где ошибка. Заранее благодарен.
     
    Последнее редактирование: 1 мар 2015
  2. ANV

    ANV Гуру

    Без BMP работает день недели?
    Какая библоиотека для 1307?