• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z biblioteką DS1302 - LCD-Blue-I2C
#51
Kod:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"

DS1302 rtc; // CE_PIN 4, SCK_PIN 5, IO_PIN 6 as default
///ewentualnie DS1302 rtc(CE_pin,SCK_PIN,IO_PIN);

#define BACKLIGHT_PIN 3
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3,POSITIVE);

const char *monthName[12] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};

void setup() {

lcd.begin(16, 2);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);

rtc.begin();
if(!rtc.isrunning())
{
 lcd.println("DS1302 stoi. Uruchom Zegar");
}
rtc.adjust(DateTime(__DATE__,__TIME__));
}

void loop() {


DateTime aktualnie=rtc.now();
char buf[100];
strncpy(buf,"hh:mm:ss\0",100);
lcd.print(aktualnie.format(buf));
delay(1000);

/*lcd.setCursor (0, 0);
LCDprint2digits(tm.Hour);
lcd.print(':');
LCDprint2digits(tm.Minute);
lcd.print(':');
LCDprint2digits(tm.Second);
lcd.setCursor (0, 1);
lcd.print(tm.Day);
lcd.print('/');
lcd.print(monthName[tm.Month-1]);
lcd.print('/');
lcd.print(tmYearToCalendar(tm.Year));*/

}

//void print2digits(int number) {
// if (number >= 0 && number < 10) {
// Serial.write('0');
// }
// Serial.print(number);
//}

void LCDprint2digits(int number) {
if (number >= 0 && number < 10) {
lcd.write('0');
}
lcd.print(number);
}
Zmień bibliotekę bo ma jakieś dziwne dowiązania. Sory za błąd. W zarządzaniu bibliotekami masz RTCLib jak wpiszesz w wyszukiwaniu np. DS1302. Nie sprawdzałem działania kodu bo nie miałem możliwości. Sprawdzałem za to czy przechodzi kompilacje-jest ok teraz. Niestety będziesz musiał przerobić trochę kod albo chociaż formatowanie bo może sypać chińskimi znaczkami lcd(o ile wcześniej nie sypało).
W przykladach masz np. rtc format które niejako pokazuje jak się używa biblioteki. Choć sam format jest w zasadzie taki sam bo wziąłem stamtąd kawałek kodu.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości