Nodemcu ile WS2812 Animasyon Hatası

dodo1234

Üye
Katılım
21 Ocak 2017
Mesajlar
5
Puanları
1
Dostlar selamlar
WS2812 şerit ledi kullanarak bir proje yapmaktayım. İsteğim telefon üzerinden animasyon , renk ve parlaklık değiştirmek. Kontrolcü olarak Nodemcu kullandım ve App ınventor yardımı ile uygulamamı yaptım. Firebase üzerinden sağlıklı haberleşiyorlar buraya kadar bir sıkıntı yok. Ancak FASTLED kütüphanesi ile hazırladığım kodu yükleyince CYLON animasyonu dışındaki animasyonlar donarak çalışıyor. Kodları direkt örneklerden aldım. Örnekleri tek hali ile yükleyince bir problem olmuyor. Tek renk modu ve parlaklık değiştirmede bi sıkıntı yok ancak animasyonlarda iş patlıyor. Bana önerebileceğiniz şeyler var mı? Şimdiden teşekkürler.
Hazırladığım kodu ve bir animasyonun normal halini ve kodumda çalışan halini paylaşıyorum.
https://drive.google.com/drive/folders/1L5FfYN8Z2H_a1hb0o8-ibQd5SvtxcDfu?usp=sharing
 

Ekli dosyalar

  • Ambiance Light Controller.txt
    21.2 KB · Görüntüleme: 5
Kod:
   unsigned long simdikizaman = millis();
 
    if (simdikizaman - oncekizaman >= bekle) // gecikme suremiz doldu mu diye kosul ekledik
  {
    oncekizaman = simdikizaman; // kosul satirina girdigine gore zaman dolmus simdi eski zamani simdiki zamanla yeniliyoruz.

Bu kısmı loop tan sil dene, gördüğüm kadarıyla her animasyonun kendi zaman sabiti var. Eğer firebase den komut gelmezse switch döngüsünün default kısmına delay(100) eklersin serveri sıkboğaz etmez.
 
Kod:
   unsigned long simdikizaman = millis();

    if (simdikizaman - oncekizaman >= bekle) // gecikme suremiz doldu mu diye kosul ekledik
  {
    oncekizaman = simdikizaman; // kosul satirina girdigine gore zaman dolmus simdi eski zamani simdiki zamanla yeniliyoruz.

Bu kısmı loop tan sil dene, gördüğüm kadarıyla her animasyonun kendi zaman sabiti var. Eğer firebase den komut gelmezse switch döngüsünün default kısmına delay(100) eklersin serveri sıkboğaz etmez.
Sildim ancak değişen bir şey olmadı animasyonlar donmaya devam ediyor. Bu kod ile multi tasking yapmaya çalıştım ancak beceremedim.
Şöyle bir şey fark ettim. İçersinde fazla void bulunduran animasyonlarda problem var. Örneğin Pacifica isimli animasyon 4 tane alt void ile çalışıyor ama güzel çalışan CYLON tek fonksiyonla çalışıyor. Sizce bunla bir ilgisi var mıdır?
 
multitasking için rtos kullan, Bide cpu speedi 160 yap değişen bişey olacak mı

Untitled.png
 
1612711972085.png

160 yaptım ancak sonuç aynı. Başka bir ayarla oynamam gerekir mi acaba? rtos u şimdi araştırıyorum hocam.
 

Forum istatistikleri

Konular
127,960
Mesajlar
913,921
Kullanıcılar
449,609
Son üye
cherrywine

Yeni konular

Geri
Üst