Étape 2: (codeTime) ;
J’ai également inclus l’esquisse du téléchargement. Lorsque le code est coppied et collé dans et ible, qu'elle tend à trucs de dispersion autour.
J’ai commenté le code mieux je sais pas comment, mais si somethings pas corriger ou pouvaient être nettoyés vers le haut, s’il vous plaît laisser un commentaire.
/*
25 octobre 2012
Basé sur un projet de DJ Mentzik.
Amélioré et modifié par la CME.
Des pièces justificatives peuvent être trouvé à
Utiliser et modifier au besoin.
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
En outre, fil un pot de 10K à + 5V et GND, avec ses essuie-glace (sortie) à LCD Ecrans broche VO (broche 3).
*/
#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 ("Waynes World") ; 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(5000) ; 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.") ; 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 LM35:") ; 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,4 * analogRead(tempPin) * 100.0) / 1024.0 ; mathématiques de conversion de LM35 échantillon au résultat de température et magasins lisible au tableau des échantillons.
5 v est la tension d’alimentation du LM35. 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(800) ; attendre 800ms
} // 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 ("température moyenne en Farenait 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
}