Untitled
unknown
plain_text
9 months ago
1.7 kB
6
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