Şimdi Ara

kodda nerde hata yapıyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
365
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaşlar koddaki hatayı bulamadım
    istediğim gibi çalışmıyor kod


    4 numaralı çıkış 1 olduğunda 5 numaralı çıkış 0 olsun istiyorum bir türlü olmadı


    int led1=4;


    void setup() {

    pinMode(led1, OUTPUT);
    pinMode(5, OUTPUT);
    }

    void loop() {



    digitalWrite(led1, HIGH);
    delay(1000);
    digitalWrite(led1, LOW);
    delay(1000);


    if (led1==HIGH) {

    digitalWrite(5, LOW);

    }else{

    digitalWrite(5, HIGH);

    }



    }



  • led1'in değeri hiçbir zaman değişmiyor. led1'in değeri her zaman 4. digitalWrite(led1,HIGH) komutu, led1'in değerini değiştirmiyor. yalnızca led1'in temsil ettiği PİN'i 5v'a çıkarıyor.
  • If kosulu icerisindeki led1 degiskeni yerine digitalRead(led1) olarak degistir.



    < Bu mesaj bu kişi tarafından değiştirildi Xulavi -- 27 Ocak 2019; 1:11:28 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Xulavi

    If kosulu icerisindeki led1 degiskeni yerine digitalRead(led1) olarak degistir.
    çalışmadı yine aynı çıkış 4 yanıp sönerken çıkış 5 devamlı sabit yanıyor
  • 5 devamlı sabit yanar çünkü 5'i kontrol eden kısma geldiğinde 4 hep sönük durumda.

    En basit şekilde delayların önüne bir tane daha if else yapman lazım.

    Tabi asıl yapman gereken zamanlama ile yapman testi ama yukarıda dediğim işini görür.

    Not: Aslında iflere bile gerek yok ama kafanı karıştırmayayım.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.