Untitled

 avatar
unknown
plain_text
a month ago
1.7 kB
4
Indexable
#include <DHT.h>

// Sensör pinleri ve türleri
#define TEMP_PIN A0 // TMP36 sıcaklık sensörü
#define DHT_PIN 2   // DHT11 sensörünün veri pini
#define DHT_TYPE DHT11
#define SOUND_PIN A1 // Ses seviyesi için potansiyometre
#define FAN_PIN 3    // Fan için PWM pin
#define LED_PIN 4    // LED
#define BUZZER_PIN 5 // Buzzer

DHT dht(DHT_PIN, DHT_TYPE);

// Değer eşikleri
const float TEMP_THRESHOLD = 28.0; // Maksimum sıcaklık (°C)
const float HUMIDITY_THRESHOLD = 60.0; // Maksimum nem (%)
const int SOUND_THRESHOLD = 500;  // Maksimum ses seviyesi

void setup() {
  Serial.begin(9600);
  dht.begin();

  pinMode(FAN_PIN, OUTPUT);
  pinMode(LED_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
}

void loop() {
  // Sıcaklık ölçümü
  int tempValue = analogRead(TEMP_PIN);
  float voltage = tempValue * 5.0 / 1023.0;
  float temperature = (voltage - 0.5) * 100;

  // Nem ölçümü
  float humidity = dht.readHumidity();

  // Ses seviyesi ölçümü
  int soundLevel = analogRead(SOUND_PIN);

  // Fan kontrolü
  if (temperature > TEMP_THRESHOLD || humidity > HUMIDITY_THRESHOLD) {
    analogWrite(FAN_PIN, 255); // Fan çalışır
  } else {
    analogWrite(FAN_PIN, 0);   // Fan durur
  }

  // Ses seviyesi kontrolü
  if (soundLevel > SOUND_THRESHOLD) {
    digitalWrite(LED_PIN, HIGH);
    digitalWrite(BUZZER_PIN, HIGH);
  } else {
    digitalWrite(LED_PIN, LOW);
    digitalWrite(BUZZER_PIN, LOW);
  }

  // Verileri seri porta yazdır
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.print(" C, Humidity: ");
  Serial.print(humidity);
  Serial.print(" %, Sound Level: ");
  Serial.println(soundLevel);

  delay(1000);
}
Editor is loading...
Leave a Comment