Advertisement
TolentinoCotesta

Esempio macchina a stati

Jun 15th, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. // definiamo una variabile che rappresenta lo stato del sistema ed una che definisce invece la posizione del motore
  2. int iState = 0;
  3. int Pos = 0;
  4.  
  5.  
  6. void loop(){
  7.  
  8.     switch (iState){
  9.         // Stato iniziale: se ricevo l'ingresso di START avvio il ciclo di prelievo oggetto
  10.         case 0:
  11.             if(digitalRead(START) == LOW){
  12.                 iState = 1;
  13.                 Pos += 2000;
  14.             }
  15.             break;
  16.         // Avanti: quando il motore raggiunge la posizione chiudo la pinza ed aggiorno la nuova posizione da raggiungere
  17.         case 1:
  18.             if (Stepper1.distanceToGo() == 0){
  19.                 chiudiPinza();
  20.                 Pos -= 2000;
  21.                 iState = 2;
  22.             }
  23.             break;
  24.         // Indietro: quando il motore raggiunge la posizione apro la pinza e ritorno allo stato iniziale 0
  25.         case 2:
  26.             if (Stepper1.distanceToGo() == 0){
  27.                 iState = 0;
  28.                 apriPinza();
  29.             }
  30.             break;
  31.     }
  32.  
  33.     Stepper1.runSpeedToPosition();
  34.  
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement