/* Author: Kelompok 2
Itsar Hevara (2207421046)
Abdurrahman Ammar Ihsan (2207421047)
Wahyu Priambodo (2207421048)
Jonathan Victorian Wijaya (2207421051)
Rizki Alfarisi (2207421053)
*/
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6T7MDYgaA"
#define BLYNK_TEMPLATE_NAME "Smart Aquarium Wokwi"
#define BLYNK_AUTH_TOKEN "jKvKcoitKyvvZpUL_eXaX7qywZJSo5LC"
#include <BlynkSimpleEsp32.h>
BlynkTimer timer;
#include <Wire.h>
#include <WiFi.h>
#include <WiFiClient.h>
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASS ""
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 16, 2);
#include <OneWire.h>
const int sensorDSPin = 15;
OneWire oneWire (sensorDSPin);
#include <DallasTemperature.h>
DallasTemperature sensorDS (&oneWire);
// prototype function to send data to Blynk
void sendData();
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Wire.begin(10, 11);
lcd.begin(16, 2);
lcd.backlight();
Blynk.begin(BLYNK_AUTH_TOKEN, WIFI_SSID, WIFI_PASS);
sensorDS.begin();
timer.setInterval(1000L, sendData);
}
void loop() {
Blynk.run();
timer.run();
sensorDS.requestTemperatures();
float tempInCelcius = sensorDS.getTempCByIndex(0);
float tempInFarenheit = sensorDS.getTempFByIndex(0);
lcd.setCursor(0, 0);
lcd.print("Temp in C: ");
lcd.print(tempInCelcius);
lcd.setCursor(0, 1);
lcd.print("Temp in F: ");
lcd.print(tempInFarenheit);
}
void sendData() {
sensorDS.requestTemperatures();
float tempInCelcius = sensorDS.getTempCByIndex(0);
float tempInFarenheit = sensorDS.getTempFByIndex(0);
Serial.print("Temperature in Celsius: ");
Serial.print(tempInCelcius);
Serial.println(" C");
Serial.print("Temperature in Farenheit: ");
Serial.print(tempInFarenheit);
Serial.println(" %");
Blynk.virtualWrite(0, tempInCelcius);
Blynk.virtualWrite(1, tempInFarenheit);
}