const int analogPin = A0;
const int digitalPin = 2;
const int ledPinPot = 3;
const int ledPinTMP36 = 4;
const int ledPinSoilMoisture = 5;
const int ledPinPhotoresistor = 6;
const int ledPinTilt = 8;
const int analogPinTMP36 = A1;
const int soilMoisturePin = A2;
const int analogPinPhotoresistor = A3;
const int tiltSensorPin = 7;
int analogValue;
int digitalValue;
int analogValueTMP36;
int soilMoistureValue;
int photoresistorValue;
int tiltSensorValue;
String outString;
void setup() {
pinMode(analogPin, INPUT);
pinMode(digitalPin, INPUT);
pinMode(analogPinTMP36, INPUT);
pinMode(soilMoisturePin, INPUT);
pinMode(analogPinPhotoresistor, INPUT);
pinMode(tiltSensorPin, INPUT);
pinMode(ledPinPot, OUTPUT);
pinMode(ledPinTMP36, OUTPUT);
pinMode(ledPinSoilMoisture, OUTPUT);
pinMode(ledPinPhotoresistor, OUTPUT);
pinMode(ledPinTilt, OUTPUT);
Serial.begin(9600);
}
void loop() {
analogValue = analogRead(analogPin);
analogValueTMP36 = analogRead(analogPinTMP36);
digitalValue = digitalRead(digitalPin);
soilMoistureValue = analogRead(soilMoisturePin);
photoresistorValue = analogRead(analogPinPhotoresistor);
tiltSensorValue = digitalRead(tiltSensorPin);
int brightness = map(analogValue, 0, 1023, 0, 255);
analogWrite(ledPinPot, brightness);
float temperature = analogValueTMP36 * 0.48876;
// LED indication for TMP36
if (temperature > 80) {
digitalWrite(ledPinTMP36, HIGH);
} else {
digitalWrite(ledPinTMP36, LOW);
}
// LED indication for Soil Moisture
if (soilMoistureValue < 400) {
digitalWrite(ledPinSoilMoisture, HIGH);
} else {
digitalWrite(ledPinSoilMoisture, LOW);
}
// LED control based on Photoresistor
int photoresistorThreshold = 500;
if (photoresistorValue > photoresistorThreshold) {
digitalWrite(ledPinPhotoresistor, HIGH);
} else {
digitalWrite(ledPinPhotoresistor, LOW);
}
// LED control based on Tilt Sensor
if (tiltSensorValue == HIGH) {
digitalWrite(ledPinTilt, HIGH);
} else {
digitalWrite(ledPinTilt, LOW);
}
outString = String(analogValue) + "," +
(digitalRead(ledPinPot) == HIGH ? "ON" : "OFF") + "," +
String(temperature) + "," +
(digitalRead(ledPinTMP36) == HIGH ? "ON" : "OFF") + "," +
String(soilMoistureValue) + "," +
(digitalRead(ledPinSoilMoisture) == HIGH ? "ON" : "OFF") + "," +
String(photoresistorValue) + "," +
(digitalRead(ledPinPhotoresistor) == HIGH ? "ON" : "OFF") + "," +
String(tiltSensorValue) + "," +
(digitalRead(ledPinTilt) == HIGH ? "ON" : "OFF");
Serial.println(outString);
delay(1000);
}