Étape 5: Code réel
stepporty octet ; //what fait partie de l’étape pour aller à
octet val = 3; //delay entre les étapes
octet db = 4; / / db, da, pb, pa, et dans, tous peuvent être tout sauf broche 7 (digital pin2, andalog in1) sur le brochage standard
Cette broche doit être l’axe d’entrée horloge/étape.
DB est out4
da octets = 3; //out3
pa de l’octet = 0; //out1
octet pb = 1; //out2
Byte en = 1; //direction broche d’entrée ne pas changer ceci
dsd long = 100 ; //where, nous voulons être le moteur
longs pos; //where que c’est
void setup() {}
Serial.Begin(9600) ;
attachInterrupt (0, count, RISING); //executes « Sub count » chaque fois que broche 7 (interruption 0) est portée haute
pinMode (db, sortie); //sets entrées et sorties
pinMode (da, sortie) ;
pinMode (pb, sortie) ;
pinMode (pa, sortie) ;
pinMode (in, entrée) ;
}
void loop() {//this contrôles juste pour voir si il faut déplacer vers l’avant ou vers l’arrière et se déplace en conséquence
Si (dsd! = pos) {}
if(DSD < POS) {}
Back() ;
Delay(Val) ;
}
Si (dsd > pos) {}
FWD() ;
Delay(Val) ;
// }
}}
void count() {//this incrémente la position désirée lorsque cette broche est portée haut
il doit utiliser le même NIP parce que
l’attiny85 n’a que 5 broches (bien que reset pourrait être utilisé comme une broche e/s, il ne peut pas
être reprogramed après cela.
Si (analogRead(in) > 1) {//this détermine si la direction est haute ou basse
ne me demandez pas pourquoi on travaille, mais il fait. Après environ 7 heures d’affilée d’essayer de résoudre
Cette ligne de code, je ne donne pas un rat derrière pourquoi cela fonctionne tant qu’il ne
DSD-= 1 ; foward si positif
} else {}
DSD += 1; //backward si ce n’est pas
}}
void fwd() {//both fwd retour figure quelle partie de l’étape est prévu et incrémenter la position
et la puissance du moteur en conséquence.
PDS ++ ;
Switch (stepporty) {}
case 0 :
One() ;
stepporty = 1 ;
rupture ;
cas 1 :
onehalf() ;
stepporty = 2 ;
rupture ;
cas 2 :
Two() ;
stepporty = 3 ;
rupture ;
cas 3 :
twohalf() ;
stepporty = 4 ;
rupture ;
cas 4 :
Three() ;
stepporty = 5 ;
rupture ;
cas no 5 :
threehalf() ;
stepporty = 6 ;
rupture ;
cas 6 :
four() ;
stepporty = 7 ;
rupture ;
cas 7 :
fourhalf() ;
stepporty = 0 ;
rupture ;
} }
back() Sub {}
POS--;
Switch (stepporty) {}
cas 2 :
One() ;
stepporty = 1 ;
rupture ;
cas 3 :
onehalf() ;
stepporty = 2 ;
rupture ;
cas 4 :
Two() ;
stepporty = 3 ;
rupture ;
cas no 5 :
twohalf() ;
stepporty = 4 ;
rupture ;
cas 6 :
Three() ;
stepporty = 5 ;
rupture ;
cas 7 :
threehalf() ;
stepporty = 6 ;
rupture ;
case 0 :
four() ;
stepporty = 7 ;
rupture ;
cas 1 :
fourhalf() ;
stepporty = 0 ;
rupture ;
} }
void fourhalf() {}
digitalWrite (db, HIGH); //4
digitalWrite (da, faible) ;
digitalWrite (pb, faible) ;
digitalWrite (pa, HIGH) ;
}
void four() {}
digitalWrite (db, HIGH) ;
digitalWrite (da, faible) ;
digitalWrite (pb, faible) ;
digitalWrite (pa, faible) ;
}
void threehalf() {}
digitalWrite (db, HIGH) ;
digitalWrite (da, HIGH) ;
digitalWrite (pb, faible) ;
digitalWrite (pa, faible) ;
}
void three() {}
digitalWrite (db, faible) ;
digitalWrite (da, HIGH) ;
digitalWrite (pb, faible) ;
digitalWrite (pa, faible) ;
}
void twohalf() {}
digitalWrite (db, faible) ;
digitalWrite (da, HIGH) ;
digitalWrite (pb, HIGH) ;
digitalWrite (pa, faible) ;
}
void two() {}
digitalWrite (db, faible) ;
digitalWrite (da, faible) ;
digitalWrite (pb, HIGH) ;
digitalWrite (pa, faible) ;
}
void onehalf() {}
digitalWrite (db, faible) ;
digitalWrite (da, faible) ;
digitalWrite (pb, HIGH) ;
digitalWrite (pa, HIGH) ;
}
void one() {}
digitalWrite (db, LOW); //1
digitalWrite (da, faible) ;
digitalWrite (pb, faible) ;
digitalWrite (pa, HIGH) ;
}