Kód: Vybrat vše
int cnt;
boolean pricetl_jsem;
unsigned long cas_1;
unsigned long cas_2;
boolean flag;
void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(12, OUTPUT);
Serial.begin(9600);
cnt=0;
pricetl_jsem=false;
flag=false;
digitalWrite(12, HIGH);
}
void loop() {
if((digitalRead(2) == LOW) && pricetl_jsem == false) {
cnt=cnt+1;
Serial.println(cnt); //Kdyz je enkoder na Low pricti si +1 a zaroven si poznamenej ze uz jsi pricetl.... Pokud je Low a pricetl jsi, nedelej nic. Pokud je high, tak nastav ze jsi jeste necetl.
pricetl_jsem=true;
}
if((digitalRead(2) == HIGH) && pricetl_jsem == true) {
pricetl_jsem=false;
}
if(cnt == 180) {
cnt=0;
Serial.println("nizka na 12"); //impulz se poslal
digitalWrite(12, LOW);
cas_1=millis();
cas_2=cas_1+200UL;
flag=true;
}
if((cas_2 == millis()) && flag == true) {
Serial.println("vysoka na 12"); //konec impulzu
digitalWrite(12, HIGH);
flag=false;
}
}