Makecourse USF: Arduino godis maskinen (3 / 4 steg)
Steg 3: kod
Robert Core
Med hjälp av två knappar för att styra riktningen på stegmotor
int button_1 = 2. //Button 1 sitter digital port 2
int button_2 = 3; //Button 2 är ansluten till digital anslutning 3
int motorPin1 = 8; //Motor stift 1 sitter digital port 8
int motorPin2 = 9; //Motor stift 2 är ansluten till digital port 9
int motorPin3 = 10; //Motor stift 3 sitter digital port 10
int motorPin4 = 11. //Motor stift 4 sitter i digitala porten 11
int motor_Speed = 3; //Tells hur snabbt stepper motor är
int motor_Step;
int värde1 = 0;
int värde2 = 0;
void setup() {//input och output värden av stiften
pinMode (button_1, ingång);
pinMode (button_2, ingång);
pinMode (motorPin1, produktionen);
pinMode (motorPin2, produktionen);
pinMode (motorPin3, produktionen);
pinMode (motorPin4, produktionen);
}
void loop() {
värde1 = digitalRead (button_1), trycker på //if knapp 1 motor går medurs
om (värde1 == hög)
{
digitalWrite (motorPin1, hög); //Motor PIN-kod är på
digitalWrite (motorPin2, låg); //Motor pin är avstängd
digitalWrite (motorPin3, låg); //Motor pin är avstängd
digitalWrite (motorPin4, låg); //Motor pin är avstängd
Delay(motor_Speed);
digitalWrite (motorPin1, låg); //Motor pin är avstängd
digitalWrite (motorPin2, hög); //Motor PIN-kod är på
digitalWrite (motorPin3, låg); //Motor pin är avstängd
digitalWrite (motorPin4, låg); //Motor pin är avstängd
Delay(motor_Speed);
digitalWrite (motorPin1, låg); //Motor pin är avstängd
digitalWrite (motorPin2, låg); //Motor pin är avstängd
digitalWrite (motorPin3, hög); //Motor PIN-kod är på
digitalWrite (motorPin4, låg); //Motor pin är avstängd
Delay(motor_Speed);
digitalWrite (motorPin1, låg); //Motor pin är avstängd
digitalWrite (motorPin2, låg); //Motor pin är avstängd
digitalWrite (motorPin3, låg); //Motor pin är avstängd
digitalWrite (motorPin4, hög); //Motor PIN-kod är på
Delay(motor_Speed);
}
värde2 = digitalRead (button_2), //if knapp 2 trycks motor går motsols
om (värde2 == hög)
{
digitalWrite (motorPin4, hög); //Motor PIN-kod är på
digitalWrite (motorPin3, låg); //Motor pin är avstängd
digitalWrite (motorPin2, låg); //Motor pin är avstängd
digitalWrite (motorPin1, låg); //Motor pin är avstängd
Delay(motor_Speed);
digitalWrite (motorPin4, låg); //Motor pin är avstängd
digitalWrite (motorPin3, hög); //Motor PIN-kod är på
digitalWrite (motorPin2, låg); //Motor pin är avstängd
digitalWrite (motorPin1, låg); //Motor pin är avstängd
Delay(motor_Speed);
digitalWrite (motorPin4, låg); //Motor pin är avstängd
digitalWrite (motorPin3, låg); //Motor pin är avstängd
digitalWrite (motorPin2, hög); //Motor PIN-kod är på
digitalWrite (motorPin1, låg); //Motor pin är avstängd
Delay(motor_Speed);
digitalWrite (motorPin4, låg); //Motor pin är avstängd
digitalWrite (motorPin3, låg); //Motor pin är avstängd
digitalWrite (motorPin2, låg); //Motor pin är avstängd
digitalWrite (motorPin1, hög); //Motor PIN-kod är på
Delay(motor_Speed);
}
}
Ovan är den kod som jag använde för godis maskinen. Det är en grundläggande två stepper motor knappkontroll. I sekvensen visar det en motor stift medan resten är avstängda. Sedan går nästa motor stiftet på medan resten är avstängda och så vidare. Knappen 1 (val 1) är i en riktning (motorpin 1,2,3,4) medan knappen 2 (val 2) är i den andra riktningen (motorpin 4,3,2,1). Förseningen är hur länge mellan varje steg Arduino väntar. Ju mindre antal desto snabbare. Jag fick reda på att en fördröjning på 3 är den snabbaste nummerlistan kan gå.