Deelactiviteit 31: De Code van de met behulp van schakelopties
Aangezien deze controller gewoon een stelletje schakelaars is, kunnen we alle code dat had te maken met de potentiameters die in de duim joysticks waren weggooien. Dit betekent dat we geen controle over de snelheid.
Hier is de controller in actie:
Hier is de code kan worden uitgevoerd het spel van de kraan met de Leap Frog-controller. Dit gebruikt enkel 6 push zien om te controleren de stappenmotor en de twee DC-motoren.
Arduino Code / / /
Snelheden
int Delay_X = 1000; stap van vertraging: microseconden (omhoog vertraging = trager
int Speed_S = 255; spindel snelheid 0-255
int Speed_C = 255; Clow snelheid 0-255
STEPPER PINS
Uitgangen
int Step_X = 13;
int Dir_X = 12;
int Enable_X = 8;
Ingangen
int links = 16;
int rechts = 17;
variabelen
int val_Left = laag;
int val_Right = laag;
SPINDEL PINS
Uitgangen
int Dir_A = 4;
int Speed_A = 5;
Ingangen
int omhoog = 14;
int omlaag = 15;
variabelen
int val_Up = laag;
int val_Down = laag;
KLAUW-PINS
Uitgangen
int Dir_B = 7;
int Speed_B = 6;
Ingangen
int. Open = 18;
int dicht = 19;
variabelen
int val_Open = laag;
int val_Close = laag;
void setup () {}
Setup van stepper pinnen
pinMode (Step_X, uitvoer);
pinMode (Dir_X, uitvoer);
pinMode (Enable_X, uitvoer);
pinMode (links, INPUT);
pinMode (recht, INPUT);
Setup DC motor A pins - voor spindel
pinMode (Dir_A, uitvoer);
pinMode (Speed_A, uitvoer);
pinMode (Up, INPUT);
pinMode (naar beneden, INPUT);
Setup DC motor B pins - voor klauw
pinMode (Dir_B, uitvoer);
pinMode (Speed_B, uitvoer);
pinMode (Open, INPUT);
pinMode (Close, INPUT);
}
void loop {}
STEPPER LEZEN EN BEHEER / /
val_Left = digitalRead(Left);
val_Right = digitalRead(Right);
Als (val_Left == HIGH) {}
digitalWrite(Enable_X,HIGH); inschakelen
digitalWrite (Dir_X, hoge); Set richting
digitalWrite(Step_X,HIGH);
delayMicroseconds(2);
digitalWrite(Step_X,LOW);
delayMicroseconds(Delay_X);
}
Als (val_Right == HIGH) {}
digitalWrite(Enable_X,HIGH); inschakelen
digitalWrite (Dir_X, laag); Richting (andere richting) instellen
digitalWrite(Step_X,HIGH);
delayMicroseconds(2);
digitalWrite(Step_X,LOW);
delayMicroseconds(Delay_X);
}
Als ((val_Left == LOW) & & (val_Right == LOW)) {}
digitalWrite (Enable_X, laag); Stepper af
}
SPINDEL LEZEN EN BEHEER / /
val_Up = digitalRead(Up);
val_Down = digitalRead(Down);
Als (val_Up == HIGH) {}
digitalWrite (Dir_A, hoge);
analogWrite (Speed_A, Speed_S);
}
Als (val_Down == HIGH) {}
digitalWrite (Dir_A, laag);
analogWrite (Speed_A, Speed_S);
}
Als ((val_Up ==LOW) & & (val_Down == LOW)) {}
analogWrite (Speed_A, 0);
}
KLAUW LEZEN EN BEHEER / /
val_Open = digitalRead(Open);
val_Close = digitalRead(Close);
Als (val_Open == HIGH) {}
digitalWrite (Dir_B, hoge);
analogWrite (Speed_B, Speed_C);
}
Als (val_Close == HIGH) {}
digitalWrite (Dir_B, laag);
analogWrite (Speed_B, Speed_C);
}
Als ((val_Open ==LOW) & & (val_Close == LOW)) {}
analogWrite (Speed_B, 0);
}
}