FALCON BMS için MFD Buton Uygulaması

Merhaba Arkadaşlar;

Bu yazımda sizlere FALCON BMS simulatörü için kendi tasarladığım MFD buton çalışmasını paylaşacağım. FALCON da uçanlar bilirler, kokpiti ne kadar gerçeğe taşıyabilirsek o kadar kolay ve gerçekçi bir uçuş olur. Hem kontrol açısından hemde de ekranı takip açısından. Bunun için piyasada bir çok ürün var, özellikle MFD buton için satılan bir ürün var.

Thrustmaster MFD Cougar Pack Uçuş Kontrol Paneli

Bu ürün MFD butonlarına bastığınızda USB üzerinden klavye kısayolu göndermektedir. Tabi ürün biraz pahalı olunca kendim yapmaya karar verdim. Bunun için 40 buton yani 40 pini olan ve usb hid cihaz olarak bağlanabilen bir işlemci seçmek zorundaydım.

Ardunio Leonardoyu seçtim, fakat bu kartta 40 pin yoktu ve bana 40 pin gerekliydi. Bu sorun için port çoğullayıcı kullanmaya karar verdim ve MCP23017 kullandım.

IC2 üzerinden 16 port çoğullanabiliyor hatta bu işlemi kesme ile yapabiliyorsunuz. Bu çoğullayıcıdan 2 adet kullanarak 32 pin elde ettim. Kalan 8 pin ise leonarda dan kullandım ve şemayı oluşturmuş oldum.

Port çoğullayıcı için ister entegre alarak kendiniz devre kurabilirsiniz, isterseniz hazır satılan modülleri kullanabilirsiniz.

Gelelim şemasına:

  • Ardunio Leonardo nun SDA ve SCL pinlerini her 2 modülün SDA ve SLC pimlerine bağlanır.
  • 2 adet modül kullanılacağı için adresleme yapılması gerekiyor. İlki A0,A1,A2 3 pin gndye verilir. 2. si ise A0 3v3, diğerleri gnd ye verilir.
  • 2 MCP nin de reset pinleri 3v3 e verilir.
  • Geriye ise A ve B portları kalır bunun yerleşimi ise aşağıdaki tablodaki gibidir. Bu tablo excel olarak ekte mevcuttur.
  • 1. MCP nin A ve B kesme pinleri: A: 4, B: 5
  • 2. MCP nin A ve B kesme pinleri: A: 6, B: 7

Tabloda görüldüğü gibi Sol MFD ve Sağ MFD ye göre 20 şer buton hangi mcp lere denk geliyor ve hangi klavye kısa yollarına sahip görülmektedir.

LMFD-OSB 1 MCP (0) A0 1 CTRL ALT 1
2 A1 2 CTRL ALT 2
3 A2 3 CTRL ALT 3
4 A3 4 CTRL ALT 4
5 A4 5 CTRL ALT 5
6 A5 6 CTRL ALT 6
7 A6 7 CTRL ALT 7
8 A7 8 CTRL ALT 8
9 B0 9 CTRL ALT 9
10 B1 10 CTRL ALT 0
11 B2 11 CTRL ALT KP1
12 B3 12 CTRL ALT KP2
13 B4 13 CTRL ALT KP3
14 B5 14 CTRL ALT KP4
15 B6 15 CTRL ALT KP5
16 B7 16 CTRL ALT KP6
17 MCP (1) A0 1 CTRL ALT KP7
18 A1 2 CTRL ALT KP8
19 A2 3 CTRL ALT KP9
20 A3 4 CTRL ALT KP0
RMFD-OSB 1 A4 5 SHIFT ALT 1
2 A5 6 SHIFT ALT 2
3 A6 7 SHIFT ALT 3
4 A7 8 SHIFT ALT 4
5 B0 9 SHIFT ALT 5
6 B1 10 SHIFT ALT 6
7 B2 11 SHIFT ALT 7
8 B3 12 SHIFT ALT 8
9 B4 13 SHIFT ALT 9
10 B5 14 SHIFT ALT 0
11 B6 15 SHIFT ALT KP1
12 B7 16 SHIFT ALT KP2
13 Lenonardo D8 SHIFT ALT KP3
14 D9 SHIFT ALT KP4
15 D10 SHIFT ALT KP5
16 D11 SHIFT ALT KP6
17 D12 SHIFT ALT KP7
18 D13 SHIFT ALT KP8
19 A0 SHIFT ALT KP9
20 A1 SHIFT ALT KP0

Kalan Leonardo pinleri ise tablonun sonunda yer almaktadır. Bu sistemi delikli plaket kullanarak yaptım PCB çizmedim, çizen arkadaş olursa paylaşmaya hazırım. 40 adet butonu biraz kablo yığını yaptı ve ortaya böyle bir şey çıktı:

Donanımı bitirdikten sonra gelelim programına, Programı için burayı tıklayarak indirebilirsiniz. falcon_mfd_buton

Gerekli MCP ve pin ayarlamaları yapıldıktan sonra, 2 MCP nin bütün pinlerini giriş yapıp pull-up özelliğini açıyoruz.

Kalan 8 pin için EasyButon kütüphanesi kullandım ve onların tanımlamalarını yaptım.

Daha sonra Loop da, kalan 8 butonu ve MCP lerin kesme pinlerini kontrol ettim.

Daha sonra 4 kesme fonksiyonunda ise kesmenin hangi pinden geldiğine bakarak istenilen klavye kodunu gönderiyorum.

Artık sistemi ekrana yapıştırmaya hazırız. FALCON da 2. ekran için falcon mfd extractor programını kullandım. Siz isterseniz farklı programlarda MFD ekranları yansıtabilirsiniz. MFD ekranları karelerin tam ortasına yerleştirdikten sonra artık USB yi bağlayıp sistemi çalıştırabilirsiniz.

Bir sonraki projede görüşmek üzere,
Kolay gelsin.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.