Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <InputDebounce.h>
- #include <Bounce2.h>
- #include <Servo.h>
- int buttonA = 51;
- int buttonB = 52;
- int buttonD = 30;
- int buttonC = 53;
- int fase0 = 22;
- int fase1 = 23;
- int fase2 = 24;
- int fase3 = 25;
- int rele2 = 27;
- int rele3 = 28;
- int rele4 = 29;
- int rele1 = 26;
- int tempo = 10;
- int lettura = analogRead(A0);
- Servo myservo;
- void setup()
- {
- myservo.attach(31);
- Serial.begin(9600);
- pinMode(buttonA, INPUT);
- pinMode(buttonB, INPUT);
- pinMode(buttonC, INPUT);
- pinMode(buttonD, INPUT);
- pinMode(fase0, OUTPUT);
- pinMode(fase1, OUTPUT);
- pinMode(fase2, OUTPUT);
- pinMode(fase3, OUTPUT);
- pinMode(rele2, OUTPUT);
- pinMode(rele3, OUTPUT);
- pinMode(rele4, OUTPUT);
- pinMode(rele1, OUTPUT);
- }
- void loop()
- {
- Serial.println("esecuzione programma");
- int variabile=0;
- int soglia=250;
- int bevanda;
- digitalWrite(rele1, HIGH);
- digitalWrite(rele4, HIGH);
- digitalWrite(rele3, HIGH);
- digitalWrite(rele2, HIGH);
- bevanda=rele1;
- if(digitalRead(buttonA)==HIGH)
- {
- variabile=1;
- bevanda=rele2;
- Serial.println("selezione bevanda 1");
- }
- if(digitalRead(buttonB)==HIGH)
- {
- variabile=1;
- bevanda=rele3;
- Serial.println("selezione bevanda 2");
- }
- if(digitalRead(buttonC)==HIGH)
- {
- variabile=1;
- bevanda=rele4;
- Serial.println("selezione bevanda 3");
- }
- if(digitalRead(buttonD)==HIGH)
- {
- variabile=2;
- }
- switch(variabile){
- case 1:
- while(digitalRead(buttonD)==LOW)
- {
- digitalWrite(fase0, HIGH);
- digitalWrite(fase3, LOW);
- delay(tempo);
- digitalWrite(fase0, LOW);
- digitalWrite(fase1, HIGH);
- delay(tempo);
- digitalWrite(fase1, LOW);
- digitalWrite(fase2, HIGH);
- delay(tempo);
- digitalWrite(fase2, LOW);
- digitalWrite(fase3, HIGH);
- delay(tempo);
- }
- break;
- case 2:
- myservo.write(180);
- Serial.println("case 2");
- if(bevanda != rele1)
- {
- while(lettura < soglia)
- {
- digitalWrite(rele1, LOW);
- digitalWrite(bevanda, LOW);
- Serial.println("versamento bevanda");
- }
- }
- if(lettura > soglia){variabile=3;}
- break ;
- case 3:
- myservo.write(0);
- if(myservo.read()==0){variabile=4;}
- break ;
- case 4:
- while(digitalRead(buttonD)==LOW)
- {
- digitalWrite(fase3, HIGH);
- digitalWrite(fase0, LOW);
- delay(tempo);
- digitalWrite(fase3, LOW);
- digitalWrite(fase2, HIGH);
- delay(tempo);
- digitalWrite(fase2, LOW);
- digitalWrite(fase1, HIGH);
- delay(tempo);
- digitalWrite(fase1, LOW);
- digitalWrite(fase0, HIGH);
- delay(tempo);
- }
- break ;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement