у меня проблема : написал скетч Код (C++): #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3F,16,2); unsigned long timing; int photosensor_window = 0; float battary_voltage= 0 ; int input_voltage; int lights = 2; int zummer = 3; void setup() { pinMode(2,OUTPUT); pinMode(3,OUTPUT); lcd.init(); lcd.backlight(); } void loop() { photosensor_window= (analogRead(A0)); battary_voltage= analogRead(A1); battary_voltage= (battary_voltage/1024*5.0); input_voltage= (analogRead(A2)); if (millis() - timing > 500){ // Вместо 10000 подставьте нужное вам значение паузы timing = millis(); lcd.print(battary_voltage) ; } if(input_voltage > 800) { lcd.setCursor(6,0); lcd.print("input"); lcd.setCursor(11,0); lcd.print("good"); } } и на экране не изменяется показание аккумулятора, а когда аккум отключаю, то показывает сплошные нули ...... Конкретно показание аккума в скетче Код (C++): if (millis() - timing > 500){ // Вместо 10000 подставьте нужное вам значение паузы timing = millis(); lcd.print(battary_voltage) ; помогите разобраться , надо чтобы значение аккума выводилось раз в 500 милисекунд( желательно в millis) . Заранее спасибо!!!
допишите в таймер над lcd.print(battary_voltage); lcd.setCursor(0,0); тоесть вы даёте команду писать это значение на 1 строке, 1 символе. Тогда во весь экран не будет.
Перед тем, как написать новое значение, надо снова считать с датчика показания, стереть старое значение и написать новое. Старое значение обычно стирается цветом экрана, то есть если экран чёрный, то стирать надо чёрным. На всякий случай ставится задержка после написания нового. Для удобства можно выделить это в отдельную функцию.