const int analogPin = A0; // Analog pin for potentiometer
const int digitalPin = 2; // Digital pin for button
const int ledPinPot = 3; // Digital pin for potentiometer LED
const int ledPinTMP36 = 4; // Digital pin for TMP36 LED
const int ledPinSoilMoisture = 5; // Digital pin for soil moisture LED
const int ledPinPhotoresistor = 6; // Digital pin for photoresistor LED
const int ledPinTilt = 8; // Digital pin for tilt sensor LED
const int analogPinTMP36 = A1; // Analog pin for TMP36 temperature sensor
const int soilMoisturePin = A2; // Analog pin for soil moisture sensor
const int analogPinPhotoresistor = A3; // Analog pin for photoresistor
const int tiltSensorPin = 7; // Digital pin for tilt sensor
int analogValue;
int digitalValue;
int analogValueTMP36;
int soilMoistureValue;
int photoresistorValue;
int tiltSensorValue;
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); // Initialize serial communication
}
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;
Serial.print("Analog: ");
Serial.print(analogValue);
Serial.print(", LED_Analog: ");
Serial.print(digitalRead(ledPinPot) == HIGH ? "ON" : "OFF");
Serial.print(", Temperature: ");
Serial.print(temperature);
Serial.print(" °C, LED_TMP36: ");
Serial.print(digitalRead(ledPinTMP36) == HIGH ? "ON" : "OFF");
Serial.print(", Soil Moisture: ");
Serial.print(soilMoistureValue);
Serial.print(", LED_SoilMoisture: ");
Serial.print(digitalRead(ledPinSoilMoisture) == HIGH ? "ON" : "OFF");
Serial.print(", Photoresistor Value: ");
Serial.print(photoresistorValue);
Serial.print(", LED_Photoresistor: ");
Serial.print(digitalRead(ledPinPhotoresistor) == HIGH ? "ON" : "OFF");
Serial.print(", Tilt Sensor: ");
Serial.print(tiltSensorValue);
Serial.print(", LED_Tilt: ");
Serial.println(digitalRead(ledPinTilt) == HIGH ? "ON" : "OFF");
// 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);
}
delay(1000);
}