ウィンカーワイパー装置

ページ名:ウィンカーワイパー装置

【ウィンカーワイパー装置】

ウィンカーやワイパーレバーの付いた画期的アイテムを手に入れました。
今までは外付けでレバースイッチを付けてウィンカーを作っていたのですが、やっぱり「ハンドルを戻すとウィンカーレバーが物理的にもとに戻る」のが欲しかったんです。
この装置はそれができるようになっていたので購入してみました。
物理的な装置としては申し分ない精度で大満足なのですが、そこから出てくる信号を調べた所これがだめだめ。
自社開発したと思われるUSB出力するボードからノイズのように信号が出まくったりして使えません。

そこで今回Arduinoを使ってプログラムでこの装置を完璧に使えるものにしていきます。


そのまま繋いで出力テストするとビビりまくって信号がでてます




導通チェック
●●● ワイパー ●●●

PIN番号 用途 信号
00 ーーー GND
01 ワイパーINT レバー倒し INT(オルタネート):ON(INT位置を離れるとOFF)
02 ワイパーLOW レバー倒し LOW(オルタネート):ON(LOW位置を離れるとOFF)
03 ワイパーHI レバー倒し HI(オルタネート):ON(HI位置を離れるとOFF)
04 ライト 先端ひねり(モーメンタリ):ON(手を離すと戻りOFF)
05 緊急ブレーキ 手前引き(モーメンタリ):ON(手を離すと戻りOFF)
06 使用しない 間欠速度切替ひねり:7段階のアナログ出力

 

●●● ウィンカー ●●●

PIN番号 用途 信号
00 --- GND
01 ハザード 中間ひねり(オルタネート):前にひねるとON(戻らない)、元に戻すとOFF
02 ライトヘッド 先端ひねり2段目のみON:2段めを離れると(1段目にすると)OFF
03 ライトスモール 先端ひねり1段目&2段目ON:1段目からもとに戻すとOFF
04 ウィンカー右 ウィンカー右(オルタネート):上に倒すとON、戻すとOFF
(ハンドル操作で機械的に戻る)
ちょこっと倒しただけでもONして、手を離すとモーメンタリで戻るOFF
車線変更時に便利
05 ウィンカー左 ウィンカー左(オルタネート):下に倒すとON、戻すとOFF
(ハンドル操作で機械的に戻る)
ちょこっと倒しただけでもONして、手を離すとモーメンタリで戻るOFF
車線変更時に便利
06 ライト遠目
パッシング
レバーを押し込み(オルタネート):押し込むとON、手で元に戻すとOFF
レバーを手前に引く(モーメンタリ):引くとON、手を離すと自動で戻りOFF

 

●●● リターダー ●●●

PIN番号 用途 信号
00 --- GND
01 使用しない 全OFF
02 思案中 左右回転のみワンショットON(2と3の違いをどうやって判断?)
03 思案中 左右回転のみワンショットON(2と3の違いをどうやって判断?)
04 思案中 押しボタンのみON(モーメンタリで手を離せば戻るOFF)
05 思案中 レバー下に倒すとOFF、それ以外全部ON 信号が他のものと反対なの注意
モーメンタリで手を離せば戻るON
06 思案中 レバー上に倒すとOFF、それ以外全部ON 信号が他のものと反対なの注意
モーメンタリで手を離せば戻るON

 

●●● スターターボタン ●●●

PIN番号 用途 信号
00 --- GND
01 トレーラー付け外し 押し込み(モーメンタリ):ON 手を離すと戻るOFF
02 使用しない 青色LED電源 +3.3v を入れると光る

 

配線
Arduino Leonardo への配線を考える

Arduino 信号PIN 装置PIN 装置機能 出力機能
00(RX)     使用しない
01(TX)     使用しない
02 ワイパー 06 間欠速度ひねり(アナログ7段) 配線しない
03 ワイパー 05 レバー手前に引く 緊急ブレーキ
04 ワイパー 04 先端ひねり ライト
05 ワイパー 03 レバー倒し HI ワイパー HI
06 ワイパー 02 レバー倒し LOW ワイパー LOW
07 ワイパー 01 レバー倒し INT ワイパー INT
08 ウィンカー 06 レバー向こうに倒す
レバー手前に倒す
ライト遠目
パッシング
09 ウィンカー 05 ウィンカー左 ウィンカー左
10 ウィンカー 04 ウィンカー右 ウィンカー右
11 ウィンカー 03 先端ひねり1段目 スモールライト
12 ウィンカー 02 先端ひねり2段目 ヘッドライト
13 ウィンカー 01 中間ひねり ハザード
       
18(アナログ入力 0) スターター 01 押し込み トレーラー付け外し
19(アナログ入力 1)      
??(アナログ入力 2)      
??(アナログ入力 3)      
??(アナログ入力 4)      
??(アナログ入力 5)      


ライトスイッチについて
ウィンカーレバーの先端ひねりスイッチで実現する方法
OFF → 1段スモール:Lキー1回 → 2段ヘッド:Lキー1回 → 1段スモール:Lキー2回 → 戻すOFF:Lキー2回
OFF → 1段スモール:Lキー1回 → 2段ヘッド:Lキー1回 → 1段スモール:Lキー2回 → 2段ヘッド:Lキー1回
OFF → 1段スモール:Lキー1回 → 戻すOFF:Lキー2回

1段目、2段目にて OFF → ON:Lキー1回、ON → OFF:Lキー2回出せば実現できる


ウィンカーレバーについて
機械的に戻るときに勢いがあると反対側のスイッチが瞬間ON/OFFしてしまう
ウィンカーレバーの挙動を信号の立ち上がり(OFF → ON)、立ち下がり(ON → OFF)を捉えてコントロール、しかも取りこぼしなしのプログラムのため、この瞬間的な動作も反映してしまうことがわかったため考えを変更
各信号の状態が0.3秒間変化がないことを確認(チャタリング解消)し、ウィンカーを出してからOFFしたあとは
0.5秒間の空白時間を設けることでこの問題を解消


ワイパーレバーについて
ワイパーの信号 INT・LOW・HI を信号の立ち上がり(OFF → ON)、立ち下がり(ON → OFF)を捉えてコントロールしようとしたが、それぞれの信号のタイミングがずれた場合に対応できないことがわかったため考えを変更
各信号の状態が0.3秒間変化が無いことを確認(チャタリング&信号ズレ解消)した後、各フェーズの出力をする
 

//    OFF → INT      000 → 001    pint_WP_Control = 1;    増1回
//    OFF → LOW    000 → 010    pint_WP_Control = 2;    増2回
//    OFF → HI        000 → 100    pint_WP_Control = 3;    増3回

//    INT → OFF      001 → 000    pint_WP_Control = 4;    減1回
//    INT → LOW     001 → 010    pint_WP_Control = 5;    増1回
//    INT → HI          001 → 100    pint_WP_Control = 6;    増2回

//    LOW → OFF    010 → 000    pint_WP_Control = 7;    減2回
//    LOW → INT     010 → 001    pint_WP_Control = 8;    減1回
//    LOW → HI       010 → 100    pint_WP_Control = 9;    増1回

//    HI  → OFF       100 → 000    pint_WP_Control = 10;   減3回
//    HI  → INT        100 → 001    pint_WP_Control = 11;   減2回
//    HI  → LOW      100 → 010    pint_WP_Control = 12;   減1回


ーーーーー 以前の考え方(うまく行きませんでした) ーーーーー
ワイパー増、ワイパー減 2種類のキー入力を使って、OFF・INT・LOW・HI 位置を実現する方法
OFF → INT:増1回 → LOW:増1回 → HI:増1回 → LOW:減1回 → INT:減1回 → OFF:減1回
INT、LOW、HI はそれぞれ自分のポジションでON、自分のポジション以外ではOFFになるのがやっかい
INT → LOW の時、タイミング的に INT:OFF → LOW:ON となるのか LOW:ON → INT:OFF になるのか。。。
INT:OFF になった場合、これは LOW に切り替えのときの OFF なのか、INT → OFF位置 での OFF なのか?

状態フラグを設けて制御する
OFFのとき状態フラグOFF
INT:OFF → ON
   状態フラグOFF :増1回して状態フラグINT
   状態フラグINT   :なにもしない
   状態フラグLOW:減1回して状態フラグINT
   状態フラグHI  :減2回して状態フラグINT
INT:ON → OFF
   状態フラグOFF :なにもしない
   状態フラグINT   :減1回して状態フラグOFF
   状態フラグLOW:なにもしない
   状態フラグHI     :なにもしない
LOW:OFF → ON
   状態フラグOFF :増2回して状態フラグLOW
   状態フラグINT   :増1回して状態フラグLOW
   状態フラグLOW:なにもしない
   状態フラグHI     :減1回して状態フラグLOW
LOW:ON → OFF
   状態フラグOFF :なにもしない
   状態フラグINT   :なにもしない
   状態フラグLOW:なにもしない
   状態フラグHI     :なにもしない
HI:OFF→ON
   状態フラグOFF :増3回して状態フラグHI
   状態フラグINT   :増2回して状態フラグHI
   状態フラグLOW:増1回して状態フラグHI
   状態フラグHI     :なにもしない
HI:ON → OFF
   状態フラグOFF :なにもしない
   状態フラグINT   :なにもしない
   状態フラグLOW:なにもしない
   状態フラグHI     :なにもしない











































































































 

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

左メニュー

MSFS2020 日本語解説Automobilista2解説モンハンVR化解説hideGのVR情報Carrier Command 2Project CARS 2 VRETS2、ATS公式マルチVTOL...

VR 解説

ATS、ETS2をVRで遊ぶための設定VR機器について現在私は11種類12台のVR機器を所有しています以前は「Varjo Aero」が最適のVRゴーグルとして解説していましたが、現在の最適VRは「Me...

ウィンカーワイパー装置

【ウィンカーワイパー装置】ウィンカーやワイパーレバーの付いた画期的アイテムを手に入れました。今までは外付けでレバースイッチを付けてウィンカーを作っていたのですが、やっぱり「ハンドルを戻すとウィンカーレ...

VR関連の設定

ATS、ETS2 のVR関連の設定VR関連の設定を備忘録的に書いておきます g_hmd_no_artifical_movement VRで後ろを振り返るときに窓からそとに飛び出さないようにす...

トップページ

ETS2、ATS:公式マルチとVR【VR解説】ETS2、ATS はVRで運転することができます。VRでトラックの運転席に座ると、その広さ高さに驚くことでしょう特に「高さ」はVRじゃないと感じられないの...

Arduino プログラム

Arduino のプログラムを作る外部スイッチなどを付けて、この入力をUSBを通じてPC(ATSやETS2)に信号を送る方法Arduino Leonardo を使うことでジョイスティック出力またはキー...

VR - 過去記事

●●● ここの記事は過去のものです 新しいページを御覧ください ●●●>VR解説--------- 過去記事 ------------------------------------------...

雑談質問相談掲示板

はじめにここは、雑談・質問・相談など何でも話題にする掲示板です。掲示板についてお知らせコメント・質問等投稿の際はかならず「ハンドルネーム」を入力してください。禁止事項 掲示板の趣旨と関係ない書き込み ...

ベータ1.41 の導入方法

ベータ1.41 の導入方法【ETS2】ATSに続きETS2でも公式マルチのテストが開始されました。ETS2もATSに続きアクセスコードの必要ない「Public beta」に引き上げられました。STEA...

クイックリプライ

【クイックリプライ】クイックリプライは運転中も返信ができる文字チャットです。あらかじめ設定しておいた文を選んで返信することができます。日本語も使えますので色々な言葉を登録しておいて活用しましょう。運転...

マルチのやりかた

【マルチのやりかた】コンボイを押すとマルチの一覧が表示されます「コンボイを主催する」をクリックして自分の部屋の作り方はこんな感じセッションを選ぶと右に内容が表示されます部屋ができるとマルチの情報表示が...

右メニュー

右メニューサンプル右メニューはヘッダーメニューの【編集】>【右メニューを編集する】をクリックすると編集できます。 ご自由に編集してください。 ここを編集する...

ページの編集の仕方はこちら

まずは最初に発信したい文章を自由に入力して保存ボタンを押してみましょう。これで即ページ上に情報発信が可能です。簡単ですね。ちなみに改行したい時は「Shift+Enter(return)」、段落を変える...