Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // definiamo una variabile che rappresenta lo stato del sistema ed una che definisce invece la posizione del motore
- int iState = 0;
- int Pos = 0;
- void loop(){
- switch (iState){
- // Stato iniziale: se ricevo l'ingresso di START avvio il ciclo di prelievo oggetto
- case 0:
- if(digitalRead(START) == LOW){
- iState = 1;
- Pos += 2000;
- }
- break;
- // Avanti: quando il motore raggiunge la posizione chiudo la pinza ed aggiorno la nuova posizione da raggiungere
- case 1:
- if (Stepper1.distanceToGo() == 0){
- chiudiPinza();
- Pos -= 2000;
- iState = 2;
- }
- break;
- // Indietro: quando il motore raggiunge la posizione apro la pinza e ritorno allo stato iniziale 0
- case 2:
- if (Stepper1.distanceToGo() == 0){
- iState = 0;
- apriPinza();
- }
- break;
- }
- Stepper1.runSpeedToPosition();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement