Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. librerie e variabili
  2.  
  3. #include <InputDebounce.h>
  4. #include <Bounce2.h>
  5. #include <Servo.h>
  6.  
  7. int buttonA = 51;
  8. int buttonB = 52;
  9. int buttonC = 30;
  10. int buttonD = 53;
  11. int fase0 = 22;
  12. int fase1 = 23;
  13. int fase2 = 24;
  14. int fase3 = 25;
  15. int rele2 = 27;
  16. int rele3 = 28;
  17. int rele4 = 29;
  18. int rele1 = 26;
  19. int tempo = 10;
  20. Servo myservo;
  21.  
  22.  
  23. void setup()
  24. {
  25.   myservo.attach(31);
  26.   pinMode(buttonA, INPUT);
  27.   pinMode(buttonB, INPUT);
  28.   pinMode(buttonC, INPUT);
  29.   pinMode(buttonD, INPUT);
  30.   pinMode(fase0, OUTPUT);
  31.   pinMode(fase1, OUTPUT);
  32.   pinMode(fase2, OUTPUT);
  33.   pinMode(fase3, OUTPUT);
  34.   pinMode(rele2, OUTPUT);
  35.   pinMode(rele3, OUTPUT);
  36.   pinMode(rele4, OUTPUT);
  37.   pinMode(rele1, OUTPUT);
  38. }
  39.  
  40.  
  41. void loop()
  42. {
  43.  
  44. variabili
  45. int alpha;
  46. int beta;
  47. int gamma;
  48. int variabile=0;
  49. int memoria;
  50. int soglia=250;
  51.  
  52. rele che comandano le elettrovalvole scheda rele a logica negativa
  53.  
  54. digitalWrite(rele1, HIGH);
  55. digitalWrite(rele4, HIGH);
  56. digitalWrite(rele3, HIGH);
  57. digitalWrite(rele2, HIGH);
  58.  
  59. programma
  60.  
  61. if(digitalRead(buttonA)==HIGH)
  62. {
  63.   variabile=1;
  64.  
  65. }
  66. if(digitalRead(buttonC)==HIGH)
  67. {
  68.   variabile=2;
  69. }
  70. while(analogRead(A0)<soglia)
  71. {
  72.   memoria=HIGH;
  73. }
  74. if(analogRead(A0)>=soglia)
  75. {
  76.   memoria=LOW;
  77. }
  78. if(memoria==LOW)
  79. {
  80.  variabile=3;
  81. }
  82.  
  83.  switch(variabile){
  84.  
  85.   case 1:
  86.   while(digitalRead(buttonC)==LOW)
  87.   {
  88.     digitalWrite(fase0, HIGH);
  89.     digitalWrite(fase3, LOW);
  90.     delay(tempo);
  91.     digitalWrite(fase0, LOW);
  92.     digitalWrite(fase1, HIGH);
  93.     delay(tempo);
  94.     digitalWrite(fase1, LOW);    
  95.     digitalWrite(fase2, HIGH);   
  96.     delay(tempo);
  97.     digitalWrite(fase2, LOW);
  98.     digitalWrite(fase3, HIGH);
  99.     delay(tempo);
  100.   }
  101.   break;
  102.  
  103.   case 2:
  104.   myservo.write(180);
  105.   if(alpha==HIGH) {while(memoria==HIGH){digitalWrite(rele1, LOW); digitalWrite(rele2, LOW);}}
  106.   if(beta==HIGH)  {while(memoria==HIGH){digitalWrite(rele1, LOW); digitalWrite(rele3, LOW);}}
  107.   if(gamma==HIGH) {while(memoria==HIGH){digitalWrite(rele1, LOW); digitalWrite(rele4, LOW);}}
  108.   break ;
  109.  
  110.   case 3:
  111.   myservo.write(0);
  112.   if(myservo.read()==0)
  113.   {
  114.   variabile=4;
  115.   }
  116.   break ;
  117.  
  118.   case 4:
  119.   while(digitalRead(buttonC)==LOW)
  120.   {
  121.     digitalWrite(fase3, HIGH);
  122.     digitalWrite(fase0, LOW);
  123.     delay(tempo);
  124.     digitalWrite(fase3, LOW);
  125.     digitalWrite(fase2, HIGH);
  126.     delay(tempo);
  127.     digitalWrite(fase2, LOW);
  128.     digitalWrite(fase1, HIGH);
  129.     delay(tempo);
  130.     digitalWrite(fase1, LOW);
  131.     digitalWrite(fase0, HIGH);
  132.     delay(tempo);
  133.   }
  134.   break ;
  135.    
  136.  }
  137.  
  138. }
  139.  
  140. se creo un programma contenente solo il primo if e il primo case il programma  funziona, ma se inserisco tutti i case o l'intero programma non funziona niente , neanche il primo if che prima funzionava
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement