pdf-icon

Arduino入門

2. デバイス&サンプル

Unit CamS3-5MP Arduino サンプルプログラムのコンパイルと書き込み

1. 準備作業

    1. Arduino IDE のインストール:Arduino IDE インストールガイド を参照して IDE をインストールします。
    1. ボードマネージャの設定:Arduino IDE を開き、メニューの「ファイル」>「環境設定」(Windows) または「Arduino IDE」>「環境設定」(macOS)をクリックします。

    「追加のボードマネージャの URL」欄に次を入力します:

https://espressif.github.io/arduino-esp32/package_esp32_index.json

サイドバーのボードマネージャを開き、esp32 を検索して esp32 by Espressif Systems の最新バージョンをインストールします。\

    1. ハードウェア接続:
  • 4. ハードウェアバージョンの確認:
    Unit CamS3-5MP には 2 つのハードウェアバージョンがあるため、まず次のコードでバージョンを判定します。
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
#include <Wire.h>
#define SIOD_GPIO_NUM 17
#define SIOC_GPIO_NUM 41

void setup() {
  Serial.begin(115200);
  Wire.begin(SIOD_GPIO_NUM, SIOC_GPIO_NUM);
  Serial.println("\n####################");
  Serial.println("Start checking Unit CamS3-5MP hardware version");
}

void loop() {
  byte version = readRegister(0x1f, 0x0200);
  if (version == 0x01) {
    Serial.println("New Version (0x01)");
  } else if (version == 0xFF) {
    Serial.println("Old Version (0xFF)");
  } else {
    Serial.print("Unknown Version: 0x");
    Serial.println(version, HEX);
  }
  delay(1000);
}

byte readRegister(byte slaveAddr, unsigned int regAddr) {
  Wire.beginTransmission(slaveAddr);
  Wire.write((byte)(regAddr >> 8));
  Wire.write((byte)(regAddr & 0xFF));
  Wire.endTransmission(false);
  Wire.requestFrom(slaveAddr, (byte)1);
  if (Wire.available()) {
    return Wire.read();
  }
  return 0x00;
}

上記のコードを Arduino IDE に貼り付け、esp32 ボードマネージャで M5UnitCAMS3 ボードを選択し、左上のアップロードボタンをクリックします。

アップロードに失敗した場合は、電源投入前に付属のオス - オスジャンパワイヤでヘッダーの G0 と GND ピンを短絡し、デバイスをダウンロードモードにしてください。

アップロードが完了したらシリアルモニタを開き、プログラムの出力を確認します。

出力が New Version (0x01) の場合は新しいハードウェア、Old Version (0xFF) の場合は古いハードウェアです。

2. 旧版ハードウェア互換処理

新しいハードウェアの場合はこの手順をスキップしてください。

サイドバーのボードマネージャで esp32 by Espressif Systems3.1.0 バージョンをインストールします。

libespressif__esp32-camera.zip をダウンロードし、解凍して得られる libespressif__esp32-camera.a を下記のパスへ配置し、同名ファイルを置き換えます:

  • Windows
C:\Users\[Username]\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-083aad99-v2\esp32s3\lib\
  • macOS
/Users/[Username]/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.3-083aad99-v2/esp32s3/lib/
  • Linux
/home/[Username]/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.3-083aad99-v2/esp32s3/lib/

3. サンプルプログラムの取得

CameraWebServer.zip をダウンロードし、解凍後に CameraWebServer.ino を開き、Unit CamS3-5MP が接続する Wi-Fi の SSID とパスワードを入力します。

4. プログラムのコンパイルと書き込み

Arduino IDE のメニュー「ツール」で下記設定を行います:

  • ボードの選択:Tools -> Board -> esp32 -> M5UnitCAMS3
  • USB CDC の設定:Tools -> USB CDC On Boot -> Enabled
  • PSRAM の設定:Tools -> PSRAM -> OPI PSRAM

デバイスに対応するポートを選択し、コンパイルしてプログラムをアップロードすると、シリアルモニタに IP アドレスが表示されます。表示されない場合は USB ケーブルを抜き差しするか、シリアルモニタのボーレートが 115200 であることを確認してください。

5. プログラム実行結果

Unit CamS3-5MP と同じ LAN 内のデバイスで、ブラウザにプログラムが出力した IP アドレス(先頭の http:// を含む)を入力します。
「Get Still」をクリックすると静止画が取得でき、「Start Stream」をクリックするとリアルタイムの映像ストリーム(動画)を確認できます。

On This Page