Aynı programda bir kaç delay kullanmam gerekiyor ama her delay programın çalışmasını etkileyeceğinden bunu nasıl yapabilirim ?
mesafe sensörü için ayrı bir delay, bunların lcd de yazdırılması ayrı bir delay bunların dışınca program bu şekilde çalışırken lcd de 5 farklı sembolü 500ms arayla ekrana yazdırmak gibi ?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
delay kullanmak o süre boyunca programı bloke eder. Senin işine yaramaz. Sen bunun yerine millis() fonksiyonunu kullanabilirsin. Sistemi bloke etmeden zaman bazlı işlemler yapabilirsin. Aşağıda bir örnek var. Bu sayede bir nebze multitasking yapabiliyorsun.
int sayac; delay(1); sayac=sayac+1 if (sayac % 100==0) {digitalWrite(6,HIGH);} //sayac değerinin mod 100 e göre kalanının 0 vermesi dijital 6 pinini aktif yap. if (sayac % 200==0) {digitalWrite(7,HIGH);} //sayac değerinin mod 200 e göre kalanının 0 vermesi dijital 7 pinini aktif yap. if (sayac % 1000==0) {sayac=0;} // sayac her 1000ms de bir başa dönsün.
< Bu mesaj bu kişi tarafından değiştirildi yucelnet -- 2 Mart 2016; 10:02:16 >
Aynı programda bir kaç delay kullanmam gerekiyor ama her delay programın çalışmasını etkileyeceğinden bunu nasıl yapabilirim ?
mesafe sensörü için ayrı bir delay, bunların lcd de yazdırılması ayrı bir delay bunların dışınca program bu şekilde çalışırken lcd de 5 farklı sembolü 500ms arayla ekrana yazdırmak gibi ?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi yucelnet -- 2 Mart 2016; 8:21:28 >