#define buttonPin 12
#define ledPin 5
#define ledPin1 4
#define interval 500
//int interval;
int PWM=1;
int k=1;
int akcia=0;
bool ledState=0;
bool buttonState=0;
bool lastButtonState=0;
unsigned long lastDebounceTime=0;
unsigned long previousMillis=0;
int debounceDelay=50;
int pocetStlaceni=0;
void setup() {
Serial.begin(9600);
Serial.println("Akcia "+String(akcia));
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(ledPin1,OUTPUT);
}
void loop() {
if(Serial.available()>0){
String text=Serial.readString();
text.trim();
if(text=="vypis"){
Serial.println("Tlacidlo bolo stlacene "+String(pocetStlaceni)+"-krat");
}
}
/*/vlastný program
int hodnota=analogRead(A0);
interval=map(hodnota,0,1023,100,1000);
//vlastný program*/
bool reading = digitalRead(buttonPin);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
akcia=!akcia;
pocetStlaceni++;
/*akcia=(akcia<5?akcia:-1);
Serial.println("Akcia "+String(++akcia));*/
}
}
}
if(akcia==1){
if(millis()-previousMillis>=interval){
previousMillis=millis();
ledState=!ledState;
digitalWrite(ledPin,ledState);
}
}
/*/vlastný program
else if(akcia==2){
if(millis()-previousMillis>=interval){
previousMillis=millis();
ledState=!ledState;
digitalWrite(ledPin1,ledState);
digitalWrite(ledPin,0);
}
}
else if(akcia==3){
if(millis()-previousMillis>=interval){
previousMillis=millis();
ledState=!ledState;
digitalWrite(ledPin,ledState);
digitalWrite(ledPin1,ledState);
}
}
else if(akcia==4){
if(millis()-previousMillis>=interval){
previousMillis=millis();
ledState=!ledState;
digitalWrite(ledPin,ledState);
digitalWrite(ledPin1,!ledState);
}
}
else if(akcia==5){
if(millis()-previousMillis>=10){
previousMillis=millis();
k=(PWM==0||PWM==255?-k:k);
analogWrite(ledPin,PWM=PWM+k);
digitalWrite(ledPin1,0);
}
}
//vlastný program*/
else{
digitalWrite(ledPin,0);
digitalWrite(ledPin1,0);
PWM=1;
}
lastButtonState = reading;
}