if (digitalRead(1) == HIGH) { digitalWrite(3, HIGH); } else { digitalWrite(3, LOW); } } Bu şekilde kodu yazıp devreyi de hazırlıyorum standart şekilde Ancak sadece 1. PİNDEKİ lamba yanıp sönüyor 3. Pindekinde herhangi bi değişiklik olmuyor Sorun ne olabilir
Merhaba. digitalRead() fonksiyonunun örnek kodlarında okunacak pini setup içinde giriş olarak tanımlamışlar. Siz setup içinde çıkış olarak tanımladığınız pini digitalRead() fonksiyonu ile okumaya çalışmışsınız. Bu yüzden ne yapmaya çalıştığınız sadece kodlara bakarak anlaşılmıyor. Buna dikkat ettiniz mi?
Ayrıca digitalRead fonksiyonu ile okunacak pinin giriş veya çıkış olarak tanımlanmasından bağımsız olarak, üstteki cevapta da yazıldığı gibi kodlar adım adım çalıştırılıp sıra "if (digitalRead(1) == HIGH)" satırına geldiğinde kontrol edilen değer çoktan sıfırlanmış oluyor. 1 saniye önce çalıştırılan "digitalWrite(1, LOW);" satırı if bloğunu anlamsız hâle getiriyor.
pinMode(3, OUTPUT);
pinMode(1, OUTPUT);
}
void loop() {
digitalWrite(1, HIGH);
delay(1000);
digitalWrite(1, LOW);
delay(1000);
if (digitalRead(1) == HIGH) {
digitalWrite(3, HIGH);
} else {
digitalWrite(3, LOW);
}
}
Bu şekilde kodu yazıp devreyi de hazırlıyorum standart şekilde
Ancak sadece 1. PİNDEKİ lamba yanıp sönüyor 3. Pindekinde herhangi bi değişiklik olmuyor
Sorun ne olabilir
< Bu ileti mobil sürüm kullanılarak atıldı >