Код (C++): #include <LiquidCrystal_I2C.h> #include <TroykaRTC.h> LiquidCrystal_I2C lcd(0x27,16,2); #include <Wire.h> #include "TroykaRTC.h" #define LEN_TIME 12 #define LEN_DATE 12 #define LEN_DOW 12 RTC clock ; char time[LEN_TIME]; char date[LEN_DATE]; char weekDay[LEN_DOW]; void setup() { Serial.begin(9600); lcd.clear(); lcd.noBacklight(); lcd.setCursor(0,2); lcd.setCursor(0,1); Wire.begin(); clock.begin(); // clock.set(10,25,45,27,07,2005,THURSDAY); clock.set(__TIMESTAMP__); //clock.set(); } void loop() { clock.read(); clock.getTimeStamp(time, date, weekDay); Serial.print(time); Serial.print("\t"); Serial.print(date); Serial.print("\t"); Serial.println(weekDay); delay(1000); }
@Centurio_Mark, по порядку, вы добились работы идикатора с библиотекой LiquidCrystal_I2C.h (без подключения часов, простой Hello на экран)? У вашего индикатора контроллер WS0010 (не 100% HD44780 совместимый) и для него предлагается библиотека Adafruit_CharacterOLED Если есть возможность, подлючите индикатор в 4 битном режиме и залейте скетч HelloOLEDWorld.ino из примеров к библиотеке. P.S Roma ceciderunt, centurio Marcus!
Рим перестал быть государством!! Дисплей рабочий,причём тут HelloOLEDWorld.ino?? Указал проблему именно с troyka-rtc данные не выводятся, дисплей подключен правильно и работает, пример загружал,отклик был
Попробуйте Код (C++): void loop() { clock.read(); clock.getTimeStamp(time, date, weekDay); Serial.print(time); Serial.print("\t"); Serial.print(date); Serial.print("\t"); Serial.println(weekDay); lcd.print(time); lcd.setCursor(0, 1); lcd.print(date); delay(1000); }
void loop() { // запрашиваем данные с часов clock.read(); clock.getTimeStamp(time, date, weekDay); Serial.print(time); Serial.print("\t"); Serial.print(date); Serial.print("\t"); Serial.println(weekDay); lcd.print(time); lcd.setCursor(0,1); lcd.print(date); lcd.setCursor(0,0); delay(1000); }[/code]
Прочитать как работает энкодер, разобраться как бороться с дребезгом контактов, нарисовать алгоритм работы программы, написать скетч.