.. note::
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
**参加する理由は?**
- **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
- **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。
- **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。
- **特別割引**:最新製品の独占割引をお楽しみください。
- **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!
.. _py_move:
2. PiCar-Xを動かす
========================
これは最初のプロジェクトです。PiCar-Xの基本的な動きをテストしましょう。
**コードの実行**
.. raw:: html
.. code-block::
cd ~/picar-x/example
sudo python3 2.move.py
このコードを実行すると、PiCar-Xは前進し、S字型に曲がり、停止して頭を振ります。
**コード**
.. note::
以下のコードは **変更/リセット/コピー/実行/停止** が可能です。しかし、それをする前に、 ``picar-x/example`` のようなソースコードのパスに移動する必要があります。コードを変更した後、直接実行して効果を確認できます。
.. raw:: html
.. code-block:: python
from picarx import Picarx
import time
if __name__ == "__main__":
try:
px = Picarx()
px.forward(30)
time.sleep(0.5)
for angle in range(0,35):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
px.forward(0)
time.sleep(1)
for angle in range(0,35):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(0,35):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
finally:
px.forward(0)
**それはどのように機能するのですか?**
PiCar-Xの基本機能は、 ``picarx`` モジュールにあります。
これは、ステアリングギアやホイールの制御に使用され、
PiCar-Xを前進させたり、S字型に曲がらせたり、頭を振らせたりすることができます。
現在、PiCar-Xの基本機能をサポートするライブラリがインポートされています。
これらの行は、PiCar-Xの動きを伴うすべての例に表示されます。
.. code-block:: python
:emphasize-lines: 0
from picarx import Picarx
import time
次に、 ``for`` ループを使用する以下の関数は、PiCar-Xを前進させ、
方向を変え、カメラのパン/チルトを動かすために使用されます。
.. code-block:: python
px.forward(speed)
px.set_dir_servo_angle(angle)
px.set_camera_servo1_angle(angle)
px.set_camera_servo2_angle(angle)
* ``forward()``:PiCar-Xに指定された ``speed`` で前進するよう命令します。
* ``set_dir_servo_angle``:ステアリングサーボを特定の ``angle`` に回転させます。
* ``set_cam_pan_angle``:パンサーボを特定の ``angle`` に回転させます。
* ``set_cam_tilt_angle``:チルトサーボを特定の ``angle`` に回転させます。
.. image:: img/pan_tilt_servo.png
:width: 400