so i had to switch from arduino uno to arduino mega and i belive this is the code that worked on uno im not sure why it doesn’t work maybe because i updated arduino ide or maybe i updated some libraries i have no idea and m asking for help beacuse u don’t know much about programing so any help i appreciated
thanx!
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal_I2C.h>
#include <Ethernet.h>
#include <SPI.h>
#include <SFE_BMP180.h>
#include <Wire.h>
#include "HTU21D.h"
#include <BlynkSimpleEthernet.h>
#include <SimpleTimer.h>
#define ALTITUDE 50
#define ONE_WIRE_BUS 7
void setup();
void readHumidity();
void readLDR();
void readTemp();
void readPressure();
void loop();
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensorsA(&oneWire);
DallasTemperature sensorsB(&oneWire);
DallasTemperature sensorsC(&oneWire);
LiquidCrystal_I2C lcd(0x27, 20, 4);
SFE_BMP180 pressure;
HTU21D myHumidity;
SimpleTimer timer;
char auth[] = "xxxxx";
int LDR = A0;
void setup()
{
Blynk.begin(auth);
pinMode(LDR, INPUT);
sensorsA.begin();
sensorsB.begin();
sensorsC.begin();
pressure.begin();
lcd.init();
lcd.backlight();
myHumidity.begin();
timer.setInterval(1000, readTemp);
timer.setInterval(1000, readLDR);
timer.setInterval(1000L, readPressure);
timer.setInterval(1000L, readHumidity);
}
void readHumidity()
{
float humd = myHumidity.readHumidity();
float temp = myHumidity.readTemperature();
Blynk.virtualWrite(5, humd);
lcd.setCursor(0, 3);
lcd.print("H:");
lcd.print(humd);
lcd.print("%");
}
void readLDR()
{
LDR = analogRead(LDR);
}
void readTemp()
{
sensorsA.requestTemperatures();
sensorsB.requestTemperatures();
sensorsC.requestTemperatures();
float floatTempA = sensorsA.getTempCByIndex(0);
char A_buffer[15];
dtostrf(floatTempA, 8, 9, A_buffer);
Blynk.virtualWrite(1, A_buffer);
float floatTempB = sensorsB.getTempCByIndex(1);
char B_buffer[15];
dtostrf(floatTempB, 8, 9, B_buffer);
Blynk.virtualWrite(2, B_buffer);
float floatTempC = sensorsC.getTempCByIndex(2);
char C_buffer[15];
dtostrf(floatTempC, 8, 9, C_buffer);
Blynk.virtualWrite(3, C_buffer);
sensorsA.requestTemperatures();
lcd.setCursor(0, 0);
lcd.print("Sensor #1:");
lcd.print(sensorsA.getTempCByIndex(0));
lcd.print((char)223);
lcd.print("C");
sensorsA.requestTemperatures();
lcd.setCursor(0, 1);
lcd.print("Sensor #2:");
lcd.print(sensorsB.getTempCByIndex(1));
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0, 2);
lcd.print("Sensor #3:");
lcd.print(sensorsC.getTempCByIndex(2));
lcd.print((char)223);
lcd.print("C");
}
void readPressure()
{
char status;
static double T, P, p0, a;
status = pressure.startTemperature();
if (status != 0)
{
delay(status);
status = pressure.getTemperature(T);
if (status != 0)
{
status = pressure.startPressure(3);
if (status != 0)
{
delay(status);
status = pressure.getPressure(P, T);
if (status != 0)
{
p0 = pressure.sealevel(P, ALTITUDE);
a = pressure.altitude(P, p0);
}
}
}
}
Blynk.virtualWrite(V4, int(p0));
lcd.setCursor(10, 3);
lcd.print("P:");
lcd.print(int(p0));
lcd.print(" hPa");
}
void loop()
{
Blynk.run();
timer.run();
}