Ganponブログ

趣味の模型作り、ドライブ、旅行など
since Mar.2017

RC可動戦車 【番外編】 Arduino スティックVRのカーブ

2019-06-03 14:10:31 | Arduino
PS3コントローラのスティックを操作して戦車の速度制御をしていますが、
微速走行し易くする改良を試みます。
スティックのVRはBカーブだと思われるので、Aカーブにしたいと思います。
VRを取り換える以外の方法を考えていましたが、Arduinoのスケッチで何とかしたいです。
 
PS3コントローラの左スティックの値を読み取り、モータ速度に変換しています。
 
Arduino関数:map(value, fromLow, fromHigh, toLow, toHigh) 
       value: 変換したい数値 
       fromLow: 現在の範囲の下限 
       fromHigh: 現在の範囲の上限 
       toLow: 変換後の範囲の下限 
       toHigh: 変換後の範囲の上限 

一例として、中央(127)から最上部(0)の値をモータースピード0から255に変換しています。
(但し、中央部分の±10は読み取らせていないので、127ではなく117にしています。)
 motor_speed = map(pos_y, 117, 0, 0, 255);
 
これを下記の様に変更します。
 motor_speed = map(pow(pos_y,2), 13689, 0, 0, 255);
(補足)pow(pos_y,2)はpos_yの2乗、 13689は117の2乗。
2乗して扱う事で疑似Aカーブにします。
 
この理論で実際に試してみます。
結果は。。。。
 


2 コメント

コメント日が  古い順  |   新しい順
Unknown (hajime)
2019-06-06 23:46:53
微速......サスペンションの動きと相まって本物っぽいです!!
返信する
Unknown (Ganpon)
2019-06-07 00:33:53
hajimeさん、こんばんは。
コメントありがとうございます。
以前はスロー再生で微速モードを再現していましたが、今回は通常再生です。
今回の改造でラジコン初心者の私でも簡単にスロー走行が可能になりました。

返信する

コメントを投稿