Arduino Simülatör

900 Derece Direksiyon Seti Yapımı

Featured Video Play Icon

Herkese selamlar arkadaşlar, bu projede simülatörümüzün ikinci parçasını ve belki de en önemli parçasını yapacağız. Herkesin evinde kolaylıkla yapabileceği bir direksiyon setini Arduino kullanarak simülatörümüze ekleyeceğiz. Daha önce yarış oyunları için hazırladığımız göstergenin yapımına buraya tıklayarak ulaşabilirsiniz. Projenin yapımına geçelim!

Donanım

Projeyi en temel haliyle donanım ve yazılım olarak ikiye ayırabiliriz. Hazırlayacağımız direksiyon setinin konumunu tespit etmeye ve ardından bilgisayara aktarmaya ihtiyacımız var.

Proje Malzemeleri (Elektronik):

Direksiyon hareketinin tespitinde potansiyometre kullanacağız, yani tüm ekipmanı potansiyometre üzerine inşaa edeceğiz. Bilmeyenler için potansiyometre ayar koluna bağlı olarak direnci değişen bir devre elemanıdır. Direksiyonun konumunu da değişen dirence göre anlayacağız. Fakat standart potansiyometreler 270° dönüş açısına sahiptirler. Dolayısıyla 900° dönüşlü bir direksiyon için farklı bir çözüme ihtiyacımız var. İstediğim dönüş açısını sağlamak için bir dişli sisteminden faydalanacağım. İki dişliden oluşan bu sistemde dişli oranı 15:54. Dişliler de dahil olmak üzere projede kullanılan tüm parçaların tasarım dosyalarına aşağıdaki buton üzerinden ulaşabilirsiniz.

Projedeki bir diğer malzeme Arduino Leonardo kartı. Eğer Arduino ile ilk defa karşılaşıyorsanız sizi şu videoya alalım. Arduino sayesinde potansiyometreden aldığımız veriyi USB üzerinden bilgisayara aktaracağız. Ayrıca kart üzerindeki girişlere farklı modüller bağlayarak sisteminizi geliştirmeniz de mümkün. Ancak bu video için yalnızca potansiyometre kullanacağız. Potansiyometre ve Arduino Leonardo arasındaki bağlantıyı aşağıdaki şemada görebilirsiniz.

Neden Arduino Leonardo?

Arduino ile uğraşan arkadaşlar bu projede neden “Leonardo” modelini kullandığımızı veya projenin UNO modeli ile yapılıp yapılamayacağını merak etmiş olabilir. Arduino Leonardo kartının üzerindeki mikrodenetleyici yani Atmega32u4, Arduino Uno üzerindeki Atmega328 mikrodenetleyicisinin aksine USB-seri çeviri görevini yerine getirecek bir entegreye ihtiyaç duymaz. Dolayısıyla mikrodenetleyici ve USB doğrudan haberleşir. Bu özelliği sayesinde Atmega32u4 tabanlı kartları bilgisayara doğrudan bir cihaz(klavye, mouse) olarak tanıtabiliyoruz. Bu projede Atmega32u4 tabanlı bir kart olan Arduino Leonardo’yu kullanacağız, ancak aynı mikrodenetleyiciyle çalışan Arduino Micro’yu da bu projenin yapımında kullanabilirsiniz.

Yazılım – MMJoy

Projenin yazılım kısmı en az elektronik kısmı kadar basit. Hazırladığımız donanımı oyun koluna dönüştürmek için MMJoy isminde yine bu hobi ile uğraşanların yazmış olduğu bir programı kullanacağız. Yani bu projeyi yapmak için bir kodlama bilgisine veya teknik bilgiye ihtiyacınız yok.

İşe MMJoy’u indirerek başlayalım. Aşağıdaki link üzerinden projeyi indirelim ve dosyaları sıkıştırılmış formattan çıkaralım.

https://github.com/MMjoy/mmjoy_en

Kullanacağımız program yüklediğimiz dosyanın içerisindeki “firmware and software release” klasöründeki .zip dosyasında yer alıyor.

“MMJoy2” klasörü projemizle alakalı tüm işi yürüteceğimiz ortam olacak. Bu klasörün içerisinde donanıma yükleyeceğimiz firmware dosyasından projeyi yaparken işimize yarayacak görsellere kadar çok sayıda içerik bulunuyor. Tüm ayarları ve kod yükleme işini ise yine bu klasörün içindeki “MMJoySetup” arayüzü üzerinden yapacağız.

Firmware Yüklemesi

Bu arayüz üzerinde yapacağımız ilk iş Arduino Leonardo kartını oyun koluna dönüştürecek olan yazılımı karta yüklemek olacak. Açılan arayüzdeki “Firmware” sekmesine geliyoruz. Burada çok sayıda buton ve textbox bulunuyor. Aşağıdaki görselde kırmızı ile işaretlenmiş alanda yükleme öncesi ayarları yapacağız.

“Firmware file” kısmında karta yükleyeceğimiz yazılımı seçeceğiz. Bu yazılım “MMJoy2” klasörü içindeki “Firmware” klasöründe yer alıyor. Klasöre giriş yaptığınızda .hex uzantılı 3 farklı dosya ile karşılacaksınız. Buradaki dosya seçimini kullandığımız donanıma göre yapmamız gerekiyor. Arduino Leonardo kartının üzerindeki mikrodenetleyici Atmega32u4 olduğundan önceki başlıkta bahsetmiştim. Bu yüzden “ATMEGA32U4” için hazırlanmış firmware dosyasını seçiyoruz.

Firmware dosyasını ekledikten sonra “Chip” kısmında “atmega32u4”; “Bootloader type” kısmında ise “Arduino”yu seçiyorum. “Port” seçiminde ise yanındaki “COM ports list” butonuna tıkladığınızda farklı portlar görebilirsiniz. Ancak port seçimini hemen yapmıyoruz.

Firmware yüklemesi yapmak için Arduino Leonardo’yu “bootloader” modunda yani “önyükleyici” modunda çalıştıracağız. Kart yaklaşık 8 saniye boyunca bootloader modundayken yüklemeyi tamamlamamız gerekiyor. Arduino normal konumunda ve bootloader konumunda farklı portlara bağlı olarak çalışır. Dolayısıyla yükleme işleminden önce kartın bootloader modundayken hangi porta bağlı olduğunu tespit etmemiz gerekiyor. “Port(arduino)” kısmını da buna göre dolduracağız.

Yine arayüz üzerindeki “Device management” butonuna tıklayarak “Aygıt Yönetici”sini açıyoruz. Açılan pencerede “Bağlantı Noktaları”na tıklayarak Arduino’nun bağlı olduğu portu görebilirsiniz.

Aygıt yöneticisini açtıktan sonra Arduino Leonardo üzerindeki butona ard arda iki kere basarak kartı bootloader moduna alıyoruz. Bu işlemden sonra aygıt yöneticisi de kendini güncelleyecektir. Tekrardan “Bağlantı noktaları”na tıklayarak Arduino Leonardo’nun bootloader modundayken bağlı olduğu portu görebilirsiniz.

Bootloader durumundaki portu bildiğimize göre tekrar arayüze gelerek “Port” kutusuna port ismini girebiliriz. Benim bilgisayarımda “COM6” olduğu için bu şekilde devam ediyorum. Port kısmını da doldurduktan sonra kartı tekrar bootloader moduna alarak firmware yüklemesini yapmamız gerekiyor. Kart üzerindeki butona tekrar çift tıklıyoruz ve “Upload firmware” butonuna tıklıyoruz. Kartın bootloader modunda kalma süresinin yaklaşık 8 saniye olduğunu hatırlatmak isterim.

Aşağıdaki gibi bir yükleme ekranı ile karşılaşıyorsanız firmware yükleme işlemi başarıyla tamamlanmış demektir.

Şimdi karta bağlı olan potansiyometrenin ayarlarını yapalım.

Diğer Ayarlar

MMJoy çok sayıda donanımla çalışmanıza ve ayar yapmanıza olanak sağlayan bir program. Ancak bu projede tek bir potansiyometre bulunduğu için yalnızca bu potansiyometrenin ayarını yapacağız.

Firmware güncellemesinden sonra arayüzün sol üst kısmındaki cihaz listesinde bir farklılık göreceksiniz. Bilgisayarınız bundan sonra Arduino Leonardo’yu joystick olarak algılayacaktır. “Device list” kısmından kendi donanımımızı seçiyoruz. Sağ taraftaki bölümden donanımınızın ismini değiştirebilirsiniz.

Listede kendi donanımızı seçtikten sonra arayüzdeki “Joysticks axes” sekmesine geliyoruz. Aşağıdaki görselde işaretlenmiş alanlarda bazı ayarlar girmemiz gerekiyor.

Potansiyometreyi A0 pinine bağlamıştık. Kart üzerindeki A0 pini mikrodenetleyici üzerindeki “PF7” pinine bağlı olduğundan “MCU Port” kısmında “F7″yi seçiyorum. Karttaki pin numaralarının mikrodenetleyici üzerindeki karşılığını aşağıdaki görselde görebilirsiniz. Farklı donanımları karta bağlarken aşağıdaki görselden faydalanabilirsiniz.

“Source” kısmını “IntSensor” ve ekseni “X” olarak seçiyorum. “Precision” ayarında “10” sayısını seçmemizin sebebi Arduino Leonardo’nun 10bitlik bir analog-dijital çeviriciye sahip olması. Burası biraz daha teknik bir detay gibi gelebilir, ancak ayar yaparken burayı “10” yapmanız yeterli. Tğm ayarları yukarıdaki görselde paylaştığım gibi tamamlıyorum ve “Save sets to device” diyerek ayarları karta yüklüyorum.

Yükleme işleminden sonra donanımımız direksiyon olarak kullanılmaya hazır. Tüm parçaları montajlayalım ve test edelim!

Montaj

Montaj aşamasında kullandığım parçaların listesini aşağıda bulabilirsiniz. Bu parçalardan bağımsız olarak farklı bir çözüm de tercih edebilirsiniz.

3D Parçalar Ön Sipariş: https://bit.ly/35GPtBA

Montaj aşamasından sonra direksiyon kullanıma hazır! Artık oyunlardan aldığımız keyfi katlayabiliriz.

Bu çalışmada kendi direksiyonunuzu nasıl yapabileceğinizi gösterdim. Oldukça ekonomik bir çözüm oldu. İleriki zamanlarda direksiyonu geliştirerek geri beslemeli bir versiyona çevirmeyi planlıyorum. Önümüzdeki haftalarda simülatör serisinden videolar görmeye devam edeceksiniz. Projenin yapımıyla alakalı aklınıza takılan soruları yorumlar kısmında belirtebilirsiniz. Bir sonraki projede görüşünceye dek, hoşça kalın! 🙂

Similar Posts

36 thoughts on “900 Derece Direksiyon Seti Yapımı
    1. Merhaba, yüklemeyi bootloader modde yapmadığınız için bu hatayı alıyor olabilirsiniz. Bootloader modda olduğunuzdan ve bootloader portunu girdiğinizden emin olun.

        1. Yazıdaki adımları takip ederek yapabilirsiniz. Ard arda iki kere basarak bootloader moduna aldığınızdan ve portun bootloader portu olduğundan emin olun.

  1. hocam ön ve arka levhanın sizde solid cizimi yada tam ölçüleri olan pdf’si varmıdır?
    CNC den çıkartacağım için ölçüleri olursa daha kolay olurda.

    1. Merhaba, projedeki tüm parçalar proje dosyaları içerisinde yer alıyor. Pleksi levhaların ölçülerinin yer aldığı pdfleri de orada bulabilirsiniz.

    1. Dişlilerden biri 15 diğeri 54 dişli. Dişlilerin tasarım dosyalarında daha detaylı bilgiye ulaşabilirsiniz.

      1. fakat 3d yazıcıya sahip değilim dolayısı ile tahtadan yapacağım dişlileri. bunun için dişli çaplarını bilmem gerekiyor lütfen dişlilerin çaplarınıda yazarmısınız

    1. Merhaba, o konuda denemeden net bir şey diyemiyorum. Fakat fikrimi soracak olursan çalışacağını düşünüyorum.

  2. Merhaba direksiyon simidini videonun altındaki linkten satın alıp seti kuracağım ama minik garage’a güvenebilir miyim ?

  3. ben farmvire kısmına yapılacakları yaptıktan sonra yükle tuşuna bastıktan sonra kodun yazacağı ekran çıkıyor lakin kod yazmıyor . Neden kaynaklanıyor bu?Ne yap malıyım?

    1. Eğer bilgisayarın isminin içinde türkçe karakterler var ise kod ekranında hata veriyor o yüzden program files klasörünün içine atıp yapmayı deneyin.

  4. Potansiyometreden kaynaklı sanırım bazen direksiyonu tam tersi yönde algılıyor. Kalibrasyonunu nasıl yapabiliriz? Ya da ne yapmalıyım?

    1. Potansiyometreden olmayada bilir. Emin değilim ama MMjoy programından test ettiğimde direksiyonun sınırlarının en üst ve en alt çeyreklerinde oluyor.

  5. Arkadaşlar Bu Kadar Uğraşmak İstemeyenler İçin Şöyle Kısa Bir Çözüm Verebilirim.

    “Arduino Pro Micro” Ve “Çok Turlu 10K Potansiyometre” Aldım, Sola Ve Sağa Merkezden 300 Derece Dönebiliyor.
    Tüm Bağlantıları Ve Mmjoy2 Programındaki Ayarları İlge Abinin Yaptığı Gibi Yaptım,

    Potansiyometre’nin Ucuna Saplama Takabilmek İçin “6.35x8mm Kaplin Coupler” Aldım Ve 8mm Saplama Taktım.

    Şuan Her Şey Çok Güzel Ancak Direksiyon Takmaya Geçemedim Çünkü Kokpitini Vs, Ayarlayamadım Daha…

    Belki İlge Abi Bize 3d Yazıcı İçin Kolayca Parça Tasarımı Nasıl Yapılır Gibi Bir Video Hazırlar Ve Kendi Projelerimizi Geliştirebiliriz ^-^

    1. Dediğini biraz araştırdım ve seninki gibi yapmaya karar verdim teşekkür ederim kardeşim.

      ek olarak da bir problemim var masanın üstüne ilge abinin gibi bir parçalar hazırladığımda çok yer kaplıyor uğraştırıcı oluyor. masanın alt tahtanının oraya bir haraket edebilen aparat sıkıştırıp hazırlayabilsek sistemi cok iyi olurdu gerçekten.

      umarım dediğin gibi bir ilge kanalına parça tasarımı videosu hazırlar,

  6. 3d dosyalardaki dişlileri ve holder’ı direk olduğu gibi yazdırıyor muyuz? Yoksa ölçüsünü falan düzenlemek gerekiyor mu?
    dişlilerin ölçüleri nedir

  7. hocam firmware kısmını yükledikten sonra mmjoy programında gözükmemeye başladı. Pc de ne ardunio ne başka bir şey olarak gözüküyor. lütfen yardımcı olur musunuz?

  8. merhaba bir adet arduino pro micro ya da leonardo ile hem direksiyon hem de pedal sistemini yapabilir miyim acaba yeterli port var üzerinde yazılım kısmı nasıl olmalı bu konuda yardımcı olabilir misiniz

  9. Hocam dişli çapına ihtiyacım var çap bilmeden yapamam birde 3 D paint in yanında solid auto cad gibi programlarla bize verimisiniz

Leave a Reply

Your email address will not be published. Required fields are marked *