first commit
This commit is contained in:
commit
edf0ed366c
|
@ -0,0 +1,89 @@
|
|||
#include <OneWire.h>
|
||||
#include <DallasTemperature.h>
|
||||
#include <LiquidCrystal_I2C.h>
|
||||
#define BLYNK_TEMPLATE_ID "TMPL65-q3gCp1"
|
||||
#define BLYNK_TEMPLATE_NAME "Monitoring Tambak"
|
||||
#include <BlynkSimpleEsp8266.h> // Library Blynk untuk ESP8266
|
||||
|
||||
char auth[] = "gg0y3wCGEGo7g9MBSYX6PvguebjWJMpn"; // Token otorisasi Blynk
|
||||
|
||||
const int oneWireBus = 2; // Pin D4 pada NodeMCU untuk sensor suhu DS18B20
|
||||
const int turbidityPin = A0; // Pin analog untuk sensor turbidity
|
||||
|
||||
OneWire oneWire(oneWireBus);
|
||||
DallasTemperature sensors(&oneWire);
|
||||
|
||||
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C untuk LCD 16x2
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
sensors.begin();
|
||||
lcd.init();
|
||||
lcd.backlight();
|
||||
|
||||
// Menampilkan pesan "Connecting WiFi" di LCD
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Connecting WiFi");
|
||||
|
||||
// Menghubungkan ke server Blynk
|
||||
Blynk.begin(auth, "feny", "123456789");
|
||||
|
||||
// Tunggu sampai terhubung ke Blynk
|
||||
while (!Blynk.connected()) {
|
||||
delay(500);
|
||||
Serial.print(".");
|
||||
}
|
||||
|
||||
// Menampilkan pesan "Connected" di LCD
|
||||
lcd.clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Connected");
|
||||
delay(2000); // Tampilkan pesan "Connected" selama 2 detik
|
||||
lcd.clear();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Blynk.run(); // Memanggil fungsi Blynk
|
||||
|
||||
// Membaca suhu dalam derajat Celsius
|
||||
sensors.requestTemperatures();
|
||||
float temperatureC = sensors.getTempCByIndex(0);
|
||||
|
||||
// Mengirim nilai suhu ke widget V2 di Blynk
|
||||
Blynk.virtualWrite(V2, temperatureC);
|
||||
|
||||
// Membaca nilai kekeruhan dari sensor turbidity
|
||||
int turbidityValueRaw = analogRead(turbidityPin);
|
||||
|
||||
// Mengubah nilai analog menjadi nilai dalam rentang 0-100 dengan kondisi terbalik
|
||||
int turbidityValue = map(turbidityValueRaw, 0, 1023, 100, 0);
|
||||
|
||||
// Mengirim nilai kekeruhan ke widget V1 di Blynk
|
||||
Blynk.virtualWrite(V1, turbidityValue);
|
||||
|
||||
// Menampilkan hasil ke LCD
|
||||
lcd.clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Suhu: ");
|
||||
lcd.print(temperatureC);
|
||||
lcd.print(" C");
|
||||
|
||||
lcd.setCursor(0, 1);
|
||||
if (turbidityValue >= 0 && turbidityValue <= 25) {
|
||||
lcd.print("Tingkat: Jernih");
|
||||
Serial.println("Tingkat kekeruhan: Jernih");
|
||||
Blynk.virtualWrite(V3, "Jernih"); // Mengirim nilai kekeruhan ke widget V3 di Blynk
|
||||
} else {
|
||||
lcd.print("Tingkat: Kotor");
|
||||
Serial.println("Tingkat kekeruhan: Kotor");
|
||||
Blynk.virtualWrite(V3, "Kotor"); // Mengirim nilai kekeruhan ke widget V3 di Blynk
|
||||
}
|
||||
|
||||
// Menampilkan nilai kekeruhan dan suhu ke Serial Monitor
|
||||
Serial.print("Suhu: ");
|
||||
Serial.print(temperatureC);
|
||||
Serial.print(" C, Kekeruhan: ");
|
||||
Serial.println(turbidityValue);
|
||||
|
||||
delay(1000); // Delay 1 detik
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
#include <LiquidCrystal_I2C.h>
|
||||
|
||||
LiquidCrystal_I2C lcd(0x27, 2, 16);
|
||||
|
||||
int sensorPin = A0; //A0 FOR ARDUINO/ 36 FOR ESP
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
// initialize LCD
|
||||
lcd.init();
|
||||
// turn on LCD backlight
|
||||
lcd.backlight();
|
||||
}
|
||||
void loop() {
|
||||
int sensorValue = analogRead(sensorPin);
|
||||
Serial.println(sensorValue);
|
||||
int turbidity = map(sensorValue, 0, 5, 100, 0);
|
||||
delay(100);
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Turbidity:");
|
||||
lcd.print(" ");
|
||||
lcd.setCursor(10, 0);
|
||||
lcd.print(turbidity);
|
||||
|
||||
delay(1000);
|
||||
if (turbidity < 20) {
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print(" its CLEAR ");
|
||||
Serial.print(" its CLEAR ");
|
||||
}
|
||||
if ((turbidity > 20) && (turbidity < 50)) {
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print(" its CLOUDY ");
|
||||
Serial.print(" its CLOUDY ");
|
||||
}
|
||||
if (turbidity > 50) {
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print(" its DIRTY ");
|
||||
Serial.print(" its DIRTY ");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
#include <OneWire.h>
|
||||
#include <DallasTemperature.h>
|
||||
#include <LiquidCrystal_I2C.h>
|
||||
|
||||
const int oneWireBus = 2; // Pin D4 pada NodeMCU untuk sensor suhu DS18B20
|
||||
const int turbidityPin = A0; // Pin analog untuk sensor turbidity
|
||||
|
||||
OneWire oneWire(oneWireBus);
|
||||
DallasTemperature sensors(&oneWire);
|
||||
|
||||
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C untuk LCD 16x2
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
sensors.begin();
|
||||
lcd.init();
|
||||
lcd.backlight();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// Membaca suhu dalam derajat Celsius
|
||||
sensors.requestTemperatures();
|
||||
float temperatureC = sensors.getTempCByIndex(0);
|
||||
|
||||
// Membaca nilai kekeruhan dari sensor turbidity
|
||||
int turbidityValue = analogRead(turbidityPin);
|
||||
|
||||
// Menampilkan hasil ke LCD
|
||||
lcd.clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print("Suhu: ");
|
||||
lcd.print(temperatureC);
|
||||
lcd.print(" C");
|
||||
|
||||
lcd.setCursor(0, 1);
|
||||
if (turbidityValue >= 100) {
|
||||
lcd.print("Tingkat: Jernih");
|
||||
Serial.println("Tingkat kekeruhan: Jernih");
|
||||
} else if (turbidityValue >= 100 && turbidityValue < 800) {
|
||||
lcd.print("Tingkat: Sedang");
|
||||
Serial.println("Tingkat kekeruhan: Sedang");
|
||||
} else {
|
||||
lcd.print("Tingkat: Kotor");
|
||||
Serial.println("Tingkat kekeruhan: Kotor");
|
||||
}
|
||||
|
||||
// Menampilkan nilai kekeruhan dan suhu ke Serial Monitor
|
||||
Serial.print("Suhu: ");
|
||||
Serial.print(temperatureC);
|
||||
Serial.print(" C, Kekeruhan: ");
|
||||
Serial.println(turbidityValue);
|
||||
|
||||
delay(1000); // Delay 1 detik
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
#include <OneWire.h>
|
||||
#include <DallasTemperature.h>
|
||||
|
||||
// Pin data sensor DS18B20 terhubung ke pin D4 (GPIO2) pada ESP8266
|
||||
const int oneWireBus = 2; // D4 pada NodeMCU
|
||||
|
||||
// Inisialisasi sensor suhu DS18B20
|
||||
OneWire oneWire(oneWireBus);
|
||||
DallasTemperature sensors(&oneWire);
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
sensors.begin(); // Inisialisasi sensor suhu
|
||||
}
|
||||
|
||||
void loop() {
|
||||
sensors.requestTemperatures(); // Mengambil data suhu dari sensor
|
||||
|
||||
// Membaca suhu dalam derajat Celsius
|
||||
float temperatureC = sensors.getTempCByIndex(0);
|
||||
|
||||
// Membaca suhu dalam derajat Fahrenheit
|
||||
float temperatureF = sensors.getTempFByIndex(0);
|
||||
|
||||
// Menampilkan hasil ke Serial Monitor
|
||||
Serial.print("Suhu Celsius: ");
|
||||
Serial.print(temperatureC);
|
||||
Serial.print(" C, Suhu Fahrenheit: ");
|
||||
Serial.print(temperatureF);
|
||||
Serial.println(" F");
|
||||
|
||||
delay(1000); // Delay 1 detik
|
||||
}
|
Loading…
Reference in New Issue