#include <Wire.h>
#include <DallasTemperature.h>
// Ultrasonic, jarak
#define pintrigger D23
#define pinecho D22
#define ledisi D21
// Dallas, suhu
#define ONE_WIRE_BUS D19
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensor(&oneWire);
float suhu;
// LDR, kekeruhan
#define LDRsens A0
#define ledLDR D18
int bacaLDR;
void setup() {
Serial.begin(9600);
// Setup Ultrasonic, jarak
pinMode(pintrigger, OUTPUT);
pinMode(pinecho, INPUT);
pinMode(ledisi, OUTPUT);
// Dallas, suhu
sensor.begin();
// LDR, kekeruhan
pinMode(ledLDR, OUTPUT);
}
void loop() {
// Untuk Ultrasonic, jarak
long durasi, jarak;
digitalWrite(pintrigger, LOW);
delayMicroseconds(2);
digitalWrite(pintrigger, HIGH);
delayMicroseconds(10);
digitalWrite(pintrigger, LOW);
durasi = pulseIn(pinecho, HIGH);
jarak = (durasi/2) / 29;
Serial.print (jarak);
Serial.println(" cm");
if (jarak >= 21)
{
digitalWrite(ledisi, HIGH);
Serial.println("air kurang / kosong");
}
else
{
digitalWrite(ledisi, LOW);
serial.println("air penuh");
}
// Untuk Dallas, suhu
sensor.setResolution(9);
sensor.requestTemperatures();
suhu = sensor.getTempCByIndex(0);
Serial.println(suhu, 1);
Serial.print("Suhu: ");
Serial.println("C");
delay(3000);
// Untuk LDR, kekeruhan
bacaLDR = analogRead(LDRsens);
Serial.println(bacaLDR);
delay(3000);
}