Arduino LCD Thermomètre / thermostat avec sonde de température TMP36GZ ajouté 2 relais de chanel, ajouté RTC ds1307, ajouté un case.based sur le Guide WWC. (10 / 36 étapes)

Étape 10 :

< ~25°c/77° F froid 2 chanel relais connecte les deux chaînes.
> ~ 30° c / 86° F chaud 2 relais chanel éteindre les deux chaînes.
nouveau croquis 13 septembre 2013 addet le relais

/*
13 septembre 2013
12 septembre 2013
25 octobre 2012
Basée hors d’un projet par DJ Mentzik comprend http://www.arduino.cc/en/Tutorial/SwitchCase
Amélioré et modifié par WWC, citin
Des pièces justificatives peuvent être trouvé à wwwc

Citin

Utilisation et modife au besoin.

Affiche le courant, 8sec moyenne, Max et Min température, 2 commutateur de relais de chanel
marche / arrêt par atteindre min/max de données brutes du capteur et met en garde contre le froid/chaud/ok.

Pour connecter votre écran LCD à votre Arduino, connecter les points suivants :
LCD 6 broche Broche numérique 12
LCD 4 broche à broche numérique 11
Écran LCD Pin 11 à la broche numérique 5
Écran LCD Pin 12 à la borne numérique 4
13 broches LCD à la broche numérique 3
14 Pin LCD à la broche numérique 2
LCD 15 PIN +
LCD de broche 16 au GNd

*/
ces constantes ne changeront pas :
const int sensorMin = 160 ;      capteur needet minimale pour obtenir la temprature minimum, découverte grâce à l’expérience
const int sensorMax = 230 ;    capteur maximale, 41, 9celsius = 248 rawdata découvert grâce à l’expérience

#include < LiquidCrystal.h > / / inclure la bibliothèque de pilote LCD

déclarer des variables
flotteur NC = 0 ;                                                 Variable pour la tenue de temp Celsius (flottant pour une précision décimale)
flotteur tempf = 0 ;                                                 variable pour la tenue de Fareghneit temp
int tempPin = 0 ;                                                 Déclarer l’entrée analogique est 0 (A0) de la carte Arduino.
échantillons de flotteur [8] ;                                                Tableau pour contenir 8 échantillons pour le calcul de la température moyenne
maxi de flotteur = 0, mini = 100 ;                                       Variables de température Max/Min avec des valeurs initiales. LM35 en configuration simple ne mesure que Temp supérieur à 0.
int i ;

Innovente lcd (12, 11, 5, 4, 3, 2) ;                          initialiser la bibliothèque avec les numéros des broches interface

void setup()
{

Serial.Begin(9600) ;                                             Ouvre le port série, établit le taux de données à 9600 bits/s

LCD.Begin (16, 2) ;                                               Mis en place nombre de l’écran LCD de colonnes et de lignes :

lcd.setCursor (2, 0) ;                                            Définir la position du curseur LCD (colonne, ligne)
LCD.Print("Bartagamen") ;                                      Imprimer un texte à l’écran LCD
lcd.setCursor (3, 1) ;                                            Définir la position du curseur LCD (colonne, ligne)
LCD.Print("Thermometer") ;                                       Imprimer un texte à l’écran LCD
Delay(1000) ; attendre 500ms / / retard pour lire le texte
LCD.Clear() ; Désactivez l’affichage à cristaux liquides / / efface l’écran
lcd.setCursor (2, 0) ;                                            Définir la position du curseur LCD (colonne, ligne)
LCD.Print ("LCD affiché") ;                                     Imprimer un texte à l’écran LCD
lcd.setCursor (1, 1) ;                                            Définir la position du curseur LCD (colonne, ligne)
LCD.Print ("moyenne Temp") ;                                   Imprimer un texte à l’écran LCD
Delay(5000) ;                                                    Retard pour lire le texte
LCD.Clear() ;                                                    Clear LCD

}

void loop()
{
Serial.println("") ;                                            Ligne vide pour l’espacement dans le moniteur de la série
Serial.println ("vous regardez un projet construit par WWC, Citin") ;  Imprimez du texte Serial monitor
Serial.Print ("Feal libre d’utilisation et modife suff.") ;
Serial.println("") ;                                            Ligne vide pour l’espacement dans le moniteur de la série
Serial.Print ("données brutes TMP36GZ:") ;                               Imprimez du texte Serial monitor
Serial.println(analogRead(tempPin)) ;                           Affiche sur le moniteur de la série la valeur échantillonnée avant la conversion à la lecture de la température réelle

Début des calculs pour la boucle.
pour (i = 0; j’ai < = 7; i ++) {/ / gets 8 échantillons de température
les échantillons [i] = (4,7 * analogRead(tempPin) * 27) / 1024.0 ;    mathématiques de la conversion de tmp26gz dois contre-vérifier déjà vérifié
5 v est la tension d’alimentation du tmp26gz. Changer appropriatelly pour avoir une mesure correcte. Mon cas est 4.4Volts.
Si alimenté par USB, puis utiliser valeur de 4.4v à 4.6v. Si la puissance est 7v < à l’Arduino, puis utilisez 4.9v à 5.1V
La tension est essentielle pour une lecture précise
Serial.println(Samples[i]) ;                                    Imprimer les échantillons [i] à sertiual monitor

(Note de LCD: la ligne 1 est la seconde ligne, puisque le décompte commence par 0) :
lcd.setCursor (0, 0) ;                                           Définir la position du curseur LCD (colonne 0, ligne 0)
LCD.Print ("Temp actuel est:") ;                                Imprimer un texte à l’écran LCD
lcd.setCursor (1, 1) ;                                           Définir la position du curseur LCD (colonne 1, ligne 1)
LCD.Print ("c") ;                                     Imprimer un texte à l’écran LCD
lcd.setCursor (12, 1) ;                                          Définir la position du curseur LCD (colonne 12, ligne 1)
LCD.Print(Samples[i]) ;                                         imprimer l’échantillon actuel de Temp pour LCD
NC = NC + échantillons [i] ;                                    faire l’addition pour la température moyenne
Delay(4000) ;                                                    attendre 800ms
lire le capteur :
int sensorReading = analogRead(A0) ;                           obtenir les données brutes du capteur pour définir le mode actuel
carte la plage du capteur à une gamme de quatre options :
gamme int = carte (sensorReading, sensorMin, sensorMax, 0, 3) ;   changement de capteur sortie don t.

faire quelque chose de différent selon la
valeur de la plage :
commutateur (gamme) {}
case 0: / / kalt / / display froid et commutateur les deux chaines sur de relais d’État relais thermique.
analogWrite(8,HIGH) ;
analogWrite(10,HIGH) ;
Serial.println("Dark") ;
lcd.setCursor (1, 1) ;                                           Définir la position du curseur LCD (colonne 0, ligne 1)
LCD.Print("Cold") ;                                               Imprimer un texte à l’écran LCD
lcd.setCursor (1, 1) ;
Delay(800) ;                                                     attendez donc vous pouvez voir le message
rupture ;
cas 1: / / ok, rien à faire les deux relais chanels sont OFF
Serial.println("Dim") ;
analogWrite(8,LOW) ;
analogWrite(10,LOW) ;
lcd.setCursor (1, 1) ;
LCD.Print("Rise") ;                                        Imprimer un texte à l’écran LCD
lcd.setCursor (1, 1) ;
Delay(800) ;                                                   attendez donc vous pouvez voir le message
rupture ;
case 2: / / votre main est de quelques pouces du capteur / / ok, rien à faire les deux relais chanels sont en dernière stat
Serial.println("medium") ;
lcd.setCursor (1, 1) ;
LCD.Print("OK") ;                                         Imprimer un texte à l’écran LCD
lcd.setCursor (1, 1) ;
Delay(800) ;                                              attendez donc vous pouvez voir le message
rupture ;
case 3: / / votre main n’est nulle part près du capteur
Serial.println("Bright") ;                                 à chaud sur tous les relais chanels off arrêt chauffage.
digitalWrite (8, faible) ;                                     à chaud sur tous les relais chanels off arrêt chauffage. vérifier l’état du relais
digitalWrite (10, faible) ;                                    à chaud sur tous les relais chanels off arrêt chauffage. vérifier l’état du relais
lcd.setCursor (1, 1) ;
LCD.Print("Hot") ;                                       Imprimer un texte à l’écran LCD
lcd.setCursor (1, 1) ;
Delay(800) ;                                               attendez donc vous pouvez voir le message
rupture ;

}}                                                              // END of FOR loop

Serial.println("") ;                                            Ligne vide pour l’espacement dans le moniteur de la série
Serial.println("") ;                                            Ligne vide pour l’espacement dans le moniteur de la série
NC = NC/8.0 ;                                             calculer l’averare de 8 échantillons en Celcius

tempf = (NC * 9) / 5 + 32 ;                                   convertit en degrés fahrenheit

if(tempC > maxi) {maxi = NC;}                               régler la température max
if(tempC < mini) {mini = NC;}                               température min Set

Envoyer les résultats vers Serial Monitor
Serial.println ("nouvelle mesure:") ;
Serial.Print ("température moyenne en Celcius est") ;          Imprimez du texte Serial monitor
Serial.println (NC); //send les données de l’ordinateur / / envoyer les données à l’ordinateur
Serial.Print ("moyenne température en Farenheit est") ;         Imprimez du texte Serial monitor
Serial.println (tempf); //send les données de l’ordinateur / / envoyer les données à l’ordinateur
Serial.Print ("MAX température en Celsius est") ;              Imprimez du texte Serial monitor
Serial.println (maxi); //send les données de l’ordinateur / / envoyer les données à l’ordinateur
Serial.Print ("MIN température en Celsius est") ;              Imprimez du texte Serial monitor
Serial.println (mini); //send les données de l’ordinateur / / envoyer les données à l’ordinateur

Envoyer les résultats à l’écran LCD.
lcd.setCursor (0, 1) ;                                           Définir la position du curseur LCD (colonne 0, ligne 1)
LCD.Print (« Fahrenheit ») ;                                     Imprimer un texte à l’écran LCD
lcd.setCursor (12, 1) ;                                          Définir la position du curseur LCD (colonne 12, ligne 1)
LCD.Print(tempf) ;                                              Envoyer les données à l’écran LCD

Delay(6000) ;                                                   Attendre 3 secondes pour afficher la Fahrenheit temp et 3 secondes pour afficher les résultats pour LCD écran befor à partir de la boucle encore = 6 secondes.
NC = 0 ;                                                     La valeur NC 0 alors les calculs peuvent être refaits
}

Articles Liés

Arduino thermomètre avec sonde de température LM35

Arduino thermomètre avec sonde de température LM35

Arduino thermomètre avec sonde de température LM35 est un très simple à mettre en œuvre le projet Arduino basé. Ses un projet parfait si vous êtes un débutant et avez juste commencé à tester pratiquement projets Arduino.Dans ce projet, nous exposera
Arduino LCD thermomètre avec sonde de température LM35

Arduino LCD thermomètre avec sonde de température LM35

: mise à jour du PIN 13 : Merci à cybersbpour les captures.Le Fritzing schématique montre à l'aide de broches 12 et 13. Cela ne résout pas. Doit utiliser les broches figurant dans le code, les bornes 11 et 12.C'est comme le titre l'indique, un Arduin
Arduino LCD Thermomètre

Arduino LCD Thermomètre

Hé les gars c'est Gaige TheEngineer ici pour vous donner un projet arduino base : thermomètre de l'Arduino LCDC'est qu'un enfant de 12 ans peut faire assez facilement. Alors s'il vous plaît profiter et découvrez ma chaîne Youtube (même si il y a rien
Contrôleur de matrice de LED RVB Arduino 8 x 8 avec sonde de température et les registres à décalage 4

Contrôleur de matrice de LED RVB Arduino 8 x 8 avec sonde de température et les registres à décalage 4

La première moitié de cette vidéo d'enseignement montre qu'un projet fini d'un Arduino avec 4 registres à décalage (74HC595) utilisé pour contrôler et 8 x 8 matrice de LED RVB. Il y a aussi un capteur de température DS18B20 utilisé pour afficher la t
Arduino-enregistreur avec sonde de température et de la photorésistance

Arduino-enregistreur avec sonde de température et de la photorésistance

dans ce projet, je vais créer un enregistreur de données simple avec mon Arduino et un bouclier Ethernet.Je vais utiliser une photorésistance et un capteur de température et toutes les informations seront stockées dans une carte micro SD.L'idée est q
Aquaponics : EnvDAQ mise à jour avec sonde de température de l’eau (Grow lit DAQ)

Aquaponics : EnvDAQ mise à jour avec sonde de température de l’eau (Grow lit DAQ)

le code source de l'application en nuage et Arduino croquis pour ce tutoriel sont disponibles ici.Vous pouvez également trouver ce tutoriel sur notre blog dans un format plus lisible (Figures inline).L'acquisition de données environnementales est un
Thermomètre digital avec Arduino & DS18B20

Thermomètre digital avec Arduino & DS18B20

il suffit de créer un appareil photo numérique thermomètre avec vous pouvez dire la température ambiante sur un écran LCD. Il s'agit d'un projet de débutants.Appareils dont vous avez besoin :1. Arduino UNO R32. capteur de température DS18B20.3. 16 x
Arduino OLED thermomètre et hygromètre avec DHT11 pour les débutants

Arduino OLED thermomètre et hygromètre avec DHT11 pour les débutants

Salut! Je vais vous montrer comment faire un Arduino OLED thermomètre et hygromètre * avec DHT11.L'OLED aujourd'hui, nous allons utiliser est 1.3 pouce de taille, caractéristiques 128 × 64 pixels et utilise le Bus SPI. Sur l'étape suivante, vous trou
Arduino WiFi thermomètre (avec page web) - Arduino sans fil

Arduino WiFi thermomètre (avec page web) - Arduino sans fil

Ce dont vous avez besoinUne carte Arduino (n'importe quelle plaque compatible est OK).LM-35 (pour utiliser avec le fichier fourni, vous pouvez utiliser DS18B20 mais vous devez convertir le code source respectivement).Module de HLK-RM04 WiFi de routeu
Arduino thermomètre (sonde de température de 35 LM)

Arduino thermomètre (sonde de température de 35 LM)

Il s'agit d'un circuit simple de vérifier la température de la pièce en utilisant Arduino et LM35(Temperatuure Sensor). Si la température est supérieure à 29 degrés C, puis la LED rouge s'allume d'autre LED verte s'allume.VOYANT vert indique que la t
Sonde de température NTC avec arduino

Sonde de température NTC avec arduino

Une thermistance est un type de résistance dont la résistance est tributaire de la fin de la température ont une valeur de résistance électrique pour chaque température absolue.Largement utilisé pour contrôler la température dans les appareils électr
DS18B2O - sonde de température avec prise RJ45

DS18B2O - sonde de température avec prise RJ45

ce Instructable utilise le travail effectué par Jonathan Oxer et Hugh Blemings dans le livre « Arduino pratique » :http://www.practicalarduino.com/et peut s'appuyer sur les travaux effectués par :http://www.cheapvegetablegardener.com/en utilisant le
À l’aide d’une sonde de température pour contrôler la vitesse d’un moteur à l’aide d’arduino

À l’aide d’une sonde de température pour contrôler la vitesse d’un moteur à l’aide d’arduino

Cette application est simple, juste à l'aide de la sonde de température LM35 avec un kit arduino pour commander un ventilateur et changer sa vitesse par rapport à la température lue par le microcontrôleur qui dans ce cas est le kit arduino.La sonde d
ThermoClock : Une Open source Arduino UNO OLED horloge qui mesure également la température

ThermoClock : Une Open source Arduino UNO OLED horloge qui mesure également la température

Bonjour, tout le monde !Aujourd'hui je vais vous montrer comment faire An OpenSource Arduino UNO OLED horloge qu'aussi mesures de température. Ce projet est un Open source et il est ouvert à tous. Il ne nécessite aucune qualification spéciale d'ingén