.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! 3. 移動と回転 ====================== このプロジェクトでは、Zeus Carは回転のパラメータを増やすことで、その場でスピンしたり、弧を描いて外に出たりすることができます。 **どのように実行するか?** #. ESP32-CAMとArduinoボードは、同じRX(受信)およびTX(送信)ピンを共有しています。そのため、コードをアップロードする際は、ESP32-CAMの接続を一度切断して、衝突や潜在的な問題を避ける必要があります。 .. image:: img/unplug_cam.png :width: 400 :align: center #. ``zeus-car-main\examples\3_rotate_and_move`` のパスの下にある ``3_rotate_and_move.ino`` ファイルを開きます。 .. raw:: html #. コードが正常にアップロードされた後、電源スイッチをONにしてZeus Carを起動します。Zeus Carは左に回転してから右に戻り、元の位置に戻ります。その後、車は外側の弧をゆっくりと回転し、回転角度が徐々に減少して、最終的に自分自身で回転します。 **動作原理は?** ここでは、Zeus Carの移動関数 ``carMove()`` に回転力パラメータ ``rot`` が追加されています。 .. code-block:: void carMove(int16_t angle, int8_t power, int8_t rot) * ``angle``: 車を移動させたい方向。車の前方を0度として、反時計回りに角度を増やします。 * ``power``: 移動のパワー、範囲は-100% ~ 100%です。 ``power`` が正の場合、車は前進し、その逆の場合は後退します。 * ``rot``: 回転力、範囲は-100% ~ 100%です。 ``rot`` が正の場合、車は反時計回りに回転し、その逆も同様です。 ``power`` が0で ``rot`` が0でない場合、Zeus Carはその場でスピンします。回転力が高いほど、回転速度も速くなります。 ``rot`` が正の場合、車は反時計回りに回転し、その逆も同様です。 ``power`` が0でない場合、Zeus Carが弧を描いて外に出ることがわかります。 ``rot`` が増加するにつれて、回転角度も増加し、値が十分に大きくなると、Zeus Carは自身を回転させます。