gaz sensörü sıkıntısı
  • iyi akşamlar yazdığım kodda sıkıntı göremiyorum. aldığı değere göre ledi yakıp södürmesi gerekiyor bi bakar mısınız?

    Led sürekli bir saniye arayla yanıyor

    int pin2 = 2;
    int sensor = A0;
    int sensorValue = 0;
    void setup() {
    pinMode(pin2, OUTPUT);
    Serial.begin(9600);
    }
    void loop() {
    sensorValue = analogRead(sensor);
    Serial.println(sensorValue, DEC);
    if (sensorValue >= 700) {
    digitalWrite(pin2, HIGH);
    }
    else if(200 <= sensorValue <700) {<br />digitalWrite(pin2, HIGH);
    delay(1000);
    digitalWrite(pin2, LOW);
    delay(1000);
    }
    else {
    digitalWrite(pin2, LOW);
    }
    }
  • Aynı hataya bende düştüm mantıksal olarak düşündüğünde delay konutundan sonra digitalwrite ( pin2, low) dediğinde olmuyor. Onun için ayrı bir algoritma yazılması lazım butona basılı tutunca tek komut gönderme yazısında bununla ilgili bir fonksiyon var onu kullanabilirsin bende işe yaradı
  • Hocam o dediğiniz yazıya benzer çok fazla var hangisi olduğunu anlamadım. Rica etsem link atar mısınız?
  • else if(200 <= sensorValue <700) {<br />
    Burada demişsiniz ki eğer sensorValue 200den (küçükse eşitse) ve 700den küçükse
    bu mantik kodun sürekli çalışmasına sebep olur ta ki 700 den büyük olana kadar
    700 den büyük olunca da sürekli yanar çünkü daha önce de if (sensorValue >= 700) { var
    bu da 700 den büyük olduğunda komut veriyor
  • Hocam orda 200 den büyük eşit ve 700 den küçük yazmıyor mu ben mi yanlışım?
    200<= sensorValue burda 200 den büyük oluyo
  • 200 ile 700 arası değerleri almak istiyorsunuz herhalde şunu deneyin
    if (sensorValue > 200 && sensorValue < 700)
  • evet 200<= sensorValue burda 200 den büyük oluyo ben hatalı yazmışım<br />ancak siz şöyle demiş oluyorsunuz
    200 den büyükse eşitse aynı zamanda 700 den de küçükse
    bu da sürekli çalışması demek oluyor çünkü gelen değer 0 olursa bile 700den küçüktür 1023 olsa da 200den büyüktür :)

    Şöyle olmalıydı (sensorValue büyükse 200den ve sensorValue küçüğkse 700den) buradaki (ve) deyimi önemli ve onu && ile yaparsın
  • Hocam teşekkür ederim

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.