Arduino ISINMA Sorunu

herkese merhaba; arduino ile filmlerde olduğu gibi bir geri sayım işi yapmaya çalışıyorum, ilk olarak 42den geriye doğru sayması için gerekli kodları yazdım, şuan kesilen kablolara göre kartın led yakması veya sinyal vermesini sağlıycam yalnız. kart geri sayarken farkettimde işlemci bölümü baya ısınmış bu sorun oluştururmu yoksa devam ediyimmi sizce ? yazılan kod yaklaşık 800satırdan oluşuyo. Kart Arduino Mega 2560

ledler akım çekiyor ledlere seri bağlı dirençlerin değerini biraz arttır

hocam şimdi siz söyleyince baktımda 7segment display içinde direnç bağlamak gerekiyomuş, 2sinede bağlamamıştım ben :smiley: sağolun :slight_smile: size bi sorum daha olucaktı ben if else ile bi kod yazdım, 42 numaralı pin’e sinyal geliyosa 42’den geri say dedim. else 42 numaralı pin’e sinyal gelmiyosa LED yak dedim. kabloyu çekip 42 numaralı pin’e giden bağlantıyı kesiyorum, ancak 42den geri sayım işlemi bitmeden LEDi yakmıyo. 42numaralı pin’e sinyal gelme kesilince sayacı durdurup LEDi nasıl yakabilirim. Bir fikriniz varmı?

pine sinyal geliyor ne demek? normalde 0v ama sinyal gelince +5v vey high mı oluyor veya tersimi. sayarken de pinin durumunu kontrol edersen olur…

sinyalden kastım sizinde dediğiniz gibi +5v vermek yani HIGH olması. yazdığım kod aşağıdaki gibi, ben pin’e giden kabloyu kesiyorum yani pin LOW oluyor ama 42den geri sayma işlemi bitmeden 44 numaralı pin yanmıyo. (((((normalde 42den 0a kadar geri sayıyo ama kod uzun olduğundan site kabul etmedi bende 40tan sonrasını sildim.))))) define BEKLEME_SURESI 1000 void setup() { pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(21, OUTPUT); pinMode(22, OUTPUT); pinMode(24, OUTPUT); pinMode(25, OUTPUT); pinMode(26, OUTPUT); pinMode(27, OUTPUT); pinMode(29, OUTPUT); pinMode(30, OUTPUT); pinMode(42, INPUT); pinMode(44, OUTPUT); } void loop() { int kirmizikablo = digitalRead(42); if (kirmizikablo == HIGH) { digitalWrite(1, HIGH); //42 digitalWrite(2, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(10, HIGH); digitalWrite(24, HIGH); digitalWrite(26, HIGH); digitalWrite(29, HIGH); digitalWrite(30, HIGH); delay(BEKLEME_SURESI); digitalWrite(1, LOW); //41 digitalWrite(2, LOW); digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, HIGH); digitalWrite(7, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(21, LOW); digitalWrite(22, LOW); digitalWrite(24, HIGH); digitalWrite(25, LOW); digitalWrite(26, HIGH); digitalWrite(27, LOW); digitalWrite(29, HIGH); digitalWrite(30, HIGH); delay(BEKLEME_SURESI); digitalWrite(1, HIGH); //40 digitalWrite(2, HIGH); digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(21, LOW); digitalWrite(22, LOW); digitalWrite(24, HIGH); digitalWrite(25, LOW); digitalWrite(26, HIGH); digitalWrite(27, LOW); digitalWrite(29, HIGH); digitalWrite(30, HIGH); delay(BEKLEME_SURESI) } else { digitalWrite(44, HIGH); } }