Tryck och temperatur Arduino indikator (4 / 5 steg)
Steg 4: Arduino skiss
#include "Wire.h" //libreria para comunicaciones el reloj y el barómetro
#include "Adafruit_MPL115A2.h"// librería barómetro
Adafruit_MPL115A2 mpl115a2;
char sensorPrintPress [6].
char sensorPrintTemp [5].
Declaración de las cadenas de fecha
char dayPrint [3].
char monthPrint [3].
char yearPrint [5].
Declaración de las cadenas de hora
char hourPrint [3].
char minPrint [3].
char secPrint [3].
Libreria del reloj DS1307
#include "RTClib.h"
RTC_DS1307 RTC;
int takt = 0;
Libreria del LCD de Siemens S55
#include "LM15SGFNZ07.h"
LM15SGFNZ07 lcd(2,3,4,5,6); config lcd conectivity
void setup()
{
LCD.init_lcd(); / / Inicia la pantalla LCD
LCD.contrast_lcd(0x100); Ange nya kontrast
LCD.clear_lcd(White); / / Pone la pantalla sv blanco
Delay(100);
Wire.BEGIN(); Inicia el protocolo tråd
RTC.begin(); Inicia el reloj
mpl115a2.BEGIN (); //Inicia el barómetro
}
void loop()
{
DateTime nu = RTC.now (); //Pide el valor de la hora
flyta pressureKPA = 0, temperatureC = 0; definiera las variabler del barómetro
pressureKPA = mpl115a2.getPressure (); //lee el valor de la presión
temperatureC = mpl115a2.getTemperature() + 3; //Lee el valor de la temp y Suma tres grados fel
LCD.str_lcd ("ESTACION METEO", 1, 1, 1, svart, -1);
LCD.line_lcd (5, 90, 198, 198, svart);
konvertera behandlingen till en sträng
String sensorP = String(pressureKPA);
konvertera behandlingen till en char-matris
sensorP.toCharArray (sensorPrintPress, 6);
LCD.str_lcd (sensorPrintPress, 8, 3, 1, vit, vit);
LCD.str_lcd ("Pbaro =", 1, 3, 1, svart, -1);
LCD.str_lcd (sensorPrintPress, 8, 3, 1, svart, -1);
LCD.str_lcd ("kPa", 15, 3, 1, svart, -1);
konvertera behandlingen till en sträng
String sensorT = String(temperatureC);
konvertera behandlingen till en char-matris
sensorT.toCharArray (sensorPrintTemp, 5);
LCD.str_lcd (sensorPrintTemp, 8, 5, 1, vit, vit);
LCD.str_lcd ("Temp =", 1, 5, 1, svart, -1);
LCD.str_lcd (sensorPrintTemp, 8, 5, 1, svart, -1);
LCD.str_lcd ("C", 13, 5, 1, svart, -1);
konvertera behandlingen till en sträng
LCD.str_lcd ("Fecha =", 1, 7, 1, svart, -1);
int sday = now.day();
String ssday = String(sday);
konvertera behandlingen till en char-matris
ssday.toCharArray (dayPrint, 3);
LCD.str_lcd (dayPrint, 8, 7, 1, vit, vit);
LCD.str_lcd (dayPrint, 8, 7, 1, svart, -1);
LCD.str_lcd ("/", 10, 7, 1, svart, -1);
konvertera behandlingen till en sträng
int smonth = now.month();
String ssmonth = String(smonth);
konvertera behandlingen till en char-matris
ssmonth.toCharArray (monthPrint, 2);
LCD.str_lcd (monthPrint, 11, 7, 1, vit, vit);
LCD.str_lcd (monthPrint, 11, 7, 1, svart, -1);
LCD.str_lcd ("/", 13, 7, 1, svart, -1);
konvertera behandlingen till en sträng
int syear = now.year();
String ssyear = String(syear);
konvertera behandlingen till en char-matris
ssyear.toCharArray (yearPrint, 5);
LCD.str_lcd (yearPrint, 14, 7, 1, vit, vit);
LCD.str_lcd (yearPrint, 14, 7, 1, svart, -1);
konvertera behandlingen till en sträng
LCD.str_lcd ("Hora =", 1, 9, 1, svart, -1);
int shour = now.hour();
String sshour = String(shour);
konvertera behandlingen till en char-matris
sshour.toCharArray (hourPrint, 3);
LCD.str_lcd (hourPrint, 7, 9, 1, vit, vit);
LCD.str_lcd (hourPrint, 7, 9, 1, svart, -1);
LCD.str_lcd ("/", 9, 9, 1, svart, -1);
konvertera behandlingen till en sträng
int smin = now.minute();
String ssmin = String(smin)
konvertera behandlingen till en char-matris
ssmin.toCharArray (minPrint, 3);
LCD.str_lcd (minPrint, 10, 9, 1, vit, vit);
LCD.str_lcd (minPrint, 10, 9, 1, svart, -1);
LCD.str_lcd ("/", 12, 9, 1, svart, -1);
konvertera behandlingen till en sträng
int ssec = now.second();
String sssec = String(ssec);
konvertera behandlingen till en char-matris
sssec.toCharArray (secPrint, 3);
LCD.str_lcd (secPrint, 13, 9, 1, vit, vit);
LCD.str_lcd (secPrint, 13, 9, 1, svart, -1);
om (ssec < 56) {
LCD.line_lcd (0, ssec, 1, 1, blå);
LCD.line_lcd (0, ssec, 2, 2, blå);
LCD.line_lcd (0, ssec, 3, 3, blå);
LCD.line_lcd (0, ssec, 4, 4, blå);
LCD.line_lcd (0, ssec, 5, 5, blå);
}
annat {
LCD.line_lcd (0, 60,1, 1, vit);
LCD.line_lcd (0, 60,2, 2, vit);
LCD.line_lcd (0, 60,3, 3, vit);
LCD.line_lcd (0, 60,4, 4, vit);
LCD.line_lcd (0, 60,5, 5, vit);
}
Delay(1000);
LCD.clear_lcd(White);
}