Mise à jour du logiciel v2 Coop contrôleur poulet (4 / 5 étapes)

Étape 4: Piloté par Menu - Code

Tel que mentionné précédemment j’ai utilisé une bibliothèque système de menu LCD produite par Dr Lui - cette bibliothèque est appelée PHI_Prompt. La raison de ce choix est que je voulais la possibilité d’utiliser un simple commutateur rotatif pour sélectionner certaines variables dans le programme et les changer à une gamme avec le préfixe. Par exemple, pour chaque mois je peux maintenant manuellement définir le haut et vers le bas de la porte de temps en utilisant le système de menu.

Je ne vais pas aller trop en profondeur en expliquant le code juste les nouveautés - tout le reste est semblable au code précédent dans la première version.

Lorsque vous ouvrez Chicken_Coop_Controller_v2 vous êtes présenté avec cinq onglets :

  • Chicken_Coop_Controller_v2
  • Coop_Control
  • Coop_Menu
  • CCF
  • TempProbe

Chicken_Coop_Controller_v2

Les étiquettes principales définitions utilisées dans le code sont ici, y compris le mappage de caractères requis par le système de menu. Si vous deviez décider de se retirer à l’aide d’un commutateur rotatif, vous pouvez utiliser clavier LCD précédent (réseau analogique restauration) à la place. Si vous lisez le manuel PHI, il explique comment vous pouvez modifier l’entrée et la sortie sans beaucoup de modification au code - cleaver très.

Variables globales et les bibliothèques sont également définis ici. Le programme est initialisé et la fonction top_menu() est appelée pour démarrer le système qui se met automatiquement en « exécuter en mode ».

Coop_Control

Il s’agit ont été la majeure partie de la logique de contrôle se trouve lorsque les options de menu « RunController » est sélectionné. Les valeurs par défaut pour la porte et descendre fois sont définies. Cette version fonctionne désormais en heures et minutes - alors fois sont mis heure, minute, plutôt que nombre total de minutes que je connais n’a confondu les gens. Dans cette section, j’ai aussi ajouté la logique (SetFlashOn) qui provoque une LED s’allume dès que la porte ferme correctement et clignote lorsqu’il y a un problème lors de l’ouverture et la fermeture

Coop_Menu

Voici où la structure et la configuration pour le siège de Coop_menu :

  • Exécutez le contrôleur
  • Heure/date
  • Ensemble porte fois
  • Porte vers le haut
  • Porte vers le bas
  • Paramètres de porte
  • Sur

Pour chaque sélection de menu, il y a une fonction d’appel local qui appelle ensuite sur les fonctions Coop_Control. Cette section est relativement simple - j’espère bien !

J’ai ajouté une fonctionnalité de sécurité intégrée à la porte vers le bas et les options qui garde une trace de combien de temps ces fonctions ont été diffusées. S’ils vont au-delà des paramètres sélectionnés (MotorFailSafe) puis le moteur est arrêté.

CCF

Ce code a été significativement modifié afin qu’il fonctionne avec la bibliothèque DS1307. J’ai aussi ajouté la logique de conversion British Summer Time (CEST). En haut de ce code, j’ai créé quand les horloges vont vers l’avant et en arrière de 7 ans. Lorsque le code va à l’impression le temps il vérifie s’il faut ajouter une heure sur la norme Greenwich Mean Time (GMT). Ce code aussi imprime la porte close, le temps ouverts et le définit l’heure actuelle pour utilise ailleurs dans le code.

Dans ce code, vous pouvez également définir la date en utilisant le code d’entrée de menu et Coop. Vous êtes la force pour régler la durée d’abord en tournant et en cliquant sur l’heure et minute puis.

TempProbe

Ce code est très semblable au code précédent au contrôleur d’origine. Il lit une sonde de température OneWired et convertit en une lecture centigrade, alors affichées et comparée aux lectures précédentes pour voir si c’est un minimum ou de la lecture maximale. Dans l’affirmative, il est stocké. Les lecteurs minimales et maximales sont affichés aussi alors

J’ai mis à jour le logiciel de fonctionner avec le nouvel environnement Arduino 1.6.6. Je reçois un avertissement quand il compile, mais tout semble être ok. Si vous avez des problèmes me déplacer une ligne.

Articles Liés

Arduino Chicken Coop contrôleur

Arduino Chicken Coop contrôleur

Au cours des dernières années, que ma famille est demeurée poules ex-batterie - ils sont vers l'âge de 18 mois et ont vécu toute leur vie dans un environnement "cage". Comme nous aimons ces faisceaux peu de joies et de œufs, il peut être un drud
Contrôleur DJ USB bricolage

Contrôleur DJ USB bricolage

Beaucoup de gens se lancent dans DJing ces jours-ci, que ce soit comme un moyen d'expression de soi ou un moyen de gagner de l'argent supplémentaire. J'aime DJing puisqu'il fournit une expérience plus intéressante, impliquée et interactive-écoute de
Arduino Balance autonome contrôleur à l’aide de DIGITAL IMU, enfin !

Arduino Balance autonome contrôleur à l’aide de DIGITAL IMU, enfin !

Qu'est-ce que c'est?Contrôleur de Segway/balance DIY avec capteur DIGITAL IMU moderne.Logiciel pour un Arduino qui lui permet de lire les données de position d'une des plus récentes DIGITAL accéléromètre/gyroscope unités, processus les données en uti
Temps d’utilisation de la climatisation avec un contrôleur de la maison intelligente de Vera

Temps d’utilisation de la climatisation avec un contrôleur de la maison intelligente de Vera

Cet Instructable va montrer comment faire fonctionner votre maison que HVAC moins souvent pendant le pic « Temps d'utilisation » heures et potentiellement coupe factures d'électricité dans la moitié les jours extrêmes. J'ai mis en place en utilisant
L’utilisation de contrôleurs PS3 sur PC via Xinput surWindows 08/07/10

L’utilisation de contrôleurs PS3 sur PC via Xinput surWindows 08/07/10

Voici un tutoriel simple pour obtenir jusqu'à quatre contrôleurs PS3 fonctionne par le biais de Xinput sur votre Windows 8/7/Vista PC. L'avantage de ceci est que n'importe quel jeu Xbox 360 contrôleurs compatibles nativement avec, maintenant les cont
Création d’Animation et jeux : chapitre 2 contrôleurs de jeu

Création d’Animation et jeux : chapitre 2 contrôleurs de jeu

Bienvenue à la deuxième d'une série en plusieurs partie :Création d'Animation et jeux : contrôleurs de jeu chapitre 2Cette série plongerai dans l'utilisation de systèmes d'hélices microcontrôleur basé pour créer vos propres graphiques, animation et j
CONTRÔLEUR de marionnettes

CONTRÔLEUR de marionnettes

trois types de mouvement : humaine, mécanique, Animation.  Mélanger ensemble pour construire un contrôleur de marionnettes pour le monde réel et virtuel.Ou, Pacman - trois façons.Ce Instructable comprend :-En utilisant une résistance réglable comme e
Ajout d’un micro interne à un contrôleur xbox 360

Ajout d’un micro interne à un contrôleur xbox 360

ce tutoriel va vous montrer comment installer un microphone interne sur votre contrôleur xbox 360.  Cela fera à l'aide d'un casque d'écoute une chose du passé.AVERTISSEMENT!!!  CE MOD ANNULERA VOTRE GARANTIE ET VOTRE CONTRÔLEUR PEUT ÊTRE ENDOMMAGÉ DA
Comment greffer un contrôleur Xbox 360 sur un PCB universel

Comment greffer un contrôleur Xbox 360 sur un PCB universel

projet The PCB universel (UPCB en abrégé) a été lancé afin de permettre un seul contrôleur de jeu, en particulier lutte contre bâtons, sur les consoles différentes autant que possible. On trouvera des renseignements sur le projet sur le thread suivan
Comment mettre à jour des logiciels Apple avec Windows XP

Comment mettre à jour des logiciels Apple avec Windows XP

dans ce Instructable je vais vous dire comment mettre à jour votre logiciel Apple si c'est sur Windows XP.Étape 1: Menu Démarrer Allez dans le menu Démarrer.Étape 2: Tous les programmes Aller dans « tous les programmes » et cliquez dessus ou placez l
Ma maison PC RACING jeu SET contrôleur (** mise à jour **)

Ma maison PC RACING jeu SET contrôleur (** mise à jour **)

Voici la mise à jour sur mon volant fait maison.J'ai ajouté quelques peintures, mousse EPDM sur la roue, poignées et bouton de déplacement pour donner la sensation de grip.Et le châssis du clavier est changé en type incliné donc je peux taper facilem
À l’aide de lot mise à jour logiciel

À l’aide de lot mise à jour logiciel

J'avais besoin de certains de mes logiciels que les gens utilisent pour mettre à jour. Pour renouveler les fichiers, corriger les bugs et télécharger le nouveau code. Il m'a fallu un certain temps, mais j'ai figuré dehors comment le faire et maintena
Un contrôleur d’arrosage qui peut être mis en réseau Accueil

Un contrôleur d’arrosage qui peut être mis en réseau Accueil

Quelques semaines auparavant, j'ai publié un module de contrôleur peu grand qui fourni 6 relais de pouvoir être piloté depuis un ordinateur via un réseau.  Après que j'ai publié, je suis arrivé à penser que la même conception de base, avec quelques c
Contrôleur de l’objectif de l’Arduino - synchronisé Zoom/mise au point avec la manette classique Wii

Contrôleur de l’objectif de l’Arduino - synchronisé Zoom/mise au point avec la manette classique Wii

mon Lumix GH2 Micro Four Thirds caméra tire non seulement des vidéos fantastiques haute définition, mais avec des adaptateurs bon marchés je peux l'utiliser avec les anciennes lentilles manuelles qui sont bon marchés et souvent très haute qualité. Je