Arama butonu
Bu konudaki kullanıcılar: 1 misafir
16
Cevap
2370
Tıklama
0
Öne Çıkarma
Arduino ile retarder kolu yapmak
K
4 yıl
Yüzbaşı
Konu Sahibi

Arkadaşlar herkese merhaba. Başlıktan da anlaşılacağı üzere ETS2 oyunu için kendime netten gerçek tır retarder kolu sipariş ettim ve gelmesini bekliyorum. Daha önce h shifter, button box vb yapmıştım ve bunlar için eski bir gamepad yetiyordu. Fakat retarderin etkisi kademeli olarak arttığı için gamepad olmuyor.

Retarderi düzgün çalıştırabilmem için asgari hangi arduino karta ihtiyacım var acaba?



A
4 yıl
Teğmen

▲     





< Bu mesaj bu kişi tarafından değiştirildi Ayrıldı01 -- 23 Ocak 2022; 15:9:57 >
Bu mesaja 1 cevap geldi.
K
4 yıl
Yüzbaşı
Konu Sahibi

Cevabınız için çok teşekkür ederim. Dün gezerken youtube da bu konuyla ilgili bir videoya rastladım. Video sahibi açıklama kısmında retarder kolu analog sinyal gönderdiği için oynadığım ets2 oyununun analog sinyali desteklemediği ve kendisinde çalışmadığı idi. Biraz moralim bozuldu fakat aynı şekilde sinyal kolları sıkıntısız çalışıyor, mantık inşallah aynıdır böylece boşa umut etmem :)
Bu arada bende klon bir arduino micro var. Kodlama yaparken orjinal arduino yazılımını kullanabiliyor muyum acaba?



< Bu ileti DH mobil uygulamasından atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Hate Fate
A
4 yıl
Teğmen

▲     





< Bu mesaj bu kişi tarafından değiştirildi Ayrıldı01 -- 23 Ocak 2022; 15:10:3 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @kaiowas
K
4 yıl
Yüzbaşı
Konu Sahibi

verdiğin bilgiler için çok teşekkür ederim üstat.

retarder kolunu joystick olarak tanıtmak maalesef işe yaramayacaktır. joystick buton mantığında çalıştığı ve oyunda retarder gücünü artırmak için 1 tuş, azaltmak için başka bir tuş atandığı için ve de retarder, buton gibi basmaktan ziyade kademeli olarak artıp azaldığı için olmuyor. Bir de son olarak aldığım arduino aşağıdaki linkteki. Bakmanız mümkünse doğru olan mı anlaşılıyor mu acaba?
https://www.direnc.net/arduino-pro-micro





< Bu mesaj bu kişi tarafından değiştirildi kaiowas -- 18 Mayıs 2020; 22:57:53 >
Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @Hate Fate
A
4 yıl
Teğmen

▲     





< Bu mesaj bu kişi tarafından değiştirildi Ayrıldı01 -- 23 Ocak 2022; 15:10:44 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @kaiowas
K
4 yıl
Yüzbaşı
Konu Sahibi

Hocam youtube'da benim yaptığım proje ile ilgili videolar izlerken linkteki klon arduino micro'yu kullanmışlar. Benim arduino ile ilgili bilgim sıfır olduğu için aklıma uyumsuzluk olabileceği gelmedi. Ayrıca videoda tak çıkar özellikli olması gerektiği söyleniyordu. Umarım yanlış almamışımdır :) projeyi başlatınca göreceğiz :) tkrar teşekkürler ilginize ve yardımlarınıza.




Bu mesajda bahsedilenler: @Hate Fate
X
4 yıl
Teğmen

quote:

Orijinalden alıntı: kaiowas

verdiğin bilgiler için çok teşekkür ederim üstat.

retarder kolunu joystick olarak tanıtmak maalesef işe yaramayacaktır. joystick buton mantığında çalıştığı ve oyunda retarder gücünü artırmak için 1 tuş, azaltmak için başka bir tuş atandığı için ve de retarder, buton gibi basmaktan ziyade kademeli olarak artıp azaldığı için olmuyor. Bir de son olarak aldığım arduino aşağıdaki linkteki. Bakmanız mümkünse doğru olan mı anlaşılıyor mu acaba?
https://www.direnc.net/arduino-pro-micro
Merhaba

Aslında sizin ihtiyacınız olan da zaten buton mantığı. Çünkü etsde retarder arttırmak için bir tuşa basarsınız ve retarder o konumda kalır. Azaltmak için başka tuşa basarsınız. Youtube'da izlediğiniz videolarda kullanılan enkoderden gelen veriyi yazılım ile buton verisine çevirmeniz gerekiyor.

Bu videoda gelen değere göre sayacı arttırıp azaltıyor. Sizin tek yapmanız gereken sayaç arttırmak yerine joystickten bir butona basmasını sağlamak.
https://www.youtube.com/watch?v=coLF__0btAk

Sanırım izlediğiniz video buydu. Arduinoda joystick.h kütüphanesini kullanarak arduinoyu oyuna bağlıyorsunuz. Arduinonuzun çeşidi sanırım fark etmez bu uygulamada.https://www.youtube.com/watch?v=9FVdlEIyOsE

Kodun bu kısmında enkoder her sağa döndüğünde 0 butonuna basmasını sağlıyor. Sola döndüğünde ise 1 butonuna basıyor.

  if (millis() - oncekiZaman > 3) {
if (b != oncekiDurum) {
if (b == LOW) {
if (a == HIGH) {
Joystick.pressButton(0);

Joystick.releaseButton(0);
Serial.println(" : sag");
} else {
Joystick.pressButton(1);

Joystick.releaseButton(1);
Serial.println(" : sol");
}
}
}


Bu mesaja 2 cevap geldi.
K
4 yıl
Yüzbaşı
Konu Sahibi

Hocam çok teşekkürler zahmet etmişsiniz. şimdi tam olarak şunu anlamaya çalışıyorum;

"Kodun bu kısmında enkoder her sağa döndüğünde 0 butonuna basmasını sağlıyor. Sola döndüğünde ise 1 butonuna basıyor"

Bu cümleniz dediğiniz gibi buton mantığı için uygun. Yani butona ard arda basarak gücü artırıp diğer butona ard arda basarak gücü azaltma şeklinde. Ama elimdeki retarder 5 kademe. Yani gücü artırıp azaltmak için 5 ayrı konumu (buton olarak ta düşünebiliriz) var. Sizin verdiğiniz kod da bu mantık üzerine sanırım değil mi?

Kusura bakmayın bu konulara hiç aşina değilim o yüzden bilmeden hadsizlik falan yapmıyorumdur umarım. teşekkürler şimdiden.




Bu mesajda bahsedilenler: @xBleus
X
4 yıl
Teğmen

Özür dilerim ben videodaki gibi enkodere çubuk bağlayacaksınız sanmıştım. Tırlardaki kolun kademe sistemi nasıl çalışıyor tam bilmiyorum. Kolun varsa linkini atar mısınız? İnternette nasıl çalıştıklarını araştırdım ama detaylı bir şey bulamadım. Bir multimetreyle deneme yanılma yaparak nasıl çalıştığını anlayabilirsiniz belki.

Scania kolunu arduinoya bağlamış bu şekilde.https://hackaday.io/project/8448-real-scania-truck-home-simulator/log/29140-retarder-handle-part-5-final





< Bu mesaj bu kişi tarafından değiştirildi xBleus -- 21 Mayıs 2020; 22:32:39 >
Bu mesaja 1 cevap geldi.
K
4 yıl
Yüzbaşı
Konu Sahibi

Hocam çok teşekkürler link için. Ben bu resimdeki retarder kolundan aldım :
< Resime gitmek için tıklayın >

Şimdi bu retarder kolunda kol nötr haldeyken aşağı doğru 5 kademe iniyor. Ayrıca yine kol nötr durumdayken yukarı, ileri ve geri olarak kolu oynatabiliyorsunuz. Aynı araçlarda selektör yapmak için kolu kendimize çekeriz ya mantık aynı o şekil. Bu mantıkta dediğim gibi yukarı, ileri ve geri hareket ediyor. Birde kolun ucunda bir buton var. Bu resimde de kolun çıkış soketlerini inceleyebilirsiniz;
< Resime gitmek için tıklayın >

Elimdeki eski bir gamepad devresi ile çıkışları test ettim ve aşağıdaki sonuçlara ulaştım;
1. ve 7. soketlerden gamepad'e bağlantıyı verince, kolun ucundaki buton aktif oluyor ( bu arada toprak soketinden birisi 1. soket) bunda sıkıntı yok,
5. ve 13. soketlere bağlantı verince retarderin bütün 5 kademesi de aktif oluyor.
13. ve 4. soketlerde retarderin son 4 kademesi,
13. ve 8. soketlerde retarderin son 3 kademesi,
13. ve 12. soketlerde retarderin son 2 kademesi,
13. ve 3. soketlerde retarderin son kademesi aktif oluyor.

aslında gelen sinyalleri buldum sanırım fakat arduino'ya aktarırken kolun 5 kademesinin de aktif olduğu 5 ve 13. soketlerden çıkış almam yeterli olur mu yoksa diğer belirttiğim bütün soketlerden mi çıkış almam gerekir? Yakından görmediğiniz için soru anlaşılmaz olabilir fakat elektronik bilgim neredeyse 0 olduğu için belki genel bilinecek bir durumdur diye soruyorum :)


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @xBleus
U
4 yıl
Yüzbaşı

quote:

Orijinalden alıntı: kaiowas

Hocam çok teşekkürler link için. Ben bu resimdeki retarder kolundan aldım :
< Resime gitmek için tıklayın >

Şimdi bu retarder kolunda kol nötr haldeyken aşağı doğru 5 kademe iniyor. Ayrıca yine kol nötr durumdayken yukarı, ileri ve geri olarak kolu oynatabiliyorsunuz. Aynı araçlarda selektör yapmak için kolu kendimize çekeriz ya mantık aynı o şekil. Bu mantıkta dediğim gibi yukarı, ileri ve geri hareket ediyor. Birde kolun ucunda bir buton var. Bu resimde de kolun çıkış soketlerini inceleyebilirsiniz;
< Resime gitmek için tıklayın >

Elimdeki eski bir gamepad devresi ile çıkışları test ettim ve aşağıdaki sonuçlara ulaştım;
1. ve 7. soketlerden gamepad'e bağlantıyı verince, kolun ucundaki buton aktif oluyor ( bu arada toprak soketinden birisi 1. soket) bunda sıkıntı yok,
5. ve 13. soketlere bağlantı verince retarderin bütün 5 kademesi de aktif oluyor.
13. ve 4. soketlerde retarderin son 4 kademesi,
13. ve 8. soketlerde retarderin son 3 kademesi,
13. ve 12. soketlerde retarderin son 2 kademesi,
13. ve 3. soketlerde retarderin son kademesi aktif oluyor.

aslında gelen sinyalleri buldum sanırım fakat arduino'ya aktarırken kolun 5 kademesinin de aktif olduğu 5 ve 13. soketlerden çıkış almam yeterli olur mu yoksa diğer belirttiğim bütün soketlerden mi çıkış almam gerekir? Yakından görmediğiniz için soru anlaşılmaz olabilir fakat elektronik bilgim neredeyse 0 olduğu için belki genel bilinecek bir durumdur diye soruyorum :)
Uzun zaman olmuş projede ne durumdasınız? Mevcut soketteki pinleri kullanmak yerine kolun mafsal kısmına rotary encoder monte edip ets2'ye uygun şekilde kodlayabilirsiniz.


Bu mesaja 1 cevap geldi.
K
4 yıl
Yüzbaşı
Konu Sahibi

merhaba. dediğiniz gibi rotary encoder kullanarak halletmeye başlamıştım, encoder için kolu uygun hale getirdim fakat hayati bir yanlıştan dolayı kara kara düşünüyorum şu an. kolun mafsal kısmının bir tarafı yuvaya oturan diğer taraf üstte kalan, encoder'ı sabitleyeceğim kısımdı. bu kısmı kesmem gerekiyordu fakat ben yanlışlıkla kolun yuvaya oturduğu alt tarafını kestim. şu an üzgün bir şekilde çare arıyorum.moralim çok bozuldu açıkçası.




Bu mesajda bahsedilenler: @UgurKRN
K
4 yıl
Yüzbaşı
Konu Sahibi

Hocam tekrar merhabalar. Koldaki fiziki problemi hallettim şu an :)

Fakat kod yazmayı bilmediğim için bir kaç sorum olacak.
https://www.youtube.com/watch?v=9FVdlEIyOsE

sizin de belirttiğiniz yukarıdaki videonun açıklama kısmındaki kodu kullandım. Fakat bu kodda encoderı her 2 tık döndürmede 1 sinyal gönderdiğini fark ettim. Bunu 1 tık döndürmeye 1 sinyal verecek şekilde nasıl değiştirebilirim?
Bu konuda bana yardımcı olursanız inanın çok makbule geçer :)





< Bu mesaj bu kişi tarafından değiştirildi kaiowas -- 10 Haziran 2020; 17:51:9 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @xBleus
T
4 yıl
Er

Merhaba, aynı retarder kolunu bende aldım rotary encoderi nasıl bağladığını resimle paylaşabilir misin?



< Bu ileti mobil sürüm kullanılarak atıldı >

A
3 yıl
Yüzbaşı

quote:

Orijinalden alıntı: kaiowas

Hocam tekrar merhabalar. Koldaki fiziki problemi hallettim şu an :)

Fakat kod yazmayı bilmediğim için bir kaç sorum olacak.
https://www.youtube.com/watch?v=9FVdlEIyOsE

sizin de belirttiğiniz yukarıdaki videonun açıklama kısmındaki kodu kullandım. Fakat bu kodda encoderı her 2 tık döndürmede 1 sinyal gönderdiğini fark ettim. Bunu 1 tık döndürmeye 1 sinyal verecek şekilde nasıl değiştirebilirim?
Bu konuda bana yardımcı olursanız inanın çok makbule geçer :)
Hocam halledebildinizmi? 1 döndürmede 1 sinyali? Bir de joystick.h kütüphanesini nereden buldunuz? mPaylaşmanız mümkünmü?



R
2 yıl
Er

Hocam son durum nedir bende aynı problemleri yaşıyorum. 5 kademe bir retarder aldım ve her kademede dediğiniz gibi aktif olduğu için bir türlü kullanamıyorum. Herhangi bir program vasıtasıyla bu sorun çözülemezmi. Yada ets2 control ayarlarından bunun için herhangi bir çözüm bulunamazmı.Joytokey programını kurcaladım ama bir sonuca varamadım. programada hakim olmadığım için belkide ben doğru ayarı bulamadım. Kademe arttırdıkca tamamen aktif olan tuşu bas çek olarak atamak mümkün değilmi ? Konuya hakim kişiler yardımcı olabilirlerse çok sevinirim. Şimdiden teşekkürler.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.