Oto mój kod. Mam nadzieję, że pomogłem. Sam tego kodu niestety nie mam możliwości przetestować gdyż na arduino programuję tylko w gimnazjum, ale postarałem się aby był poprawny. Dodałem tam takźe jedną funkcję oraz zmienną x która jest indeksem, który u mnie oznacza ćwiartkę sekundy która w tej chwili przechodzi w pętli. Czyli moje rozwiązanie opiera się na podzieleniu sekundy na 4 części po 250 milisekund i w każdej z nich uaktualniam wartość z czujnika, a raz na 4 części po 250 milisekund uaktualniam czas gdyż wtedy następuje już przesunięcie o całą sekundę. 250*4 = 1000
Jeśli w moim kodzie znajdzie się jakiś błąd to zawsze możesz spróbować napisać to sam w oparciu o to co ci napisałem wyżej.
LiquidCrystal lcd(13,11,6,5,4,3);
int czas=0,godz,minu,sek,minu2;
int x = 1;
void setup()
{
lcd.begin(16,2);
}
void loop()
{
int sensorValue = analogRead(A0);
float swiatlo = sensorValue * (100.0 / 1023.0);
lcd.setCursor(1,2);
if(x == 4){
czas++;
sek++;
if(czas==60) minu++, minu2++,czas=0;
if(minu==60) godz++,minu2=0;
}
displayData(swiatlo);
x++;
if(x > 3){x = 1};
delay(250);
}
void displayData(float swiatlo){
lcd.clear();
lcd.print("Godzina:");
lcd.print(godz);
lcd.print(":");
lcd.print(minu2);
lcd.print(":");
lcd.print(czas);
lcd.setCursor(0,1);
lcd.print("Jasnosc:");
lcd.print(swiatlo);
lcd.print("lx");
}