Visar temperaturen på LCD (3 / 3 steg)
Steg 3: Skiss
Skissen är inte så enkelt som kopiera och klistra in båda skissar tillsammans, jag var tvungen att ändra det för att tillgodose båda enheterna och berätta Arduino att få data från sensorn och Visa den på LCD. Men variablerna och bibliotek är desamma.
Det finns en zippad kopia av skiss i detta instructable kan du justera det som du tycker passar.
Jag började genom att definiera de bibliotek vi behöver för LCD. För mer detaljer om hur man ladda biblioteken i biblioteksmappen Arduino Följ instruktionerna i detta instructable:
ladda bibliotek
#include < Wire.h >
#include < LCD.h >
#include < LiquidCrystal_I2C.h >
Jag definierade variabler behövs av LCD-skärmen och LM35
Jag la den variabla tempf för att Visa temperaturen i Celsius
Definiera variabler för LCD
#define I2C_ADDR 0x27 //Define I2C adress där PCF8574A är
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
definiera variabler för LM35 temperaturgivare
float härda; Definiera variabeln temp float
float tempf; Definiera Fahrenheit float variabel
int sensor = 0; mellersta givarstaven på analoga stift 0
Sedan initiera jag LCD med denna linje:
Initiera LCD
LiquidCrystal_I2C lcd (I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);
I Void setup, jag berätta Arduinio att jag använder en 16 X 2 LCD, slå på bakgrundsbelysning och skriva några rader som inte ändras.
void setup() {
LCD.BEGIN (16,2); Definiera LCD som 16 kolumn med 2 rader
Slå på bakgrundsbelysningen
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.setCursor(0,0); gå till första kolumnen (kolumn 0) och första linje (0)
LCD.Print ("Temp C ="); Skriva ut vid markören plats
lcd.setCursor(0,1); gå till första kolumnen (kolumn 0) och andra (linje 1)
LCD.Print ("Temp F ="); Skriva ut på markörens position
}
I Void slingan kommer jag läsa temperaturen från sensorn, ändra det till Celsius och visas på den första raden, då ändra den igen till Fahrenheit och visas på andra raden. Upprepa processen varje 5 sekunder
void loop() {
Temp = analogRead(sensor); tilldela den analog utgången till temp-
Temp = temp * 0.48828125; konvertera volt till grader celsius---0.48828125 = [(5V*1000)/1024] 10 tempf = (temp * 1,8) + 32; Täcker från celsius till fahreneit
lcd.setCursor(8,0); flytta markören till 8 plats på rad 1
LCD.Print(temp); skriva ut temperaturen i Celsius
lcd.setCursor(8,1); flytta markören till 8 plats på rad 2
LCD.Print(tempf); skriva ut temperaturen i Fahrenheit
Delay(5000); vänta 5 sekunder
}
Jag hoppas du gillar det, om du har några frågor tveka inte att fråga.
Njut av