Boeing 737NG MCP Paneli Yapmak

@taydin abinin kodu Arduino UNO'da güzel çalışıyor. Hiç hata vermeden derleniyor.
Fakat ben potla değil sinyal jeneratörüyle sinyal verdim devreye. Loop döngüsüne delay(10), delay(50) gibi gecikme ekleyerek stabiliteyi artırabilirsiniz.

map fonksiyonu içinde neden 0,1023 yapıyoruz? sonuçta yukarıda değiştiriyoruz onu.

O fonksiyon 0-1023 arası gelen veriyi 0-255 seviyesine çekiyor.
Arduino'nun bazı pwm çıkışları 255'e kadar sınırlı. Yani 8 bit. Buna 10 bit veri yazamazsın.
Bu fonksiyon onu ayarlıyor.

deger verisini 2 bit sağa kaydırarak aynı şeyi yapabilirsiniz.
C:
deger=deger>>2;

Bu şekilde çözünürlük düşer fakat adc nin son bit değerlerinden feragat edildiği için stabilite artar.
 
Yav sende kapı gibi osiloskop var, ne serial monitörü? :D Osiloskobun seri bilgiyi çok güzel ve gerçek zamanlı çözümlüyor olması lazım.
Abi ben onun sahibi değilim ki, o benim sahibim.
Osiloskopun Gökhanı var :D
 
Nasıl yani değeri sayısal olarakmı gösteriyor ?

Bu modelde tam olarak nasıl gösteriyor bilmiyorum. Aslında belki de lojik analizörlü modele özgü olabilir. Kullanım kılavuzuna bakmak lazım.
 
Evet şimdi evde arduinoyu kurdum.

IMG_20200827_220641.jpg
 
Elimde 50 kΩ luk çok turlu pot var sadece, onunla denedim. Ortam gürültüsünden dolayı ADC'nin okuduğu değer sürekli 1 aşağı 2 aşağı, 1 yukarı 2 yukarı değişiyor. Ölçeklemek de işe yaramıyor çünkü gene bir değerde ölçekleme sonucu da aşağı yukarı oynuyor.

16 bit PWM ile bu sorun çözülür, ama 16 bit PWM yapmak için de mevcut UNO kütüphaneleri kullanılamıyor. Registerleri kendin yapılandırıp direkt registerlerle işi halletmek lazım.
 
Ben de şöyle bir strateji izledim: Nasıl ki pinlerden birisine bağlı bir mekanik butonu "debounce" ediyoruz, ben de ADC değerini bir nevi böyle debounce ettim. ADC'den peş peşe belli sayıda aynı değeri okursam, bu yeni değeri geçerli değer olarak kaydediyorum. Böylece kısa anlı değişimler PWM de kullanılacak değere yansıtılmamış oluyor.

C:
#define PIN_LED 3
#define PIN_POT A0
#define POT_FILTER_THR 4 // kac tane esit okuma olmali durum yeni pot degerini kullanmak icin
#define POT_MIN 4        // pot minimum konumda iken okunan deger

void setup()
{
  Serial.begin(9600);
}

int pot_prev = -1;
int pot_curr = 0;
int pot_cnt = 0;

// pot degerini surekli oku ve pes pese POT_FILTER_THR tane ayni deger okunduysa
// pot_curr degerini bu deger ile guncelle.
int process_pot()
{
  int pot = analogRead(PIN_POT);

  if (pot == pot_prev)
  {
    ++pot_cnt;
    if (pot_cnt == POT_FILTER_THR)
    {
      pot_cnt = 0;
      pot_curr = pot;
    }
  }
  else
  {
    pot_prev = pot;
    pot_cnt = 0;
  }
}

void loop()
{
  process_pot();
  analogWrite(PIN_LED, (pot_curr - POT_MIN) / 4);
}
 
Burada POT_FILTER_THR ile denemeler yapıp parazitten en az etkilenecek şekilde bir değer kullanmak lazım. Eğer gene de titreme oluyorsa o zaman tek çare 16 bit PWM yapmak :)
 
Karanlıktaki parlaklık konumu minimum konum mu yoksa daha kısma yeri var mı? :)
 
Süper. O zaman 16 bit PWM nin getireceği ilave düşük seviyelere ihtiyacın olmayacak.
Şuan zaten 16bit ile uğraşmaya üşeniyorum abi. Bu şekilde kullanacağım. Zaten kablo olayı çok yıprattı beni. 10dk önce çalışan kablo bakıyorsun 10dk sonra çalışmıyor. Aleti yerinden bile oynatmıyorum ama yine gidiyor. Onu değiştiriyorum bi bakıyorum öteki gitmiş. Kablo da rahat 150-200 tane vardır.

Bunu daha modüler yapmak lazım. Kablolardan kurtulup tüm elemanları pcb üzerine lehimlemeli. Ve arduinoyu da shield olarak takılacak şekilde yapılandırmalı. Bunun için de hem iyi bir çizim hemde pcb yi çinde bastırmak lazım.
 
Allah kolaylık versin bende çok uğraşmıştım. Tebrik ediyorum sizi çalışmalarınızı başından beri okudum. Sona ulaşmışsınız. Güle güle kullanın. Bende bunu yapmıştım ilk önce.
 

Ekler

  • 22.jpg
    22.jpg
    276.6 KB · Görüntüleme: 201
  • 11.jpg
    11.jpg
    485.2 KB · Görüntüleme: 203
Allah kolaylık versin bende çok uğraşmıştım. Tebrik ediyorum sizi çalışmalarınızı başından beri okudum. Sona ulaşmışsınız. Güle güle kullanın. Bende bunu yapmıştım ilk önce.

Çok güzel ayrıntılı bir çalışma olmuş. Analog ibreli göstergeleri ve kapaklı switch'leri Türkiye'den mi buldun, yoksa yurtdışından mı getirttin?
 

Forum istatistikleri

Konular
6,953
Mesajlar
118,766
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top