Matériel agricole Microcontrolled (15 / 16 étapes)

Étape 15 : Le CODE

/*
** Ce code se rapporte à une pro-ag designs Scoop de Bale qui est mis en place avec des électrovannes directionnel
** Ce code vous permettra de ramasser le foin sans actionner manuellement les commutateurs ** automatique **
** 7 micro commutateurs sont utilisés pour fin s’arrête 1/0ff/sur bascule et maman/sur/maman 3 interrupteurs à bascule
** 1 relais Conseil capable de contrôler 6 solénoïdes 12VDC @ 5 amp
** Ce code était disigned par Elijah Koehn juillet 2013.
** Ce code a été mis à jour 25/09/13 par ___ETK___

*/
Définition ON et OFF
#define sur 0
#define OFF 1

Noms de Pin de lancement
Sorties
#define BedUp 7
#define cantonnement 8
#define ArmOut 9
#define ArmIn 10
#define LoaderDown 11
#define LoaderUp 12

Entrées

#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
variables vont changer :
variable pour la lecture de l’état de commutation
Voyages int = 0 ;             Interrupteur pour Homeing BaleScoop ** voyage Mode **
int champs = 0 ;            Automaticaly ramasser balles ** champ Mode **
int BaleCS = 0 ;             5 interrupteur de bale
int BaleEngagedS = 0 ;       Balle dans le chargeur
int LoaderUS = 0 ;           Chargeur est en position haute
int LoaderDS = 0 ;           Chargeur est en position basse
int ArmIS = 0 ;              Scoop est en position fermée
int ArmOS = 0 ;              Scoop est en position ouverte
int BedDS = 0 ;              Lit est en position basse

void setup() {}

Désactiver tous les relais lors du démarrage vers le haut donc il y a mouvement de balescoop
digitalWrite (LoaderUp, OFF) ;
digitalWrite (LoaderDown, OFF) ;
digitalWrite (ArmIn, OFF) ;
digitalWrite (ArmOut, OFF) ;
digitalWrite (cantonnement, OFF) ;
digitalWrite (BedUp, OFF) ;

initialiser les solénoïdes tous comme sorties
pinMode (LoaderUp, sortie) ;
pinMode (LoaderDown, sortie) ;
pinMode (ArmIn, sortie) ;
pinMode (ArmOut, sortie) ;
pinMode (cantonnement, sortie) ;
pinMode (BedUp, sortie) ;
initialiser les commutateurs tous comme entrées
pinMode (entrée, AutoCloseB) ;
pinMode (entrée, AutoPickUpB) ;
pinMode (entrée, ArmInS) ;
pinMode (entrée, ArmOutS) ;
pinMode (entrée, BaleInS) ;
pinMode (entrée, LoaderDownS) ;
pinMode (entrée, LoaderUpS) ;
pinMode (entrée, BedDownS) ;
pinMode (entrée, BaleCounterS) ;

}

void loop() {}

lire l’état des valeurs de l’interrupteur :
Champs = digitalRead(AutoPickUpB) ;
Voyage = digitalRead(AutoCloseB) ;
LoaderUS = digitalRead(LoaderUpS) ;
LoaderDS = digitalRead(LoaderDownS) ;
ArmIS = digitalRead(ArmInS) ;
ArmOS = digitalRead(ArmOutS) ;
BedDS = digitalRead(BedDownS) ;
BaleEngagedS = digitalRead(BaleInS) ;
BaleCS = digitalRead(BaleCounterS) ;

Feild Mode

Étape 1
Fait certain Loader est hors de
Si (champs == HIGH & & ArmOS == LOW & & LoaderUS == faible) {//Check postes
digitalWrite (LoaderUp, Ontario);}                           Chargeur Monte
Si (LoaderUS == HIGH) //Check position {
digitalWrite (LoaderUp, OFF);}                        Chargeur s’arrête en position haute

Étape 2
Établit les bras balancent
Si (champs == HIGH & & ArmOS == LOW & & LoaderUS == HIGH & & BaleEngagedS == faible) {//Check postes
digitalWrite (ArmOut, ON);}                                                  Balançoires de bras dehors
Si (ArmOS == HIGH) //Check position {
digitalWrite (ArmOut, OFF);}                                              Bras s’arrête en position
Étape 4
Apporte le lit jusqu'à la position de maison
Si (champs == HIGH & & LoaderUS == HIGH & & ArmOS == HIGH & & BedDS == faible) {/ / vérifier les postes
digitalWrite (cantonnement, Ontario) ;   } //Bed descend vers la position maison
Si (BedDS == HIGH) //Check position {
digitalWrite (cantonnement, OFF);}                                      Arrêter le lit en Position basse

Étape 5 répétitions jusqu’au complet
Porte chargeur vers le bas, position "prêt"
Si (champs == HIGH & & ArmOS == HIGH & & LoaderUS == HIGH & & LoaderDS == LOW & & BaleCS == LOW & & BedDS == haute) {//Check postes
digitalWrite (LoaderDown, Ontario) ; / * retarder (2000) ; digitalWrite (LoaderDown, OFF) ; retarder (2000); * /} //Loader tombe en panne
Si (LoaderDS == HIGH) //Check position {
digitalWrite (LoaderDown, OFF);}                                                   Loader s’arrête en position basse

Étape 6 répétitions jusqu’au complet
Lorsque la balle engagée dans le chargeur, chargeur soulève vers le haut
Si (champs == HIGH & & ArmOS == HIGH & & LoaderUS == LOW & & BaleEngagedS == HIGH & & BedDS == HIGH) {//Check postes
digitalWrite (LoaderUp, Ontario);}                                                  Chargeur monte et répète l’étape 3

Étape 7
Une fois que 5thBale touche est enfoncée, Loader saisit 1 balle plus et s’arrête en position haut
sautes d’évider dos dans et s’arrête à ** voyage Mode **
Si (champs == HIGH & & ArmIS == LOW & & BaleCS == HIGH & & LoaderUS == HIGH & & BaleEngagedS == HIGH) {//Check postes
digitalWrite (ArmIn, ON);}                                                                 Bras va dans
Si (ArmIS == HIGH) //Check position {
digitalWrite (ArmIn, OFF);}                                                              Position fermée du bras s’arrête

Auto close ** voyage Mode **

Étape 1
Déclenche chargeur vers le haut, donc il ne touche le bras
Si (voyages == HIGH & & LoaderUS == faible) {/ / vérifier les postes
digitalWrite (LoaderUp, Ontario) ; } //If commutateur engagé chargeur Raise up
Si (LoaderUS == HIGH) //Check position {
digitalWrite (LoaderUp, OFF) ; } //Stop loader en position haute

Étape 2
Balançoires de bras à la position de maison
Si (voyages == HIGH & & LoaderUS == HIGH & & ArmIS == faible) {/ / vérifier les postes
digitalWrite (ArmIn, Ontario) ;  } //If commutateur engagés et chargeur vers le haut, Swin Arm dans
Si (ArmIS == HIGH) //Check position {
digitalWrite (ArmIn, OFF);}                        Arrêter le bras en Position fermée

Étape 3
Apporte le lit jusqu'à la position de maison
Si (voyages == HIGH & & LoaderUS == HIGH & & ArmIS == HIGH & & BedDS == faible) {/ / vérifier les postes
digitalWrite (cantonnement, Ontario) ;   } //Bed descend vers la position maison
Si (BedDS == HIGH) //Check position {
digitalWrite (cantonnement, OFF);}                                      Arrêter le lit en Position basse
}

Articles Liés

Ventilateur t/mn avec capteur à effet hall interne et Arduino (Intro à interrompre la matériel et écran LCD)

Ventilateur t/mn avec capteur à effet hall interne et Arduino (Intro à interrompre la matériel et écran LCD)

Pour mon autre projet pour le travail, j'ai dû mesurer la vitesse de rotation du rotor en révolutions par Minute (tr/min) d'un ventilateur d'ordinateur mis à jour le. Il avait trois fils qui sortent et qui fait TIC TAC moi que peut-être qu'il a un mo
Comment construire votre premier avion RC pour sous $100 - émetteur, expédition, batterie, chargeur et matériel inclus

Comment construire votre premier avion RC pour sous $100 - émetteur, expédition, batterie, chargeur et matériel inclus

Avouons-le : avions radiocommandés sont coûteuses, surtout si vous êtes nouveau dans le hobby. Solutions moins chères font leur apparition chaque jour, mais pour la plupart, hobby-catégorie avions viennent avec un prix de gros. Electronics packs et k
Vitesse haute Precision micro perceuse de 'Matériel utile'

Vitesse haute Precision micro perceuse de 'Matériel utile'

Fabriqué de précision haute vitesse micro perceuse principalement du "matériel utile » (quelqu'un d'autre « junk » et de la ferraille)Mon premier Instructable, essayez de ne pas être trop méchant.Un grand Merci à Andrea Biffi pour poster sa perceuse
Petites pièces/matériel/outil de stockage Solution armoire

Petites pièces/matériel/outil de stockage Solution armoire

Je suis une ventouse pour organisation ! Je suis un grand promoteur de tout avoir une aire désignée ou à domicile dans mon atelier. Étant donné que ma boutique est un endroit que j'ai chercher réconfort et tranquillité, il est important qu'il soit or
BRICOLAGE-matériel Photo sac à dos

BRICOLAGE-matériel Photo sac à dos

si vous aimez expérimenter des techniques photographiques, ou si vous êtes un photographe professionnel, vous avez probablement besoin de voyager avec un équipement très complet. Vous pouvez acheter très bons sacs photographiques du type avec diviseu
Des soins appropriés pour votre matériel de 360 et 360

Des soins appropriés pour votre matériel de 360 et 360

si vous êtes un de ceux qui veulent prendre vraiment bien soin de votre 360, alors c'est l'Instructable pour vous.Il s'agit de mon premier instructable, donc s'il vous plaît me donner quelques informations sur comment j'ai fait ou comment je peux amé
Machine inutile - Plans complets et Sources matérielles

Machine inutile - Plans complets et Sources matérielles

Perdre des heures à s'amuser et rien dans cet accomplissement envoûtanteet toy addictif ! La Machine inutile devient rapidement le centre de l'attention à tout rassemblement.Ce petit bijou est sûr de recueillir un rire, un regard interrogateur et plu
Testez votre matériel pour déterminer la vitesse du laser et de réglages de puissance

Testez votre matériel pour déterminer la vitesse du laser et de réglages de puissance

Dans ce Instructable, nous allons utiliser un fichier de test pour savoir comment le laser fonctionne avec votre matériel quand il découpe et gravure à des vitesses différentes et les paramètres d'alimentation. Nous ferons tout cela avant que nous co
Pièces & organisateur matériel

Pièces & organisateur matériel

Organisateur mural pas cher simple monté matériel & pièces.La conception permet l'Assemblée facile lot, bois de faible coût, personnalisation de taille bin et simple expansion future.Le matériau utilisé peut varier, mais pour la vidéo j'ai utilisé 1x
Comment faire un module logiciel de Tessel-style de matériel Adafruit-style

Comment faire un module logiciel de Tessel-style de matériel Adafruit-style

Tessel est un microcontrôleur connecté à internet avec Wifi intégré et diverses autres fonctionnalités. Il est conçu pour une interaction facile grâce à une série de modules, tels que Bluetooth Low Energy, Servo et d'autres.La compagnie a créé des mo
Le matériel de porte de roulement

Le matériel de porte de roulement

J'ai un hangar de foin et de la remise d'équipement nécessitant des portes qui peuvent rouler sur le côté.J'ai fait ce matériel à l'aide de 2 pouces par 3/16 fer d'angle, ligne de patin à roues et 1 ½ par ¼ barre plate. Les roues sont remodelés pour
Le matériel de voie frères poche porte rouleau

Le matériel de voie frères poche porte rouleau

Ma femme et j'ai marqué 3 victorien vieux grande portes de poche, complets avec le matériel de rouleau. La date du brevet est de 1890, et par les regards d'eux, ils n'ont pas été touchés depuis. Le matériel est en assez bon état, une fois que j'ai ne
Verrouillage des touches matérielles

Verrouillage des touches matérielles

Voici un verrouillage du clavier à six chiffres que j'ai fait complètement implémentée dans le matériel (sans programmation). Si vous aimez ce projet Merci de voter pour elle dans le défi de l'épilogue.Principe de fonctionnement :Vous définissez le c
Hang léger les accessoires Halloween sans matériel Visible

Hang léger les accessoires Halloween sans matériel Visible

il s'agit d'un tutoriel simple et rapide sur comment accrocher les articles légers de votre plafond sans la visser dans les crochets. L'objet sera simplement balancer d'un thread clair qui est fixé au plafond sans aucun matériel visible. Cela semble