nie musisz używać clear mozesz czysci w ten sposób
albo tak
i 3 rozwiozanie na trzymanie butona
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);
}
Kod:
bool a=0;
bool b=0;
void loop() {
if (digitalRead(ButtonPin) == HIGH)
{
if(a == 0){
a=1;
b=0;
czysc();
}
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
{
if(b == 0){
a=0;
b=1;
czysc();
}
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);
}
}
void czysc(){
if(b == 1)a=0;
if(a == 1)b=0;
lcd.clear();
return;
}
i 3 rozwiozanie na trzymanie butona
Kod:
#include <LiquidCrystal.h>
const int s1 = 48;
LiquidCrystal lcd(40, 41, 42, 43, 44, 45);
int s1stan;
int a=0;
int b=0;
int NodeTempC[1];
int NodeCounter[1];
void setup() {
lcd.begin(16, 2);
pinMode(s1, INPUT);
pinMode(s1, OUTPUT);
digitalWrite(s1, HIGH);
lcd.clear();
NodeCounter[1]=1;
NodeTempC[1]=1;
a=1;
}
void loop() {
s1stan = digitalRead(s1);
if(s1stan == 0){
a=2;
b=a;
delay(900);
}
else
{
a=1;
b=a;
delay(900);
}
switch(b){
case 1:{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("N:1 -");
lcd.print("P:");
lcd.print(NodeCounter[1]);
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]);
b=255;
}
return;
case 2:{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp1:");
lcd.print(NodeTempC[1], 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);
b=255;
}
return;
}
}