CO2 Refroidisseur d’eau au Laser (8 / 12 étapes)

Étape 8: L’esquisse de Thermostat

Bibliothèques de prérequis

L’esquisse de l’Arduino est attaché. Vous devez les bibliothèques suivantes installés afin de compiler et de l’utiliser :

  1. OneWire - utilisé pour lire le thermometre étanche IP65
  2. LiquidCrystal_I2C - utilisé pour l’écrans LCD série

Je vous recommande un petit circuit de construction et croquis pour tester chaque composant avant de construire le plus grand circuit, juste au cas où quelque chose a changé et vous avez besoin d’une autre bibliothèque.

Le fichier de dessin

Si vous souhaitez utiliser mon esquisse comme-est, il est attaché à cette étape comme Thermostat.ino. Il devrait fonctionner avec votre Arduino Uno (ou clone) sans modification si vous avez suivi mon circuit.

Comment ça marche...

Le thermostat est assez simple, et pas à la différence du thermostat vous permet de contrôler la température dans votre maison. L’écran LCD affiche la température actuelle de l’eau en degrés Fahrenheit et Celsius sur la première ligne et le réglage actuel sur la deuxième ligne. Chaque fois que la température de l’eau est supérieur au paramètre, la pompe et le refroidisseur sont allumés. Lorsque la température descend 1,75 F ° au-dessous du réglage, les refroidisseurs, pompe et les fans tous arrêtera jusqu'à ce que la température dépasse à nouveau le réglage.

Verrouillage d’entrée

En raison de la difficile d’obtenir un nettoyage du signal de l’Arduino interrompre Pins (c’est peut-être un problème avec mon vieux sur-utilisé Arduino Uno ? Ou c’est peut-être à cause du bruit du reste du circuit), j’ai ajouté une fonctionnalité de "Paramètre Lock". Afin de changer le thermostat de réglage vous doit maintenir enfoncés les boutons du haut et le bas pendant 1 seconde. Lorsque cela a été détecté, l’écran LCD affichera le message «---UNLOCKED---» sur la ligne supérieure et "Temp entrez:" sur la deuxième ligne de 3/4 de seconde. Alors qu’il est déverrouillé, les boutons haut et bas peuvent servir pour augmenter ou baisser le réglage du thermostat. Si aucune touche n’est pressée pendant 10 secondes, le lock-out d’entrée est rétabli. Si les deux boutons sont pressés et tenues simultanément à nouveau pendant 1 seconde, le verrouillage est également rétabli, mais soyez averti qu’il peut être difficile d’appuyer simultanément sur les deux boutons sans rebonds causant la réglage de température pour augmenter ou diminuer d’une ou deux. Pour cette raison, que vous préférerez peut-être juste laisse le système rebloquer sur ses propres en laissant les boutons intact pendant 10 secondes.

Lecture de la température

Veuillez lire attentivement l’esquisse pour tous les détails sur le fonctionne du code. Ici, je soulignerai seulement certaines parties de celui-ci. En particulier, la classe TemperatureModule utilise la bibliothèque OneWire 2 pour lire la température de la DS18B20 dans l’IP65 étanche numérique la sonde à température. La classe TemperatureModule est issue d’un code dans le DS18x20_Temperature, esquisse exemple OneWire 2. Il propose seulement deux méthodes : Initialize() et ReadTemperatureF(). Initialize() doit être appelée avant ReadTemperatureF est appelée pour la première fois. ReadTemperatureF sera de retour la température en degrés Fahrenheit et se remplit dans une variable passée avec la température en degrés Celsius. Une instance de TemperatureModule est déclarée à la ligne 171 de l’esquisse, après la définition de la classe :

Vous noterez également g_lcd sur la ligne 172 - une instance de LiquidCrystal_I2C. Deux de ces objets globaux utilisent les macros définis au début du fichier. Ces macros également définissent chaque goupille de Arduino utilisé par le croquis :

Programme d’installation

Lignes 1 à 3 comprennent les bibliothèques utilisées par cette esquisse. Sur la ligne 3, vous verrez la comprennent des EEPROM.h. Il sera utilisé pendant l’installation, et après le réglage du thermostat est ajusté à enregistrer la température dans l’Arduino de EEPROM pour qu’on se souvient à travers les réinitialisations de puissance. La température est stockée comme un seul octet et autorisée la température paramètres passent de 35° F à 85° F. Cela semble être une fourchette raisonnable pour nos besoins, et en utilisant un seul octet pour stocker la valeur des choses sont simplifiées.

La fonction setup() de l’esquisse sera d’abord définir quelques variables globales utilisées à debounce nos commutateurs de bouton poussoir. Après que cela, il fixera le Mode Pin pour chaque broche, nous utiliserons (lignes 255 à 260) :

En ligne 261, nous avons mis le refroidisseur à l’État Off, et en ligne 263 à 269 le réglage de la température est lu de l’EEPROM et 56° F la valeur si la valeur actuelle est hors limites. Lignes de 271 à 273 initialiser la bibliothèque I2C LCD et parce que cela prend environ une seconde pour initialiser le TemperatureModule, le message « Initialisation... » s’affiche sur l’écran LCD jusqu'à ce que le capteur de température est détectée (lignes 278 à 280). Supplémentaires 1 seconde attente est forcé sur la ligne 281--ce qui semble être exigés par la bibliothèque OneWire pour lire correctement le capteur de température.

Avec tout autre initialisée, nous attachons interruption 0 à la fonction BumpSettingsUp à la ligne 283 et interrompre 1 à BumpSettingsDown en ligne 284 et activez les interruptions (ligne 285).

Les fonctions BumpSettingsUp et BumpSettingsDown, il vérifie si l’entrée est verrouillée. Si ce n’est pas le cas, ils augmentera ou diminuera g_uiTemperatureSetting, tant que l’interruption (déclenchée par un coup de pouce) satisfait aux exigences de temps de ne pas se qualifier comme un rebond de l’interrupteur. Ces deux fonctions assurer également les séjours de réglage entre 35 et 85 degrés.

BumpSettingsDown() qui est identique à BumpSettingsUp mais il baisse la valeur de g_uiTemperatureSettings, n’est ne pas présentée ici. Il y a aussi quelques autres fonctions utilisées comme aides tels que OutputLCDLine() qui permet d’afficher une chaîne en ligne un ou deux de l’écran LCD. La fonction TurnCoolingOnOrOff ci-dessous est utilisée pour définir tous les 4 relais sur la position ON ou OFF et d’enregistrement si les choses sont ON ou OFF dans g_bCooling :

La fonction ToggleInputMode est appelée lorsque les deux boutons sont maintenues enfoncée pendant une seconde, ou après 10 secondes d’aucun bouton enfoncé pendant que l’entrée est déverrouillée. Comme vous pouvez le voir il enregistre un nouveau paramètre dans l’emplacement de l’EEPROM 0 :

Ce contrôle de double-touche s’effectue par la fonction d’assistance CheckLockUnlock() :

Tout cela mène à la boucle principale :

Dans cette première mi-temps, il y a un contrôle pour voir si l’utilisateur est déverrouillage d’entrée. Si 10 secondes s’est écoulé depuis un bouton a enfoncé, tandis que l’entrée est déverrouillée, le code sur les lignes 373 par le biais de 379 veillera à ce que le verrou est rétabli.

Sur la ligne 383 le réglage du thermostat actuel est affiché sur la deuxième ligne de l’écran LCD, et sur la ligne 387 la température actuelle est lue à partir du thermomètre. Il est ensuite affiché sur la première ligne de l’écran LCD, à la ligne 397. Car le réglage du thermostat a été converti en un flotteur sur la ligne 385 une comparaison simple peut être faite pour voir si le refroidisseur doit être activé :

Si la température dépasse le réglage du thermostat du refroidisseur est toujours activé (ligne 406). Dans le cas contraire, nous vérifions pour voir si la température est de 1,75 degrés au-dessous du réglage et si oui le refroidisseur est éteint.

Sur la ligne 418 une seconde un retard se produit afin de permettre le thermomètre à être lu correctement à nouveau et la boucle est rentrée.

  • Thermostat.INO

Articles Liés

LittleBits refroidisseur d’eau collecte données [quantifié soif]

LittleBits refroidisseur d’eau collecte données [quantifié soif]

Répondre à M. Thirsty, notre puce super refroidisseur d'eau de collecte de données. Non seulement t M. Thirsty remplissez votre tasse de l'eau jusqu'au niveau parfait, mais chaque fois qu'il remplit une tasse, il enregistre la date et l'heure sur une
Aquarium de refroidisseur d’eau qui est encore potable

Aquarium de refroidisseur d’eau qui est encore potable

Inspiré par une petite scène dans les années 80 film « Véritable génie. » Je me suis tourné d'un refroidisseur d'eau de 5 gallons dans un réservoir de poissons qui fournit toujours de l'eau potable propre. Très simple à faire, la quantité de travail,
Refroidisseur d’eau

Refroidisseur d’eau

cela peut fonctionner sympa pour un piège ou dans someones maisonVOUS AUREZ BESOINTNT (autant que vous le souhaitez)Un bouton ou un levierUn bloc de ferUn bloc de glaceBlocs pour le plancher ou le murÉtape 1: corps Placer un bloc de fer sur le terrai
Refroidisseur d’eau Hoodie

Refroidisseur d’eau Hoodie

Il descend de la froide raison et c'est tuf à garder notre bouteille d'eau de devenir froid glacial. Alors, je suis venu avec l'idée d'utiliser les pulls de ma fille aka hoodie. Il ne sera pas garder les bouteilles de gel dans mon coin de pays ; mais
Faites votre propre « dôme de Cloche"(les plantes de serre) avec soucoupe de pot de bonus de conteneurs de refroidisseur d’eau recyclée.

Faites votre propre « dôme de Cloche"(les plantes de serre) avec soucoupe de pot de bonus de conteneurs de refroidisseur d’eau recyclée.

Le « dôme de la Cloche » est utile au printemps quand vous êtes juste énonçant vos plantes et le climat devient frisquet pour une jour/nuit. Vous venez de sortez et le bâton au-dessus de votre plante. Si vous souhaitez prolonger votre saison de crois
Refroidisseur d’eau de framboise Pi

Refroidisseur d’eau de framboise Pi

Bonjour, ceci est un guide étape par étape pour développer un système de refroidissement pour processeur ARM de la Raspberry Pi d'eau.Tout a commencé quand j'ai dis ce projet. J'ai été instantanément captivé, la pensée d'un pi de refroidissement à ea
CO2 Laser eau Flow Monitor - Arduino alimenté / Windows contrôlée

CO2 Laser eau Flow Monitor - Arduino alimenté / Windows contrôlée

Alarme et CO2 Laser eau Flow MonitorPropulsé par un Arduino et contrôlées par un logiciel personnalisé sur un PC WindowsAfin de prolonger la vie d'un CO2 tube de laser, il est nécessaire à pomper l'eau à travers elle de refroidissement pendant son fo
Remplacement d’un tube de laser CO2

Remplacement d’un tube de laser CO2

SAFETY FIRST - Lasers sont dangereux, je suppose que vous savez cela et vous savez ce que vous faites avec des lasers et des fers à souder. Ne jamais faire fonctionner un tube laser en dehors du laser-châssis, battez jamais aucun système de sécurité
Super silencieux compresseur construit sur un vieux réfrigérateur/eau refroidisseur

Super silencieux compresseur construit sur un vieux réfrigérateur/eau refroidisseur

pendant que vous travaillez à l'intérieur, un compresseur ordinaire peut être assez forts et dérangeants. La seule autre option est d'investir dans un compresseur silencieux qui peut coûter facilement, 3 - 4 fois plus cher. Qui plus est, sauf si vous
Sous l’eau Laser !

Sous l’eau Laser !

Aujourd'hui je vais vous montrer comment faire toute preuve de l'eau de laser!! Étonnamment son très bon marché et facile à faire !Étape 1: Étape 1: matériaux Pour faire cela, vous devez :-un pointeur laser-pellicule saranen option :-tubes thermorétr
L’eau seulement Fog Machine (pas de glace sèche, aucun jus de brouillard)

L’eau seulement Fog Machine (pas de glace sèche, aucun jus de brouillard)

L'eau seule Machine à brouillardTout le monde aime brouillard, théâtre de brouillard qui est - en particulier à l'Halloween, et il y a plusieurs façons de faire :1. neige carbonique a été ma première introduction au brouillard - glace sèche est tombé
L’eau refroidie et mur monté sur Xbox 360

L’eau refroidie et mur monté sur Xbox 360

Bonjour à tous et Bienvenue sur mon deuxième Instructable.Avant de continuer, je dois dire que j'ai l'impression que j'ai raté certaines parties. Je vais garder ajoutant morceaux ici et là quand je remarque qu'ils sont manquants, mais dans le cas con
Vieux bon marché laser essentials coupeur

Vieux bon marché laser essentials coupeur

Éléments essentiels pour la découpe au cutter laser chinois bon marché (ancien).Si vous voulez avoir un coupe au laser dans votre atelier et ont seulement quelques 500 $, entrez eBay et recherchez chineese, 30 x 20 cm, machines laser CO2. Spécifier l
De Crate à couper | Installer un coupe au Laser.

De Crate à couper | Installer un coupe au Laser.

Récemment, j'ai conçu et construit le LittleBox, un bricolage Laser Cut Raspberry Pi Powered PC. Un facteur principal dans son coût était d'avoir les pièces découpées au laser par une tierce partie, alors j'ai commencé la chasse pour un coupeur de la