Arduino Simülatör

Yarış Simülatörü Yapımı – SimHub

Featured Video Play Icon

Arkadaşlar selamlar, bu çalışmada Buğra Akpınar için yapmış olduğum yarış simülatörü panelinde kullandığım donanımlardan ve yazılımlardan bahsedeceğim.

Projede toplam iki Arduino kartı ve iki ana yazılımdan faydalandım. Bu kartlardan birini SimHub üzerinden hazırladığım dashboard; diğerini ise TFT ekranın konrolü için kullanacağım.

SimHub Nedir? Nasıl Kullanılır?

SimHub, araba tutkunlarının kendi yarış simülatörlerini oluşturabilmesi için hazırlanmış birçok oyunla entegre bir şekilde çalışabilen yardımcı bir uygulamadır. Bu projede hazırladığım gösterge için de SimHub kullandım. SimHub sayfasına gitmek için buraya tıklayın. Bu site üzerinden uygulamayı kurarak onlarca yarış oyunu için kendi göstergelerinizi oluşturabilirsiniz.

SimHub ile bilgisayar ekranı üzerinde çalışacak sanal dashboardlar oluşturabileceğiniz gibi bu projede yaptığımız gibi Arduino tabanlı bir panel de hazırlayabilirsiniz. Benim hazırladığım panel üzerinde 4×20 LCD ekran, 8×8 Dot Matrix, 11 Neopixel LED ve TFT ekran bulunuyor. Panelin yan kısmına da bir adet encoder konumlandırdım. TFT ekran dışındaki tüm kontrolleri SimHub ile gerçekleştirdim. TFT kontrolüne yazının devamında değineceğim.

SimHub Donanım Ayarları

SimHub’ı kurduktan ve uygulamayı çalıştırdıktan sonra birçok oyunun bir arada olduğu bir bölüm bizi karşılıyor. SimHub çoğu popüler oyunla entegre şekilde çalışabiliyor. Buradan oynayacağınız oyunu seçebilirsiniz.

Sol kısımdaki “Arduino” sekmesine tıkladığımızda ve “My Hardware” bölümüne geldiğimizde iki seçenek ile karşılaşıyoruz. Buradan kullandığınız Arduino sayısına göre bir seçim yapmanız gerekiyor. Bu projenin SimHub tarafında tek Arduino kullandığımdan “Single arduino”ya tıklayarak devam ediyorum.

Ardından “Open arduino setup tool” butonuna tıklayarak kullanacağım donanımları belirleyeceğim bölüme geliyorum.

“SKETCH SETUP” kısmının sol tarafında dashboardlarda kullanılan modüller, sağ tarafında ise kullandığımız geliştirme kartının detayları bulunuyor.

Modül seçimi yapmadan önce kart olarak “Arduino UNO”yu seçiyorum.

Eğer Arduino bilgisayarınıza bağlıysa port seçimini de bu aşamada yapabilirsiniz.

Modüllerin bulunduğu kısımda çok sayıda display ve birçok popüler modül bulunuyor. Bu kısımda kullanacağınız donanımları aktif hale getirmeniz gerekiyor.

Kullanacağım modüllerden ilki Neopixel LED olarak da bilinen WS2812B adreslenebilir LED. Bu LEDlerden 11 adet kullandım. Bu kısımdaki ayarları kendinize göre değiştirerek kullanabilirsiniz.

Ardından LCD display, dot matrix ve rotary enkoderi aktif hale getirerek pinleri kendime göre ayarlıyorum.

Kullanılan donanımları seçtikten sonra Arduino pin diyagramını sağ tarafta takip edebilirsiniz.

Donanım ayarlarından sonra diyagramın üstündeki “UPLOAD TO ARDUINO” butonuna tıklayarak SimHub’ın otomatik olarak hazırladığı kodu Arduino’ya yükleyebilirsiniz. SimHub’ın en keyifli tarafının bu olduğunu söyleyebilirim. Yazılım bilgisi olmayanların bile rahatlıkla kullanabileceği bir program.

Tüm modülleri pin diyagramına göre Arduino ile bağladıktan sonra donanımımız hazır! Donanımı kurduktan sonra SimHub üzerinden donanımın nasıl çalışacağını ayarlamamız gerekiyor. Örneğin; LED dizisi neyi temsil etmeli, hangi durumlarda nasıl yanmalı gibi.

Dot Matrix Ayarı

Panel üzerindeki dot matrix aracın vites durumunu gösterecek. Matrixi vites gösterecek şekilde ayarlamamız gerekmiyor, bu işlem otomatik olarak SimHub tarafından yapılıyor. Dot Matrixler SimHub tarafından yalnızca “vites göstergesi” olarak tanımlanıyor. Ancak matrixin görünümü ve işleyişiyle ilgili bazı değişiklikler yapmak mümkün. “My Hardware” sekmesindeki “GENERAL ARDUINO SETTINGS” bölümünde dot matrix fontu, vites değişiminde “blink” olup olmaması gibi ayarlar ile oynayabilirsiniz.

RGB LED Ayarı

RGB LEDlerin çalışma şeklini ayarlamak için “RGB Leds” sekmesine geliyoruz.

LEDleri oyundaki hangi değişkene göre ayarlayabileceğimizi görmek için sağ üst taraftaki “Add effect” butonuna tıklıyoruz. Tıkladıktan sonra karşımıza çok sayıda değişken çıkıyor. LEDleri aracın RPM, hız veya benzin değerine göre ayarlayabiliriz. Örneğin; bu kısımdaki ayarlar ile bir benzin göstergesi yapabilirsiniz.

Seçtiğimiz değişkenle ilgili detaylara erişmek de mümkün. Örneğin: RPM için yanacak LED sayısı, RPM arttıkça renk değişimi, min.-maks. RPM değeri gibi pek çok ayarı kendi zevkinize göre düzenleyebilirsiniz.

Ayarları yaparken LEDlerin nasıl gözüktüğünü de üst taraftaki “Open test data editor”e tıklayarak test edebilirsiniz. Bu sayede dashboardunuz için en ideal ayarı yapabilirsiniz.

LCD Ekran Ayarı

LCD ekran ayarını yapmak için “Screens” sekmesine geliyoruz. Bu kısımda varsayılan olarak gelen ekranlarla karşılaşacaksınız. Dilerseniz tüm ekranları silerek kendi ekranlarınızı ve sıralarını ayarlayabilirsiniz. Yeni ekran oluşturmak için sağ üst taraftaki “New screen” butonuna tıklıyoruz.

Butona tıkladıktan sonra açılan bölümden “Preview” ayarını “LCD” olarak seçiyoruz. Eğer 7-seg display kullanıyorsanız varsayılan şekilde de bırakabilirsiniz.

Ardından “Add” butonuna tıklayarak LCD’ye yeni bir element ekliyoruz. Eklediğimiz element bir text, formül veya SimHub parametresi olarak ayarlanabiliyor. LCD üzerinde alt satıra geçmek için de eklenen elementi “Line Return” olarak seçiyoruz.

“SimHub Propert” seçtiğimizde karşımıza birçok seçenek çıkıyor. Bunların çoğu oyun içerisinden gelen veriler olsa da RAM, CPU vb. bilgisayardan gelen verileri görmek de mümkün. Ekranda görmek istediğimiz veriyi seçiyoruz.

Ekran oyun sırasında aktif hale gelecekse “Ingame screen” kutucuğunu seçmemiz gerekiyor. Ardından“SAVE” butonuna tıklayarak ekranı kaydediyoruz.

Bu şekilde dilediğiniz ekranı hazırlayabilirsiniz. Ekranlar arası geçişi buton ile yapmak mümkün ancak projede enkoder olduğu için geçiş için enkoder kullandım. Ekran kontrolünü bir sonraki aşamada göreceğiz.

Enkoder Ayarı

Hazırladığımız ekranlar arasında geçiş yaparken enkoder veya buton kullanabiliriz. Kontrol ayarları yine “Arduino” içerisindeki “Controls” kısmından yapılabiliyor.

Bu kısımda “Sonraki ekranı göster”, “Önceki ekranı göster” gibi birçok komut yer alıyor ve her komut bir butona bağlı olarak çalışıyor. Ayar değişikliği yapmak için istediğimiz komutun üzerine gelerek “Change” seçeneğine tıklıyoruz. Komut silme veya ekleme işlemlerini de buradan yapabilirsiniz.

“Change” seçeneğine tıkladıktan sonra görseldeki gibi bir pencere açılacak. Bu kısımda yapmanız gereken şey projenizde varsa butona tıklamak. Bizim projemizde kontrol aracı enkoder olduğundan enkoderi çeviriyoruz. Projenizdeki kontrol elemanını kullandığınızda SimHub bunu otomatik olarak algılayacaktır.

“SAVE” butonuna tıklayarak kontrolü kaydediyoruz. Artık seçtiğimiz komut gerçekleştiğinde bir sonraki ekrana geçilecek.

Daha detaylı ayarlar için “Controls and events” sekmesine gitmemiz gerekiyor.

Bu kısımda ayarlarla ilgili çok daha fazla işlem yapabiliyoruz. Komutlardan birine çift tıklayalım.

Açılan pencereden kontrol edilecek parametreyi değiştirebiliyoruz. Ayrıca önceki kısımda olduğu gibi bunda da projemizdeki kontrol elemanını harekete geçirerek butonu/enkoderi SimHub’a otomatik olarak tanıtabiliyoruz.

Siz de farklı modüller ile kendi dashboardunuzu hazırlayabilir, oyun deneyiminizi çok daha keyifli hale getirebilirsiniz. 🙂

Similar Posts

Leave a Reply

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