Stap 15: De CODE
** Deze code is voor een pro-ag ontwerpen Bale Scoop die is ingesteld met directionele magneetventielen
** Deze code zal u toelaten om hooi halen zonder handmatig operationele schakelaars ** Automated **
** 7 microschakelaars worden gebruikt voor einde stopt 1 op/0ff/op tuimelschakelaar en 3 moeder/op/moeder aan-uitschakelaars
** 1 relais boord kunnen regelen 6 elektromagneten 12VDC @ 5 amp
** Deze code werd disigned door Elijah Koehn juli 2013.
** Deze code is bijgewerkt 9/25/13 door ___ETK___
*/
Definiëren van ON en OFF
#define op 0
#define uit 1
Intiating Pin namen
Uitgangen
#define BedUp 7
#define BedDown 8
#define ArmOut 9
#define ArmIn 10
#define LoaderDown 11
#define LoaderUp 12
Ingangen
#define BedDownS 2
#define AutoPickUpB 3
#define AutoCloseB 4
#define ArmOutS A0
#define ArmInS A1
#define LoaderUpS A2
#define LoaderDownS A3
#define BaleInS A4
#define BaleCounterS A5
variabelen zal veranderen:
variabele voor het lezen van de schakeloptie status
int reizen = 0; Schakelaar voor Homeing BaleScoop ** reizen modus **
int velden = 0; Automatisch ophalen van Balen ** veld modus **
int BaleCS = 0; 5e bale Switch
int BaleEngagedS = 0; Baal in Loader
int LoaderUS = 0; Lader is in positie
int LoaderDS = 0; Lader is in één positie omlaag
int ArmIS = 0; Scoop is in gesloten positie
int ArmOS = 0; Scoop is in open positie
int BedDS = 0; Bed is in één positie omlaag
VOID Setup {}
Het uitschakelen van alle Relais tijdens start omhoog zodat er verkeer van balescoop
digitalWrite (LoaderUp, OFF);
digitalWrite (LoaderDown, OFF);
digitalWrite (ArmIn, OFF);
digitalWrite (ArmOut, OFF);
digitalWrite (BedDown, OFF);
digitalWrite (BedUp, OFF);
initialiseren van de alle elektromagneten als uitgangen
pinMode (LoaderUp, uitvoer);
pinMode (LoaderDown, uitvoer);
pinMode (ArmIn, uitvoer);
pinMode (ArmOut, uitvoer);
pinMode (BedDown, uitvoer);
pinMode (BedUp, uitvoer);
initialiseren van de alle Switches als input
pinMode (AutoCloseB, INPUT);
pinMode (AutoPickUpB, INPUT);
pinMode (ArmInS, INPUT);
pinMode (ArmOutS, INPUT);
pinMode (BaleInS, INPUT);
pinMode (LoaderDownS, INPUT);
pinMode (LoaderUpS, INPUT);
pinMode (BedDownS, INPUT);
pinMode (BaleCounterS, INPUT);
}
void loop {}
Lees de stand van de schakelaar-waarden:
Velden = digitalRead(AutoPickUpB);
Reist = digitalRead(AutoCloseB);
LoaderUS = digitalRead(LoaderUpS);
LoaderDS = digitalRead(LoaderDownS);
ArmIS = digitalRead(ArmInS);
ArmOS = digitalRead(ArmOutS);
BedDS = digitalRead(BedDownS);
BaleEngagedS = digitalRead(BaleInS);
BaleCS = digitalRead(BaleCounterS);
feild modus
Stap 1
Maakt zeker Loader is uit weg
Als (velden == HIGH & & ArmOS == LOW & & LoaderUS == LOW) {//Check posities
digitalWrite (LoaderUp, ON);} Lader gaat omhoog
Als (LoaderUS == HIGH) {//Check positie
digitalWrite (LoaderUp, OFF);} Lader stopt in positie
Stap 2
Maakt Arm Swing
Als (velden == HIGH & & ArmOS == LOW & & LoaderUS == HIGH & & BaleEngagedS == LOW) {//Check posities
digitalWrite (ArmOut, ON);} Arm zwaait uit
Als (ArmOS == HIGH) {//Check positie
digitalWrite (ArmOut, OFF);} Arm van de haltes in standpunt
Stap 4
Bed brengt naar Home positie
Als (velden == HIGH & & LoaderUS == HIGH & & ArmOS == HIGH & & BedDS == LOW) {/ / Check posities
digitalWrite (BedDown, ON); } //Bed daalt naar home positie
Als (BedDS == HIGH) {//Check positie
digitalWrite (BedDown, OFF);} Bed in één positie omlaag stoppen
Stap 5 herhalingen tot volledige
Loader, klaar één positie omlaag brengt
Als (velden == HIGH & & ArmOS == HIGH & & LoaderUS == HIGH & & LoaderDS == LOW & & BaleCS == LOW & & BedDS == HIGH) {//Check posities
digitalWrite (LoaderDown, ON); / * vertragen (2000); digitalWrite (LoaderDown, OFF); (2000) vertragen; * /} //Loader daalt
Als (LoaderDS == HIGH) {//Check positie
digitalWrite (LoaderDown, OFF);} De lader stopt in één positie omlaag
Stap 6 herhalingen tot volledige
Wanneer baal bezig met loader, verhoogt loader omhoog
Als (velden == HIGH & & ArmOS == HIGH & & LoaderUS == LOW & & BaleEngagedS == HIGH & & BedDS == HIGH) {//Check posities
digitalWrite (LoaderUp, ON);} Lader omhoog gaat en herhaalt stap 3
Stap 7
Zodra 5thBale schakelaar is bezig, Loader pakt 1 meer bale en stopt in de up positie
schommels schep terug in en stopt in ** reizen modus **
Als (velden == HIGH & & ArmIS == LOW & & BaleCS == HIGH & & LoaderUS == HIGH & & BaleEngagedS == HIGH) {//Check posities
digitalWrite (ArmIn, ON);} Arm gaat in
Als (ArmIS == HIGH) {//Check positie
digitalWrite (ArmIn, OFF);} Stopt arm gesloten positie
Auto close ** reizen modus **
Stap 1
Verhoogt loader omhoog zodat hij niet arm sloeg
Als (reist == HIGH & & LoaderUS == LOW) {/ / Check posities
digitalWrite (LoaderUp, ON); } //If switch betrokken Raise loader omhoog
Als (LoaderUS == HIGH) {//Check positie
digitalWrite (LoaderUp, OFF); } //Stop loader in positie
Stap 2
Schommels Arm naar Home positie
Als (reist == HIGH & & LoaderUS == HIGH & & ArmIS == LOW) {/ / Check posities
digitalWrite (ArmIn, ON); } //If switch geëngageerde en Loader omhoog, Swin Arm in
Als (ArmIS == HIGH) {//Check positie
digitalWrite (ArmIn, OFF);} Stoppen met Arm in gesloten positie
Stap 3
Bed brengt naar Home positie
Als (reist == HIGH & & LoaderUS == HIGH & & ArmIS == HIGH & & BedDS == LOW) {/ / Check posities
digitalWrite (BedDown, ON); } //Bed daalt naar home positie
Als (BedDS == HIGH) {//Check positie
digitalWrite (BedDown, OFF);} Bed in één positie omlaag stoppen
}