Amacım şuydu, tuşa basınca led açılsın ve 30 dakika sonra kapansın. "Zaman" değerini değiştirerek onu ayarlayabiliyorum onda sorun yok. Ama bunu yükleyince 13 nolu pindeki led sürekli yanıyor. Hiç buton falan iplemiyor 12. pine trafo bağlasam yine iplemeyecek resmen. İşlemci mi bozuk diye 3 farklı işlemci taktım ama kod sorunda. Neden olabilir ?
Yukarıdaki öneriye ek olarak; setup() fonksiyonu içinde lamba için pinmode u set ettikten sonra digitalWrite(lamba, LOW); ile programa başlarken sönük olmasını sağlayabilirsiniz.
Ayrıca bir ekstra bilgi. Dijital girişlerde dahili pull-up dirençlerini aktif edebilirsiniz böylece dışardan direnç bağlamaya gerek kalmaz. Arduino da bu işlem INPUT_PULLUP ile yapılıyormuş. Tabi bunu yapınca butonu lojik 0'a bağlayacaksınız ve buton basılı kontrolünü şöyle yapacaksınız. if(digitalRead(buton) == LOW)
int butondurumu = 0;
const int lamba= 13;
const long zaman = 4000;
void setup () {
pinMode(lamba, OUTPUT);
pinMode(buton, INPUT);
}
void loop () {
int butondurumu=digitalRead(buton);
if (butondurumu == HIGH)
{digitalWrite(lamba, HIGH);
delay(zaman);
digitalWrite(lamba, LOW); }
else {digitalWrite(lamba, LOW);
}
}
Amacım şuydu, tuşa basınca led açılsın ve 30 dakika sonra kapansın. "Zaman" değerini değiştirerek onu ayarlayabiliyorum onda sorun yok. Ama bunu yükleyince 13 nolu pindeki led sürekli yanıyor. Hiç buton falan iplemiyor 12. pine trafo bağlasam yine iplemeyecek resmen. İşlemci mi bozuk diye 3 farklı işlemci taktım ama kod sorunda. Neden olabilir ?