Arduino Nano + 1.8TFT SPI дисплей + DS1302. Нули на дисплее.

amvolkov
Offline
Зарегистрирован: 22.12.2013

Приветствую!

Попалась мне в руки такая связка. Подключил. 

Пытыюсь вывести время на дисплей - выводит, но... после 3-4 обновлений дисплея (10 сек.) выводит нули 3-4 раза. Заметил, что часы отставать начали, за 4 часа работы приблизительно на 5 минут.

На Arduino в программировании я не очень (или совсем ;-) ), прошу сильно не пинайте. Скетч я "собирал" из трёх разных - порядка там нету.

Обновление дисплея довольно медленное, я так понимаю символы вырисовывает попиксельно. 

Как от нулей на дисплее избавиться?













// Grafiktest 1.8 Zoll TFT-Farb-Display (HY-1.8 SPI)
#define cs   10 // Arduino-Pin an Display CS   
#define dc   9  // Arduino-Pin an 
#define rst  8  // Arduino Reset-Pin
#include <Adafruit_GFX.h>    // Adafruit Grafik-Bibliothek
#include <Adafruit_ST7735.h> // Adafruit ST7735-Bibliothek
#include <SPI.h>

Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);  // Display-Bibliothek Setup
// Всовываем часы
#include <LCD5110_Graph.h> // Подключение библиотек
#include <DS1302.h>
DS1302 rtc(2, 3, 4); // Инициализация библиотеки с указанием
// пинов подключения к Arduino платы часов
Time t; // Инициализация структуры 

void setup(void) {

  tft.initR(INITR_BLACKTAB);   // ST7735-Chip инициализация дисплея
  rtc.halt(false); // Установка режимов 
  rtc.writeProtect(false); // работы часов
  // Следующих три строки нужно закомментировать после 
  // установки времени и загрузить скетч в плату повторно 
//  rtc.setDOW(MONDAY);        // Установка дня недели
//  rtc.setTime(17, 14, 10);  // Установка времени 10:59:10 
// rtc.setDate(21, 12, 2013);   // Установка даты 20 июля 2013
// rtc.setDOW(1); Начало недели 1 - понедельник
}

void loop() {
t = rtc.getTime(); // Получение времени и его запись в структуру t
  // Bildschirm mit Farbe fuellen  fillScreen(farbe);
tft.fillScreen(ST7735_BLACK);

   // Neue Fontgroesse setzen setTextSize(groesse);
  tft.setTextSize(1);
  // Neue Textfarbe setzen setTextColor(farbe);
  tft.setTextColor(ST7735_YELLOW);
  // Neue Textposition setzen // setCursor(x,y);
  tft.setCursor(0,10);
  // Text ausgeben   print(text);
  tft.print("Hello!!!");

  tft.setTextSize(3);
    tft.setCursor(20,25);
     tft.print(rtc.getTimeStr(FORMAT_SHORT));

 tft.setTextSize(1);
   tft.setCursor(0,50);
      tft.print(rtc.getDOWStr());

   tft.setCursor(0,60);
  tft.print(rtc.getDateStr());

delay(10000); // 10 Секунд задержка
}

 

Вообще-то, в будущем, я хочу сделать управление освещением (светодиоды RGB), прикрутить клавиатуру и Bluetooth (пробовал - работает). Все это собрать воедино - у меня впереди ;-)

сеня2
Offline
Зарегистрирован: 18.01.2021

А схемку можно посмотреть ?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Проверьте, что реально у Вас возвращают часы в строках 46, 50 и 53.

vde69
Offline
Зарегистрирован: 10.01.2016

батарейку проверьте, если там ниже 2.5в будет отставание

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

строка 11 не лишняя?

косяк в подключении исправили?

да и вот так будет вернее:
 

int8_t cs = 10;
int8_t dc = 9;
int8_t rst = 8;

 

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

ua6em пишет:

да и вот так будет вернее:

 

int8_t cs = 10;
int8_t dc = 9;
int8_t rst = 8;

Можно узнать почему? 

sadman41
Offline
Зарегистрирован: 19.10.2016

Первопост от 2013-го года. ТС уже на пенсию давно вышел.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Первопост от 2013-го года. ТС уже на пенсию давно вышел.

ах чилинтано, ах сукин сын ))))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ua6em пишет:

 

int8_t cs = 10;
int8_t dc = 9;
int8_t rst = 8;

 

Ты где-нить видел отрицательные пины?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

ua6em пишет:

 

int8_t cs = 10;
int8_t dc = 9;
int8_t rst = 8;

 

Ты где-нить видел отрицательные пины?

нет, но так они описаны в библиотеке, а я прилежный ученик, слова Евгения помню )))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ua6em пишет:

нет, но так они описаны в библиотеке

щажжэ выкинь каку!!!

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

ua6em пишет:

нет, но так они описаны в библиотеке

щажжэ выкинь каку!!!

да я эту библиотеку и не использую, у меня и модули DS3231 )))