Sim kumandası yapalım ...

Sim kumandası yapalım ...

Maliyet iyi,

İkinci sualim, belki uçuk gelebilir.

Bunu normal bir kumanda gibi kullanma imkanı olabilir mi.

Yani bununla FPV quad uçurulabilir mi ?

(Fikir uçuk geldi ise cevaplamayın.)
 
Sim kumandası yapalım ...

Siz yazarken ben de aynı konuya değinmişim herhalde. :laugh:
 
Sim kumandası yapalım ...

Şimdi derdimiz iki stickli bir aletten PPM sinyali almak mı?

Ben bunun için asla bir KÜTÜPHANE kullanmazdım. :D :p :lol:

İki stick yani dört potansiyometre var. Bu potansiyometreleri gerilim bölücü olarak bağlayıp sliderlerini analog girişlere bağlıyoruz.

Dörde kadar da mekanik switch kullanabiliriz. Onları da digital girişlere bağlıyoruz. Oldu bitti...

İstersek iki switch yerine iki potansiyometre daha kullanıp kalan iki analog girişe de bağlayabiliriz. Ama PPM için 8 kanal sınırımız var.

Yazılıma gelince:
PPM çıkışına "1" yazıyoruz.
Analog girişleri sırayla okuyoruz. Bir array'e kaydediyoruz. Digital girişleri sırayla okuyoruz. O array'in devamına kaydediyoruz. Tüm bu işler PPM sinyalinin senkronizasyon süresi olan yaklaşık 4 mS içinde rahatlıkla hallediliyor. Peşinden array'deki değerleri tek tek okuyup uygun PWM sürelerini hesaplayıp PPM çıkışına 300 mikrosaniyelik "0" darbeleri yazarak PPM sinyalini tamamlıyoruz. Tüm frame'in yaklaşık 20 milisaniye olması için gerekli timer kontrollerini de ekledik mi KÜTÜPHANEYE gerek kalmıyor. :p

NOT: Böyle bir aleti Arduino ile yapmazdım ben. Arduino UNO ile yapacağım testlerden sonra bir Atmega 328 ile minicik bir plaket kullanarak işi bitirirdim.
 
Sim kumandası yapalım ...

Sümer abi, bu projenin bir amacı da HAZIR kütüphane kullanarak bu işi yapmak :lollol: :lol: ...
 
Sim kumandası yapalım ...

Zafer SAHIN' Alıntı:
Şimdi yazarken farkettim, ben bu sistemle gerçek bir multikopteride kontrol edebilirim. Neyse, amaç dağılmasın, öncelikli amaç sim kumandası yapmak ;D ...

Ben de tam bunu hayal etmiştim. Bu konuya da eğilelim abi :D Hatta bunu küçük quadlara uydurup oyuncak niyetine satsan tek derdin Ferrari'nin rengine karar vermek olur :D
 
Sim kumandası yapalım ...

Emre Kaman' Alıntı:
Ben de tam bunu hayal etmiştim. Bu konuya da eğilelim abi :D Hatta bunu küçük quadlara uydurup oyuncak niyetine satsan tek derdin Ferrari'nin rengine karar vermek olur :D
Emre sen beni güldürdün Allahta seni güldürsun çok hoş espiri oldu, Ferrari rengi.

SM-G900F cihazımdan gönderildi
 
Sim kumandası yapalım ...

Emre Kaman' Alıntı:
Ben de tam bunu hayal etmiştim. Bu konuya da eğilelim abi :D Hatta bunu küçük quadlara uydurup oyuncak niyetine satsan tek derdin Ferrari'nin rengine karar vermek olur :D
Sim kumandası projesi açık kaynak kodlu kalır. El kumandası projesini ise hemen "closed source" olarak yapmaya başlayayım, GPL Lisansını ezmemek için kütüphane kullanmadan yaparım artık :laugh: .
 
Sim kumandası yapalım ...

USB kumandadan PPM sinyalini okuma işi doğrudan yattı gibi duruyor.

Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


Okunan analog değerler doğrudan tek bir IC üzerinde işlenip USB'ye çevriliyor ... Kullanılan IC ELAN firmasına ait EM78612DAFJ serisi bir IC. Dokümanı ise aşağıda. Uğraşmak isteyen inceleyebilir :D .
 
Sim kumandası yapalım ...

Madem iş ciddiye biniyor ben bir öneri getireyim:

Bu sim kumandasının elektronik modülünü çıkarsak. O konnektörlere uygun bir plaket tasarımı ve bir Atmega328 ile yeni bir devre oluştursak. Buna bir de Arduino WiFi modülü eklesek. Bu devre potansiyometre ve switchleri okuyup tamamen sayısal olarak WiFi üzerinden karşıya aktarsa.
Karşıdaki WiFi modülü bu verileri alıp ya PPM ya da USB olarak bilgisayara kablo ile aktarsa.
Yani başlamışken telsiz bir sim kumandamız olsa...
 
Sim kumandası yapalım ...

Sümer Yamaner' Alıntı:
Madem iş ciddiye biniyor ben bir öneri getireyim:

Bu sim kumandasının elektronik modülünü çıkarsak. O konnektörlere uygun bir plaket tasarımı ve bir Atmega328 ile yeni bir devre oluştursak. Buna bir de Arduino WiFi modülü eklesek. Bu devre potansiyometre ve switchleri okuyup tamamen sayısal olarak WiFi üzerinden karşıya aktarsa.
Karşıdaki WiFi modülü bu verileri alıp ya PPM ya da USB olarak bilgisayara kablo ile aktarsa.
Yani başlamışken telsiz bir sim kumandamız olsa...
Sümer abi, doğrudan USB olarak aktarma durumunda, USB protokolü(Arduino'nun HID/Joystick cihazı olarak tanıtılması) ile ilk aşamada uğraşmak sıkıntı olacaktır. Ki zaten Arduino Uno, Nano ve türevleri USB HID cihazı olarak kullanılmaya pek elverişli değiller. Bu şekilde kullanabilmek için temel olarak USB Host özelliğine sahip Arduino Leonardo ya da USB host shield kullanmak, ya da firmware ve hardware modlaması yapmak gerekecektir ki, iş basitlikten son derece uzaklaşıyor bu durumda.

O sebeple PPM to USB işini basit bir dongle üzerine yüklemek şu aşamada daha mantıklı geliyor. Hem bu sayede, tak-çalıştır olarak RF ve Phoenix kullanmak da mümkün olacak ...

Wifi konusunda ESP8266 bu iş için mükemmel bir aday, hatta tek başına Arduino'nun yerine bile kullanılabilir ama gene kendi adıma kullanım ve geliştirme basitliği için Arduino ile beraber kullanma taraftarıyım. ESP8266'nın yetenekleri konusunda basit bir örnek için :


WiFi'li ve tak çalıştır bir sistem için aşağıdakiler gerekecektir.
Kumanda tarafında : Arduino + ESP8266
PC tarafında : Arduino + ESP8266 + USB Dongle

Tak çalıştır olmayan WiFi'li bir sistem için ise durumun aşağıdaki şekilde olacağını düşünüyorum...
Kumanda tarafında : Arduino + ESP8266
PC tarafında : WiFi'den aldığı komutları okuyabilecek ve sanal bir HID cihazına yönlendirebilecek derecede iyi bir C# bilgisi ...
 
Sim kumandası yapalım ...

ASKK (pek şık olmadı ama Arduino Simulator Kontrol Kartı'nın kısaltması bu :D ) kodunun ilk versiyonunu ekledim. Yakında devre şemasını da ekliyor olurum.
 
Sim kumandası yapalım ...

Devre şemasını da ekledim. Böylece işin teorik kısmı temelde bitmiş oluyor... Şimdi sıra, eğer bulabilirsem :) USB Dongle'ım ile kodu test etmekte ...
 
Sim kumandası yapalım ...

Bir zamanlar bir önerin vardı. AnalogRead için peş peşe üç kez falan okumayı öneriyordun. Kodu o şekilde değiştirmeyi düşünür müsün? Bir de acaba potansiyometre sliderleri ile 0V arasına 100 nF gibi birer kondansatör koymak nasıl olur?
 
Sim kumandası yapalım ...

Sümer Yamaner' Alıntı:
Bir zamanlar bir önerin vardı. AnalogRead için peş peşe üç kez falan okumayı öneriyordun. Kodu o şekilde değiştirmeyi düşünür müsün? Bir de acaba potansiyometre sliderleri ile 0V arasına 100 nF gibi birer kondansatör koymak nasıl olur?
Sümer abi, bu kodda ona gerek olmaz diye düşünüyorum. Zaten arduino boot olduktan sonra analog girişleri peşpeşe okumaya başlıyorum. Ama atıyorum dakikada bir okuyacak olsa idim, 2 - 3 defa okuyup sonuncu değeri alırdım. Bunun sebebi de şu;
Input değerlerini ölçme esnasında, voltajı örneklemek için kullanılan kapasitörlerin şarj edilmesi gerekiyor ve bu esnada giriş direnci son derece düştüğü için, ilk alınan örnekler güvenilir olmayabiliyor.


Potansiyometrelerdeki "titremeleri" minimize edecek her türlü öneriye açığım. Ama kondansatör değeri için, potlarında da değerini biliyor olmak gerekmez mi ?