Часики OLED + DS1302

zugni
Offline
Зарегистрирован: 14.06.2015

Всем привет! дела втом что взял проект простой часики ds1307 и переделал их на ds1302 но на oled дисплее не большой касяк. касяк втом что после мигания двоеточие каторая между ч и мин так вот после этого мегания появляется 4 нолика и так каждую секунду в коде не нашел может кто не буть поможет исправить касячок)

zugni
Offline
Зарегистрирован: 14.06.2015
#include <DS1302.h>
#include <OLED_I2C.h> 
OLED  myOLED(SDA, SCL, 8); 
extern uint8_t MegaNumbers[];
extern uint8_t RusFont[];
extern uint8_t SmallFont[];
 

DS1302 rtc(2, 3 , 4);// (RST, DAT, CLK)

Time t;
 
void setup() {
  myOLED.begin();
  rtc.halt(false);
//  rtc.setDOW(SATURDAY);
//  rtc.setTime(13, 33, 0);
//  rtc.setDate(01, 8, 2015);
}
 
void loop() {
  myOLED.setFont(RusFont);
  t = rtc.getTime();
  switch (t.dow)
  {
    case 1:     myOLED.print("GJYTLTKMYBR", CENTER, 0);    break;
    case 2:     myOLED.print("DNJHYBR", CENTER, 0);        break;
    case 3:     myOLED.print("CHTLF", CENTER, 0);          break;
    case 4:     myOLED.print("XTNDTHU", CENTER, 0);        break;
    case 5:     myOLED.print("GZNYBWF", CENTER, 0);        break;
    case 6:     myOLED.print("CE<<JNF", CENTER, 0);        break;
    case 7:     myOLED.print("DJCRHTCTYMT", CENTER, 0);    break;
  }
  String stringOne = rtc.getTimeStr();
  myOLED.setFont(MegaNumbers);
  myOLED.print(stringOne.substring(0, 2), 4, 12);
  myOLED.print("/", 51, 12);
  myOLED.print(stringOne.substring(3, 5), 75, 12);
  myOLED.setFont(RusFont);
  switch (t.mon)
  {
    case 1:
      myOLED.print(String(t.date), 30, 57);
      myOLED.print("ZYDFHZ", CENTER, 57);
      myOLED.print(String(t.year), 88, 57);
      break;
    case 2:
      myOLED.print(String(t.date), 26, 57);
      myOLED.print("ATDHFKZ", CENTER, 57);
      myOLED.print(String(t.year), 92, 57);
      break;
    case 3:
      myOLED.print(String(t.date), 30, 57);
      myOLED.print("VFHNF", CENTER, 57);
      myOLED.print(String(t.year), 88, 57);
      break;
    case 4:
      myOLED.print(String(t.date), 30, 57);
      myOLED.print("FGHTKZ", CENTER, 57);
      myOLED.print(String(t.year), 88, 57);
      break;
    case 5:
      myOLED.print(String(t.date), 36, 57);
      myOLED.print("VFZ", CENTER, 57);
      myOLED.print(String(t.year), 82, 57);
      break;
    case 6:
      myOLED.print(String(t.date), 35, 57);
      myOLED.print("B>YZ", CENTER, 57);
      myOLED.print(String(t.year), 81, 57);
      break;
    case 7:
      myOLED.print(String(t.date), 35, 57);
      myOLED.print("B>KZ", CENTER, 57);
      myOLED.print(String(t.year), 81, 57);
      break;
    case 8:
      myOLED.print(String(t.date), 28, 57);
      myOLED.print("FDUECNF", CENTER, 57);
      myOLED.print(String(t.year), 90, 57);
      break;
    case 9:
      myOLED.print(String(t.date), 24, 57);
      myOLED.print("CTYNZ<HZ", CENTER, 57);
      myOLED.print(String(t.year), 94, 57);
      break;
    case 10:
      myOLED.print(String(t.date), 26, 57);
      myOLED.print("JRNZ<HZ", CENTER, 57);
      myOLED.print(String(t.year), 92, 57);
      break;
    case 11:
      myOLED.print(String(t.date), 28, 57);
      myOLED.print("YJZ<HZ", CENTER, 57);
      myOLED.print(String(t.year), 90, 57);
      break;
    case 12:
      myOLED.print(String(t.date), 26, 57);
      myOLED.print("LTRF<HZ", CENTER, 57);
      myOLED.print(String(t.year), 92, 57);
      break;
  }
  myOLED.update();
  delay(500);
  myOLED.setFont(MegaNumbers);
  myOLED.print("-", 51, 12);
  myOLED.update();
  delay(500);
}

 

zugni
Offline
Зарегистрирован: 14.06.2015

Изените сам разобрался )))

zugni
Offline
Зарегистрирован: 14.06.2015

кто не буть вкурси почему они не хотят работать от батарейки крона они просто замерают даже 2 точки не маргают и показывают время не правильное совсем ?В модуль ds1302 батарейку плускую поставил  новую .Но от компа работают исправно .

std
Offline
Зарегистрирован: 05.01.2012

Лучше LiIon+AMS1117-3.3 или 2xAA+MC34063, либо 6xAA+7805. Крона говно, её ёмкосто всего 180-240 мАч, буквально на 40 минут поиграться. После можно выбрасывть, т. к. ардуине не хватает питания.

zugni
Offline
Зарегистрирован: 14.06.2015

std пишет:

Лучше LiIon+AMS1117-3.3 или 2xAA+MC34063, либо 6xAA+7805. Крона говно, её ёмкосто всего 180-240 мАч, буквально на 40 минут поиграться. После можно выбрасывть, т. к. ардуине не хватает питания.

Я согласен , но часики хоть 30 мин но работать должны а они просто как картинка и все а вот от компа работает как положено им. 

 

bwn
Offline
Зарегистрирован: 25.08.2014

zugni пишет:

std пишет:

Лучше LiIon+AMS1117-3.3 или 2xAA+MC34063, либо 6xAA+7805. Крона говно, её ёмкосто всего 180-240 мАч, буквально на 40 минут поиграться. После можно выбрасывть, т. к. ардуине не хватает питания.

Я согласен , но часики хоть 30 мин но работать должны а они просто как картинка и все а вот от компа работает как положено им. 

 

Так промеряйте напряжение на своей кроне и все выяснится.

zugni
Offline
Зарегистрирован: 14.06.2015

bwn пишет:

zugni пишет:

std пишет:

Лучше LiIon+AMS1117-3.3 или 2xAA+MC34063, либо 6xAA+7805. Крона говно, её ёмкосто всего 180-240 мАч, буквально на 40 минут поиграться. После можно выбрасывть, т. к. ардуине не хватает питания.

Я согласен , но часики хоть 30 мин но работать должны а они просто как картинка и все а вот от компа работает как положено им. 

 

Так промеряйте напряжение на своей кроне и все выяснится.

7.6 v

std
Offline
Зарегистрирован: 05.01.2012

По теме: 7.6 когда ардуина подключена или отключена? Т. к. под нагрузкой может ещё падать.

Не по теме: вообще косяк строителей форума, но вырезайте вложенные цитаты, пожалуйста.