ゆるエンジニアはいろいろ遊びたい

FAエンジニアが週末にいろいろ遊ぶブログです

ラズパイカーを作った

ラズパイゼロ2Wでカメラのストリーミングとモーターのコントロールができたので、ラジコンカーを作ってみました。
操作はPS4コントローラで、ブラウザでカメラの映像を見ながらリモートコントロールできます。
電源はダイソーで購入したモバイルバッテリーです。
t=3mmの塩ビプレートに全て載せてみました。

重量があるため2WDだと少し力が弱いですが、モニターを見ながら操作するとなかなか楽しいです。
カメラモジュールV2は、ターミナルで以下のコマンドを入力すると設定値が見れます。

v4l2-ctl -d /dev/video0 --all

defaultが初期値で、valueが現在の設定値です。
ラズパイを再起動すると初期値に戻るようなので、systemdに設定値を入れておくと便利です。

[Unit]
Description=MJPG Streamer (Night Mode)
After=network.target
Wants=network.target

[Service]
Type=simple

# === カメラ初期化(超重要)===
ExecStartPre=/usr/bin/v4l2-ctl -d /dev/video0 --set-ctrl=auto_exposure=0
ExecStartPre=/usr/bin/v4l2-ctl -d /dev/video0 --set-ctrl=iso_sensitivity_auto=1
ExecStartPre=/usr/bin/v4l2-ctl -d /dev/video0 --set-ctrl=white_balance_auto_preset=1
ExecStartPre=/usr/bin/v4l2-ctl -d /dev/video0 --set-ctrl=scene_mode=8

# === mjpg-streamer 本体 ===
ExecStart=/usr/local/bin/mjpg_streamer \
  -i "input_uvc.so -d /dev/video0 -r 640x480 -f 15" \
  -o "output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www"

Restart=always
RestartSec=2

[Install]
WantedBy=multi-user.target

auto_exposureは自動露出の設定で、0で自動になります。
iso_sensitivity_autoはISOの自動設定で、1で自動
white_balance_auto_presetはホワイトバランスで1で自動
scene_modeは0が昼、8が夜、11がスポーツモード
今回はナイトモードにしてみました。
あまり変化がわからなかったので、また今度検証してみようかな。