これは一般的な質問です。おそらく数学の質問だと思いますが、Arduino プラットフォームに関する質問です。
私はピンポン球をチューブ内の設定点に吊り下げたままにするボール浮上プロジェクトを行っています。ボールの位置は、ボールの位置に関連するアナログ電圧を与えるレーザー位置センサーで読み取られます。センサー出力は、チューブの長さの動作範囲に対してかなり線形です。
次に、ファンを PWM で % として制御し、これを手動でポットで調整し、チューブに 1 インチ刻みで目盛りを付けました。
基本的に、チューブ内のさまざまな位置のモーターの PWM% 値に関連するセンサー電圧出力値の表を作成しました。
2 つの変数に関するグラフを作成しましたが、驚くほど直線的です。私はExcelで傾向線を作成し、Y = 3.0265X + 15.05の直線方程式を得ました
X はセンサーの位置 (ボルト単位) で、Y は PWM 値 (%) です。
私が問題を抱えている部分は、arduinoで0から1023の値であるアナログピンからアナログ電圧を取得し、それをモーターへのアナログ書き込み(0から255の値)にPWMに関連付けることです。
analogRead() が ADC であることはわかっているので、0 ~ 1023 の値を (5.0 * analogvalue)/1023; で電圧に変換します。
それは私にボルトを与えますが、センサー電圧の変化からモーターへのPWMの変化のように、これをPWMに関連付ける方法がわかりません。私は正しい軌道に乗っていると思いますが、点と点を結び付けていません。
どんな助けでも大歓迎です!
ありがとう