20-09-2015, 11:21
ok przyjmijmy że struktura programu miała by wyglądać tak:
Teraz żeby to zadziałało potrzeba jeszcze dodać lcd.clear() żeby przy każdym przełączeniu wyczyścić ekran i tu pojawia się problem, bo jeśli to dodamy na początku pętli to czyszczenie będzie się wykonywało zawsze przy rozpoczynaniu pętli, a ja bym chciał żeby czyszczenie następowało tylko 1 raz dokładnie po zmianie wartości ButtonPin z LOW na HIGH i na odwrót.
Generalnie chodzi o to żeby wykorzystać 1 LCD 4x20 do wyświetlenia dużej ilości parametrów.
Kod:
if (digitalRead(ButtonPin) == HIGH)
{
lcd.setCursor(0, 0);
lcd.print("N:1 - ");
lcd.print("P:");
lcd.print(NodeCounter[01]);
lcd.setCursor(0, 1);
lcd.print("N:2 - ");
lcd.print("P:");
lcd.print(NodeCounter[02]);
lcd.setCursor(0, 2);
lcd.print("N:3 - ");
lcd.print("P:");
lcd.print(NodeCounter[03]);
lcd.setCursor(0, 3);
lcd.print("N:4 - ");
lcd.print("P:");
lcd.print(NodeCounter[04]);
}
else
{
lcd.setCursor(0, 0);
lcd.print("Temp1:");
lcd.print(NodeTempC[01], 1);
lcd.write((uint8_t)0);
lcd.setCursor(0, 1);
lcd.print("Temp2:");
lcd.print(NodeTempC[02], 1);
lcd.write((uint8_t)0);
lcd.setCursor(0, 2);
lcd.print("Temp3:");
lcd.print(NodeTempC[03], 1);
lcd.write((uint8_t)0);
lcd.setCursor(0, 3);
lcd.print("Temp4:");
lcd.print(NodeTempC[04], 1);
lcd.write((uint8_t)0);
}
Teraz żeby to zadziałało potrzeba jeszcze dodać lcd.clear() żeby przy każdym przełączeniu wyczyścić ekran i tu pojawia się problem, bo jeśli to dodamy na początku pętli to czyszczenie będzie się wykonywało zawsze przy rozpoczynaniu pętli, a ja bym chciał żeby czyszczenie następowało tylko 1 raz dokładnie po zmianie wartości ButtonPin z LOW na HIGH i na odwrót.
Generalnie chodzi o to żeby wykorzystać 1 LCD 4x20 do wyświetlenia dużej ilości parametrów.