21-02-2016, 13:34
Serwus, pytanie dość proste dla większości z Was.
Zrobiłem sobie sterowanie czterema przekaźnikami z wyświetlaniem stanu pinów na lcd 4x20 i teraz moje pytanie. Czy zamiast cyfr 0 i 1 można podstawić skróty, np. WLA (włączony) lub WYL (wyłączony)?
Poniżej sketch, pozdrawiam.
Zrobiłem sobie sterowanie czterema przekaźnikami z wyświetlaniem stanu pinów na lcd 4x20 i teraz moje pytanie. Czy zamiast cyfr 0 i 1 można podstawić skróty, np. WLA (włączony) lub WYL (wyłączony)?
Poniżej sketch, pozdrawiam.
Kod:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
int przekaznik1 = 8; //przekaznik1 podłączamy do pinu 8
int przekaznik2 = 9; //przekaznik2 podłączamy do pinu 9
int przekaznik3 = 10; //przekaznik1 podłączamy do pinu 10
int przekaznik4 = 11; //przekaznik2 podłączamy do pinu 11
int przycisk1 = 3; //przycisk1 podłączamy do pinu 3
int przycisk2 = 4; //przycisk2 podłączamy do pinu 4
int przycisk3 = 5; //przycisk1 podłączamy do pinu 5
int przycisk4 = 6; //przycisk2 podłączamy do pinu 6
bool sp1 = true; //zmienna boolowska sp1 do steowania stanem przekaznika1
bool sp2 = true; //zmienna boolowska sp2 do steowania stanem przekaznika2
bool sp3 = true; //zmienna boolowska sp3 do steowania stanem przekaznika3
bool sp4 = true; //zmienna boolowska sp4 do steowania stanem przekaznika4
void setup()
{
lcd.begin(20, 4);
pinMode(przekaznik1, OUTPUT); //przekaznik1 jako wyjście
pinMode(przekaznik2, OUTPUT); //przekaznik2 jako wyjście
pinMode(przekaznik3, OUTPUT); //przekaznik3 jako wyjście
pinMode(przekaznik4, OUTPUT); //przekaznik4 jako wyjście
pinMode(przycisk1, INPUT_PULLUP); //przycisk1 jako wejście z programowym pull-upem
pinMode(przycisk2, INPUT_PULLUP); //przycisk2 jako wejście z programowym pull-upem
pinMode(przycisk3, INPUT_PULLUP); //przycisk3 jako wejście z programowym pull-upem
pinMode(przycisk4, INPUT_PULLUP); //przycisk4 jako wejście z programowym pull-upem
digitalWrite(przekaznik1, HIGH); //stan początkowy przekaznika1 wysoki
digitalWrite(przekaznik2, HIGH); //stan początkowy przekaznika2 wysoki
digitalWrite(przekaznik3, HIGH); //stan początkowy przekaznika3 wysoki
digitalWrite(przekaznik4, HIGH); //stan początkowy przekaznika4 wysoki
lcd.setCursor (1, 0);
lcd.print("Gor");
lcd.setCursor (2, 1);
lcd.print("0");
lcd.setCursor (6, 0);
lcd.print("Sro");
lcd.setCursor (7, 1);
lcd.print("0");
lcd.setCursor (11, 0);
lcd.print("Dol");
lcd.setCursor (12, 1);
lcd.print("0");
lcd.setCursor (16, 0);
lcd.print("Osw");
lcd.setCursor (17, 1);
lcd.print("0");
}
void loop() {
wlaczniki();
}
void wlaczniki()
{
if(digitalRead(przycisk1) == LOW){delay(150); //jezeli przycisk1 zostal wcisniety:
sp1=!sp1; //zaneguj zmienną sp1
lcd.setCursor (2, 1);
lcd.print(!sp1);
digitalWrite(przekaznik1, sp1); //stan przekaźnika ustaw taki jak jest stan sp1
delay(150); //odczekaj 150ms
}
if(digitalRead(przycisk2) == LOW){delay(150); //jezeli przycisk2 zostal wcisniety:
sp2=!sp2; //zaneguj zmienną sp2
lcd.setCursor (7, 1);
lcd.print(!sp2);
digitalWrite(przekaznik2, sp2); //stan przekaźnika ustaw taki jak jest stan sp2
delay(150); //odczekaj 150ms
}
if(digitalRead(przycisk3) == LOW){delay(150); //jezeli przycisk3 zostal wcisniety:
sp3=!sp3; //zaneguj zmienną sp3
lcd.setCursor (12, 1);
lcd.print(!sp3);
digitalWrite(przekaznik3, sp3); //stan przekaźnika ustaw taki jak jest stan sp3
delay(150); //odczekaj 150ms
}
if(digitalRead(przycisk4) == LOW){delay(150); //jezeli przycisk4 zostal wcisniety:
sp4=!sp4; //zaneguj zmienną sp4
lcd.setCursor (17, 1);
lcd.print(!sp4);
digitalWrite(przekaznik4, sp4); //stan przekaźnika ustaw taki jak jest stan sp4
delay(150); //odczekaj 150ms
}
}