30 |
Pongの開発 (8) |
設計段階でVRの操作範囲(開始点、可変範囲)をパラメータ化して回路設計しましたが、現実には実際にゲームをして値を決定します。
そこで例によってChatGPTのBSV Expert君と対話してみます。これは設計開始時点からの会話です。
You
電圧が0.2Vから0.94Vまでの信号を、入力電圧0Vから1Vまでを12bit ADCで測定します。ADCの結果はどの範囲となりますか?
Bluespec Expert
0.2V から 0.94V の電圧範囲は、12ビットのADCでは約819から3850の値に相当します。これは、0Vから1Vの範囲を12ビットで測定するとき、各ビットが約0.244mVを表すことに基づいています。したがって、測定される電圧範囲はADCの値として819から3850の範囲になるでしょう。
You
正解です。その入力電圧はVR(可変抵抗器)のツマミを回すことで発生します。VRの最大回転角度は300°です。ここで、VRのツマミをA°からA+B°まで回すときに先ほどの入力電圧が発生すると、得られるADCの値は何から何までですか?
Bluespec Expert
角度から電圧への変換:
- 可変抵抗器のツマミが最大に回されたとき、0.2Vから0.94Vの範囲をカバーします。
- したがって、可変抵抗器の最大回転角度300°に対応して、電圧範囲は0.74V(0.94V - 0.2V)になります。
角度 A と A+B に対応する電圧:
- 角度 A に対応する電圧は 0.2 + (A / 300 * 0.74) となります。
- 角度 A+B に対応する電圧は 0.2 + ((A+B) / 300 * 0.74) となります。
電圧からADC値への変換:
- 12ビットのADCでは、1Vに対して4096の値が割り当てられます。
- したがって、電圧 V に対応するADC値は V * 4096 です。
ADC値の範囲:
- 角度 A に対応するADC値は (0.2 + (A / 300 * 0.74)) * 4096 となります。
- 角度 A+B に対応するADC値は (0.2 + ((A+B) / 300 * 0.74)) * 4096 となります。
これにより、可変抵抗器のツマミを任意の角度 A から A+B まで回したときに得られるADCの値の範囲を計算できます。