Arduino ile iki sketch birleştirme yardım

escort105

Yeni Üye
Katılım
7 Şubat 2024
Mesajlar
4
Merhaba
Esp8266 tabanlı bir kart ile wifi kontrollu bir devrem var 2 adet dc 2 adet servo motor sürüyor ve sorunsuz çalışıyor ama buna birde oled ekran eklemek istiyorum.Ekran içinde kodum var iki kod ayrı ayrı istediğim gibi çalışıyor.Ekran kodunda bi kaç resim delay ile bekleye bekleye değişiyor.ana skech içine bu ekran kodunu bir türlü ekleyemedim eklesemde farkettim ki ekran kodu içindeki delaylar yuzunden benim kumanda kısmındakı koda gecemeyecek yani iki kodu aynı anda çalıştırmayacak.Arduino hakkında çok bir bilgim yok nasıl ikisini aynı anda çalıştırabilirim yardımcı olabilecek kimse varmı?
 

Ekler

  • CamBot_SERVO_FUL_OK.ino
    4.6 KB · Görüntüleme: 19
  • OLED_Eyes_ONLY_MEGA_Arduino.ino
    194.4 KB · Görüntüleme: 19
Delay yerine millis fonksiyonunu kullanman lazım.
 
Arduino'da, sendeki gibi iki ayrı ino varsa, IDE onların ikisini de derler ve programa dahil eder. Yani zaten o iki program birleşmiş durumda olur.
 
Millis kullanımını bende bilmiyorum. Youtubedan nasıl kullanıldığına bakabilirsin.
 
"Arduino+state machine" olarak arayabilirsiniz.

C:
//yalancı kodlar.
genel değişken:
şimdiki zaman = 0;
son_zaman = 0;
birinci_tur = 1000;
ikinci_tur = 1500;

setup...

main(loop)...
şimdiki_zaman = millis();
if(şimdiki_zaman - son_zaman >= birinci_tur)
{
     //birinci tur işlemleri
}
else if(şimdiki_zaman - son_zaman >= ikinci_tur)
{
    ///ikinci tur işlemleri
    son_zaman = şimdiki_zaman
}

Aslında en güzeli; bir timer kesmesi ile sayaç yapmak
ve ana döngüde bu saycı takip etmek.
Buton debounce problemleri de bunun içine dahil edilebilir.
 
Son düzenleme:
Arduino'da, sendeki gibi iki ayrı ino varsa, IDE onların ikisini de derler ve programa dahil eder. Yani zaten o iki program birleşmiş durumda olur.
nasıl yani hocam ilk ino dosyasını açıp ayrıca dosya ekle deyip yanına diğer ino dosyasını atıp derle deyince idenin otomatik birleştireceğini mi söylüyorsunuz
 
"Arduino+state machine" olarak arayabilirsiniz.

C:
//yalancı kodlar.
genel değişken:
şimdiki zaman = 0;
son_zaman = 0;
birinci_tur = 1000;
ikinci_tur = 1500;

loop...

main...
şimdiki_zaman = millis();
if(şimdiki_zaman - son_zaman >= birinci_tur)
{
     //birinci tur işlemleri
}
else if(şimdiki_zaman - son_zaman >= ikinci_tur)
{
    ///ikinci tur işlemleri
    son_zaman = şimdiki_zaman
}

Aslında en güzeli; bir timer kesmesi ile sayaç yapmak
ve ana döngüde bu saycı takip etmek.
Buton debounce problemleri de bunun içine dahil edilebilir.
verdiğniz örneği uygulamaya çalışacağim ama becerebileceğimi sanmıyorum. benim programdaki sorun sanırım setup kısmında server.on komutu aktif olunca başka birşeyi sallamıyor server dan gelecek olan komutları dinlemeye ayarlıyor kendini heralde.bunu okuyunca araya bitane led yak desek yakamayacak heralde çünü araya bişey koyunca server.handleClient hata veriyor
 
Son düzenleme:

Forum istatistikleri

Konular
5,841
Mesajlar
99,636
Üyeler
2,480
Son üye
mozcelikors

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top