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: 165
  • 11.jpg
    11.jpg
    485.2 KB · Görüntüleme: 166
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?
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,850
Mesajlar
99,781
Üyeler
2,482
Son üye
ilker29

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