Étape 5: Code
http://Electronics-DIY.com/Electronics/stepper_motors.php
http://Arduino.cc/en/Tutorial/StepperUnipolar
Une fois que vous avez, appliquez le code suivant à votre arduino et tester. J’ai donné //notes pour vous donner une idée de ce que je pensais quand je l’ai écrit.
int buttonPin = 3 ; goupilles d’étiquettes pour faciliter plus tard
int motorPin1 = 8 ;
int motorPin2 = 11 ;
int motorPin3 = 10 ;
int motorPin4 = 9 ;
int ledPin = 13 ;
int delayTime = 20 ; définit un délai de base, mon moteur pas à pas tremblaient
Si j’ai utilisé moins 20ms puis
void setup() {}
pinMode (motorPin1, sortie) ; permet de savoir comment traiter chaque broche arduino
pinMode (motorPin2, sortie) ;
pinMode (motorPin3, sortie) ;
pinMode (motorPin4, sortie) ;
pinMode (ledPin, sortie) ;
beginSerial(9600) ;
pinMode (buttonPin, entrée) ; votre interrupteur à gâchette /
}
void loop() {//sets une boucle
Si (digitalRead(buttonPin) == haute) //will abaisser seulement araignée si la condition est remplie
{
pour (int i = 0; j’ai < = 120; i ++) //will répéter après le code 120 fois
{
digitalWrite (motorPin1, HIGH) ; le code prévoit une seule étape
digitalWrite (motorPin2, basse) ; le répéter s’abaisse 120 fois
digitalWrite (motorPin3, basse) ; araignée environ 2 pieds
digitalWrite (motorPin4, HIGH) ;
Delay(delayTime) ;
digitalWrite (motorPin1, basse) ;
digitalWrite (motorPin2, basse) ;
digitalWrite (motorPin3, HIGH) ;
digitalWrite (motorPin4, HIGH) ;
Delay(delayTime) ;
digitalWrite (motorPin1, basse) ;
digitalWrite (motorPin2, HIGH) ;
digitalWrite (motorPin3, HIGH) ;
digitalWrite (motorPin4, basse) ;
Delay(delayTime) ;
digitalWrite (motorPin1, HIGH) ;
digitalWrite (motorPin2, HIGH) ;
digitalWrite (motorPin3, basse) ;
digitalWrite (motorPin4, basse) ;
Delay(delayTime) ;
}
Delay(480) ; 480 + 20 = 500ms ou 1/2 seconde de retard
digitalWrite (ledPin, HIGH) ; avant la lampe s’allume
Delay(2000) ; reste allumé pendant 2 secondes
digitalWrite (ledPin, basse) ; s’éteint
Delay(500) ; attend une seconde moitié
pour (int i = 0; i < = 120; i ++) //repeats au-dessus du code à l’envers
{
digitalWrite (motorPin1, HIGH) ; retour-élever araignée
digitalWrite (motorPin2, HIGH) ;
digitalWrite (motorPin3, basse) ;
digitalWrite (motorPin4, basse) ;
Delay(delayTime) ;
digitalWrite (motorPin1, basse) ;
digitalWrite (motorPin2, HIGH) ;
digitalWrite (motorPin3, HIGH) ;
digitalWrite (motorPin4, basse) ;
Delay(delayTime) ;
digitalWrite (motorPin1, basse) ;
digitalWrite (motorPin2, basse) ;
digitalWrite (motorPin3, HIGH) ;
digitalWrite (motorPin4, HIGH) ;
Delay(delayTime) ;
digitalWrite (motorPin1, HIGH) ;
digitalWrite (motorPin2, basse) ;
digitalWrite (motorPin3, basse) ;
digitalWrite (motorPin4, HIGH) ;
Delay(delayTime) ;
}
}
d’autre //if conditions ne sont pas réunies (pas haute)
{
}
Delay(1000) ; Attendez une seconde, puis réessayez