4. ドリフト¶
このプロジェクトでは、Zeus Carをドリフトさせる方法を学びます。
どのように実行するか?
ESP32-CAMとArduinoボードは、同じRX(受信)およびTX(送信)ピンを共有しています。そのため、コードをアップロードする際は、ESP32-CAMの接続を一度切断して、衝突や潜在的な問題を避ける必要があります。
zeus-car-main\examples\4_drift
のパスの下にある4_drift.ino
ファイルを開きます。コードが正常にアップロードされた後、電源スイッチをONにしてZeus Carを起動します。
Zeus Carは0.5秒間前進し、その後90度左にドリフトします。45(rot)を別の値や負の数に変更して、ドリフトの角度と方向がどのように変わるかを試してみてください。
動作原理は?
Zeus Carのドリフトは、移動関数 carMove()
にドリフトパラメータ drift
を追加することで実現されます。
void carMove(int16_t angle, int8_t power, int8_t rot, bool drift)
angle
: 車を移動させたい方向。車の前方を0度として、反時計回りに角度を増やします。power
: 移動のパワー、範囲は-100% ~ 100%です。power
が正の場合、車は前進し、その逆の場合は後退します。rot
: 回転力、範囲は-100% ~ 100%です。rot
が正の場合、車は反時計回りに回転し、その逆も同様です。drift
: デフォルトはfalseですが、trueに設定するとドリフトモードが有効になります。
したがって、異なる power
と rot
の値は、Zeus Carのドリフト角度と方向を変更します。