Stap 6:
/*
12 september-2013
25 oktober 2012
Gebaseerd off van een project van DJ Mentzik.
Verbeterd en aangepast door WWC en citin.
Bewijsstukken kan gevonden worden op
Gebruik en modife zo nodig.
Huidige, 8 sec gemiddelde, Max en Min temperatuur toont.
Sluit de volgende pinnen om de draad van uw LCD-scherm tot je Arduino:
LCD Pin 6 aan digitale pin 12
LCD Pin 4 tot en met digital pin 11
LCD Pin 11 tot en met digital pin 5
LCD Pin 12 aan digitale pin 4
LCD Pin 13 tot en met digital pin 3
LCD Pin 14 tot digitale pin 2
LCD PIN 15 naar POS
LCD PIN 16 met GND
*/
#include < LiquidCrystal.h > / / omvatten de LCD-stuurprogrammabibliotheek
variabelen declareren
zweven tempC = 0; Variabele voor het houden van Celsius temp (zwevend voor decimalen nauwkeurig)
zweven tempf = 0; variabele voor het houden van Fareghneit temp
int tempPin = 0; Waarbij de analoge ingang als 0 (A0) van de Arduino board.
float monsters [8]; Matrix te houden van 8 monsters voor gemiddelde temp berekening
float maxi = 0, mini = 100; Max/Min temperatuur variabelen met de beginwaarden. LM35 in eenvoudige opstelling meet slechts Temp boven 0.
int i;
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); initialiseren van de bibliotheek met de nummers van de pennen van de interface
VOID Setup
{
Serial.begin(9600); Seriële poort wordt geopend, wordt gegevenssnelheid ingesteld op 9600 bps
LCD.begin (16, 2); De LCD's aantal kolommen en rijen instellen:
lcd.setCursor (2, 0); Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print ("Waynes World"); Print tekst op LCD-
lcd.setCursor (3, 1); Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print("thermometer"); Print tekst op LCD-
delay(5000); wachten 500ms / / vertraging om te lezen van de tekst
LCD.Clear(); duidelijk LCD-scherm / / Schakel het weergeven
lcd.setCursor (2, 0); Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print ("LCD weergegeven"); Print tekst op LCD-
lcd.setCursor (1, 1); Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print ("Averaged Temp"); Print tekst op LCD-
delay(5000); Vertraging om tekst te lezen
LCD.Clear(); Clear LCD
}
void loop
{
Serial.println(""); Lege regel voor de regelafstand in de seriële monitor
Serial.println ("u zoekt bij een project gebouwd door WWC."); Print tekst op seriële monitor
Serial.Print ("Feal gratis te gebruiken en modife zo nodig.");
Serial.println(""); Lege regel voor de regelafstand in de seriële monitor
Serial.Print ("LM35 ruwe gegevens:"); Print tekst op seriële monitor
Serial.println(analogRead(tempPin)); De bemonsterde waarde vóór omzetting naar echte temperatuur lezing weergegeven op seriële monitor
Begin van berekeningen FOR-lus.
voor (ik = 0; ik < = 7; i ++) {/ / krijgt 8 monsters van temperatuur
monsters [i] = (4.4 * analogRead(tempPin) * 26) / 1024.0; de wiskunde van de conversie van tmp36GZ monster leesbaar resultaat van temperatuur en winkels aan monsters array.
Serial.println(samples[i]); Afdrukken van monsters [i] sertiual monitor
(LCD Opmerking: lijn 1 is de tweede rij, aangezien tellen met 0 begint):
lcd.setCursor (0, 0); Instellen van de positie van de cursor van de LCD (kolom 0, rij 0)
LCD.Print ("huidige Temp is:"); Print tekst op LCD-
lcd.setCursor (1, 1); Instellen van de positie van de cursor van de LCD (kolom 1, rij 1)
LCD.Print ("Celsius"); Print tekst op LCD-
lcd.setCursor (12, 1); Instellen van de positie van de cursor van de LCD (kolom 12, rij 1)
LCD.Print(samples[i]); huidige Temp drukproef op LCD-
tempC = tempC + monsters [i]; doen de toevoeging voor gemiddelde temperatuur
delay(800); wachten 800ms
} // END of FOR loop
Serial.println(""); Lege regel voor de regelafstand in de seriële monitor
Serial.println(""); Lege regel voor de regelafstand in de seriële monitor
tempC = tempC/8.0; de averare voor 8 samples in Celsius berekend
tempf = (tempC * 9) / 5 + 32; converteert naar fahrenheit
if(tempC > Maxi) {maxi = tempC;} max temperatuur instellen
if(tempC < mini) {mini = tempC;} instellen min temperatuur
Resultaten verzenden naar seriële Monitor
Serial.println ("nieuwe meting:");
Serial.Print ("gemiddelde temperatuur in Celsius is"); Print tekst op seriële monitor
Serial.println (tempC), //send de gegevens naar de computer / / de gegevens naar de computer verzenden
Serial.Print ("gemiddelde temperatuur in de Farenait"); Print tekst op seriële monitor
Serial.println (tempf), //send de gegevens naar de computer / / de gegevens naar de computer verzenden
Serial.Print ("MAX Temperature in Celsius is"); Print tekst op seriële monitor
Serial.println (maxi); //send de gegevens naar de computer / / de gegevens naar de computer verzenden
Serial.Print ("MIN temperatuur in Celsius is"); Print tekst op seriële monitor
Serial.println (mini); //send de gegevens naar de computer / / de gegevens naar de computer verzenden
Resultaten verzenden naar LCD.
lcd.setCursor (0, 1); Instellen van de positie van de cursor van de LCD (kolom 0, lijn 1)
LCD.Print ("Fahrenheit"); Print tekst op LCD-
lcd.setCursor (12, 1); Instellen van de positie van de cursor van de LCD (kolom 12, lijn 1)
LCD.Print(tempf); Stuur de gegevens naar het LCD-scherm
delay(6000); Wacht 3 seconden om weer te geven van de Fahrenheit temp en 3 seconden voor het weergeven van resultaten op LCD-scherm befor beginnen de lus opnieuw = 6 seconden.
tempC = 0; TempC ingesteld op 0, zodat berekeningen kunnen worden gedaan om opnieuw
}