Arduino DHT 11 ile Servo Motor Kontrol Etme

Ka_a

Zeptopat
Katılım
20 Ocak 2022
Mesajlar
2
Arduino'da DHT 11 ile servo nasıl ayarlayabilirim? Mesela 25 dereceden büyük olunca sıcaklık servoyu 90 derece yapacak, nasıl yapabilirim?
 
oncelikle dth dan verileri aldigindan emin ol verileri aldikdan sonra verini degiskene ata artik degiskenin elinde bunu matematik olarak kullanmaya haziriz simdi yapmamiz gereken servo kismini entegre etmek sisteme servo icin pwm pin kullan datalarda


#include <Servo.h>
Servo myservo; // servona isim ver

void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop() {

if (sensor < 25)
{
myservo.write(90); // kosula girince haraketi bu yapicak
}
else
{
myservo.write(0); // kosula girince haraketi bu yapicak
}

}



gibi mantik bu sekilde yani dth dan geleni aldik sensor diye bir degiskene attik varsayalim sonra if else ye girdik kosulu denetledik eger dedik ki sicaklik 25 < kucuk > buyuk hangisini istersen o duruma gelmesini bekledik geldigi anda myservo degiskenine write yani yazdir dedik servolarin icinde pot oldugu icin analog sinyal algilar ordan data 90 a gelene kadar motoru cevirir 90 pozisyon degerini aldimi durur o yuzden de data sinyalimizi pwm pine baglariz bu saydece donusu tamamlamis olduk kabataslak olarak bu sekilde yapabilirsin
 

Teşekkürler dht yi atarken tüm kütüphaneleri denedim ama dht yi atamıyorum dht nin kodunu nasıl yapabilirim?
#include <Servo.h>
#include "DHT.h"


#define DHTPIN 8
#define DHTTYPE DHT11

#define role 13

Servo servo1
DHT dht(DHTPIN, DHTTYPE);

void setup() {

pinMode(role, OUTPUT);
servo1.attach(5);
Serial.begin(9600);
Serial.println(F("Veriler alınıyor..."));


dht.begin();

}

void loop() {

delay(2000);

float sicaklik = dht.readTemperature();


if (isnan(sicaklik)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;

}
else {

Serial.print(F(" Sıcaklık: "));
Serial.println(sicaklik);
servo1.write(aciDegeri);
if (sicaklik >= 25) {

digitalWrite(role, HIGH);
servo1.write(90);
}
else {

digitalWrite(role, LOW);
servo1.write(0);

}


}

}

Benim kullandığım kod bu ama hata veriyor
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…