もちろん、完成品を購入することは可能だったかもしれませんが、おそらくもっと低い価格で購入することもできました(小さなものは見つかりませんでした)。 しかし、それは面白くなく、私が望んでいた機能を備えていないかもしれません。 さらに、スポーツのような趣味は、物質的な形でコストを正当化することはめったにありません。
プロセスについて説明する前に、現在の様子を示します。 プログラムはまだデバッグ段階にあるため、コントローラーがキャビン内のワイヤーにぶら下がっており、ディスプレイは両面テープに貼り付けられています)将来的には、これは人間がインストールする予定です。

デバイスは、ディスプレイ上にキロメーターの燃料消費量を計算して表示します。一番下の行は瞬時で、一番上の行は最後のキロメートルの平均です。
このことを行うというアイデアはかなり前に思いつきましたが、これは私の車で何がどのように機能したかについての情報の不足によって妨げられました。 私はかなり古いです-4A-FEエンジンを搭載したカローラE11。 私はそれがインジェクターであり、インジェクターがほぼ一定の性能を持っていることをエンジンについて知っていました。これもまた自分のコントロールユニットが期待するものです。 したがって、流量を測定する主な目的は、ノズルが開いている合計時間を測定することです。
優秀な人が提案し、後で指示が確認したように、ECUは次のようにノズルを制御します。プラスは常にそれに与えられ、マイナスはECUの希望に応じて開閉します。 したがって、ノズルのマイナス線に接続する場合、電位を測定することで、その開口の瞬間を追跡できます。コンピューターがノズルを接地に閉じると、14ボルトがゼロに低下します。 電子工学に関する私の知識は、物理学コースとオームの法則に限定されているため、この単純な考えはすぐには訪れませんでした。 次に、+ 14Vを+ 5Vに変える必要があり、これをコントローラーの論理入力に供給することができます。 ここでは、すべての電子技術者に知られているバイパス回路に何とかしましたが、その前にマニュアルを調べて、ノズル抵抗が無視でき、ロジック入力抵抗がほぼ無限であることを確認する必要がありました。
キロメートル流量を計算するには、速度センサーからデータを取得する必要がありました。 彼はステップ0 ... + 5Vを与えるので、彼のほうが簡単であることが判明しました。ステップが多いほど、走行距離が長くなります。 これらの手順は、変換なしですぐに論理入力に進みました。
LCDにデータを表示したかったのです。 さまざまなオプションを検討し、Hardi HD44780マイクロコントローラーをベースにした234ルーブルのMELTテキストディスプレイを使用して解決しました。
多くの苦痛な熟考の結果、この図が作成されました。

ノズルからの電圧を下げる抵抗器に加えて、オンボードネットワークからコントローラーに電力を供給するための電圧レギュレーターがあり、コンデンサーは、可能な電圧ピークを滑らかにするために祖父と親友の助言に基づいて追加され、すべての論理入力に抵抗器があります。 そして、はい、私はノズルとセンサーからアナログ入力に信号を送ることにしましたが、デジタルモードではアナログ入力は閉じたノズルと開いたノズルの違いを理解したくなかったため、アナログでは異なる電圧レベルを非常に明確に示しました。 おそらくこれは私のスキームの欠陥かもしれませんが、すべてが初めて、盲目的に、一般的にはランダムにレイアウトをテストすることなく行われました。
スキームに従って、私はプリント基板のレイアウトを投げました(はい、私はすぐにプリントに駆けつけました。なぜなら、私は実際に回路基板上のワイヤの鉱山を混乱させたくないので):

ボードは初めて中毒になり、一部の技術に違反したため、結果はまあまあでした。 しかし、錫メッキの後、すべてが秩序になりました。 レーザーアイロンでエッチングし、easyelectronicsの有名なローラーで研究しました。 エッチング後、ボードは次のようになりました。

ボード上の要素をはんだ付けするには、きれいな穴を開ける必要がありました。 ドレメルなどの高価なドリルを購入したくはありませんでした。数千ルーブルを節約するために、近くのラジオ店で購入したモーターとコレットクランプからマイクロドリルを組み立てました。

穴を開け、錫メッキし、はんだ付けすると、ボードは次のようになり始めました。

そして正面から:

それから私は愚かにも余分な安定剤をはんだ付けし、その後抵抗器に置き換えました。
製品の準備が整った後、戦闘状態で、つまり直接マシン上でテストを開始しました。 これを行うために、私の要求で、ノズルとセンサーからのワイヤがキャビンに引き込まれました。 マイクロコントローラー用に、生データをCOMポートに書き込むテストプログラムを作成しました。これは、速度センサーからのパルス数と、ノズルが開いているミリ秒です。 ラップトップを持って車に座ってデータが正しいことを確認した後、私は信じられないほど幸せで、プログラムの実用バージョンを書くために家に帰りました。
2、3回のテストセッションの後、プログラムは良いデータを示し始めました。 最初に、時間間隔(5-10分)で平均流量を計算しましたが、これは興味深い効果をもたらしました:信号機で5分(渋滞でさえないが、わずかに似ている)の後、キロメートル流量は100 kmあたり50-100リットルの法外なレベルに跳ね上がりました。 最初は困惑しましたが、消費量はキロメートル単位であり、時間の経過とともに平均するため、これは一般的なことであることに気付きました:時計が刻々と過ぎ、ガスが注がれ、車が立っています。 その後、マイレージを平均するという私の明るいアイデアを思いつきました。現在のバージョンでは、プログラムは最後のキロメートルで消費されたガスの量を計算し、同じペースで100 km走行すると何リットルになるかを示します。 「瞬時の」消費は、最後の1秒間の平均として計算され、1秒ごとに更新されます。
PasteBinに投稿したソースコード(誰かが興味を持っている場合)。 それはまったく自然に書かれているので、少なくともプログラム自体のスタイルを変更するものがまだあります。
まだ最終結果ではありません:
