ESP32-WROVER CAMボードを試してみました【Arduino使用】

Raspberry Pi/電子工作
スポンサーリンク
スポンサーリンク

こんにちは、あろっちです。

ESP32-WROVER CAMボードは、ESP32-WROVER-E(技適マーク付き)とカメラが搭載されたボードです。
こちらを入手したので情報をまとめてみました。

本記事は以下を参考にしています。

GitHub - Freenove/Freenove_ESP32_WROVER_Board: Apply to FNK0060
Apply to FNK0060. Contribute to Freenove/Freenove_ESP32_WROVER_Board development by creating an account on GitHub.

本記事はArduino(C/C++)で試してみます。

スポンサーリンク
スポンサーリンク

特徴

モジュールESP32-WROVER-E
(技適マーク付き)
フラッシュメモリ 4MB
PSRAM 8MB※1
カメラオンボードカメラ
(コネクタ)
付属カメラモジュール
OV2640 66°
USBシリアルMicro USBシリアル変換IC
CH340※2
※1 Arduinoで使用可能な容量は4MBまでです。
※2 シリアルドライバをインストールしていない場合は別途インストールが必要です。

カメラモジュール(OV2640)には様々なバリエーションがあります。
こちらは別途購入したもの。

左から
66° 21mm(付属カメラ) 120°21mm 160°21mm
68°75mm 160°75mm

カメラはコネクタ接続なので換装して使えます。

ESP32-WROVER CAMボードに120°21mmを取り付けたところ
こちらは160°21mmを取り付けたところ

以下はスケッチ例のCameraWebServerをPlatformIO IDEにてビルド&書き込んだものを動かしたサンプル画像です。

OV2640 120° 21mm

OV2640 160° 21mm

ストリーミングはいずれのカメラもSXGAまでは割と安定して動作しました。

外観

普通のブレッドボード(400穴)だと片側1ピン分しかピン穴が確保できない幅です。

ブレッドボード2枚を連結して設置すると画像のようにピン穴が確保できました。

サンハヤトのニューブレッドボードでは、3ピン分(片側どちらか1ピン、他方2ピン)ピン穴が確保できました。
このボードを使うのにオススメのブレッドボードです。

ピン配列

※画像のバー付きのピン(GPIO)はカメラ(コネクタ)に接続されています。

ボード表記GPIO主機能備考
VPGPIO36ADC1_0Camera Y6
VNGPIO39ADC1_3Camera Y7
34GPIO34ADC1_6Camera Y8
35GPIO35ADC1_7Camera Y9
32GPIO32TOUCH_9
33GPIO33TOUCH_8
25GPIO25DAC_1Camera VSYNC
26GPIO26DAC_2Camera SIOD
27GPIO27TOUCH_7Camera SIOC
14GPIO14HSPI_CLK
12GPIO12HSPI_MISO
13GPIO13HSPI_MOSI
SD2GPIO9SPIHDフラッシュメモリ接続用(使用不可)
SD3GPIO10SPIWPフラッシュメモリ接続用(使用不可)
CMDGPIO11SPICS0フラッシュメモリ接続用(使用不可)
CLKGPIO6SPICLKフラッシュメモリ接続用(使用不可)
SD0GPIO7SPIQフラッシュメモリ接続用(使用不可)
SD1GPIO8SPIDフラッシュメモリ接続用(使用不可)
15GPIO15HSPI_CS
2GPIO2LED内蔵LED
0GPIO0TOUCH_1BOOTボタン
GND短絡にて書き込みモード(Download Boot)
4GPIO4TOUCH_0Camera Y2
5GPIO5VSPI_CSCamera Y3
18GPIO18VSPI_CLKCamera Y4
19GPIO19VSPI_MISOCamera Y5
21GPIO21I2C_SCLCamera XCLK
RXGPIO3RX0シリアル通信
TXGPIO1TX0シリアル通信
22GPIO22I2C_SDACamera PCLK
23GPIO23VSPI_MOSICamera HREF
3.3V、EN、VCC、GND除いたピンを記載しています。

VP, VN, 34, 35は入力(Input)のみとなります。
基本的には備考の空欄のピン(以下参考)が外部ピンとして使用できるかと思います。

GPIO12〜GPIO15(HSPI対応)
GPIO32、GPIO33

参考URL(pdf):

https://github.com/Freenove/Freenove_ESP32_WROVER_Board/blob/main/C/C_Tutorial.pdf

Arduinoボード設定

Arduino IDEにESP32ボードを追加しておきます。

追加方法については、以下の記事をご参照ください。

  • ボードインストール

[ツール] > [ボード] > [ボードマネージャ]からESP32ボードをインストールします。

※CameraWebServerを動かす場合、バージョン2.0.3をインストールしてください。
2022年8月19日現在

  • ボードの選択

[ツール] > [ボード] > [ESP32 Arduino] > [ESP32 Wrover Module]を選択します。

※CameraWebServerスケッチを書き込む場合、[ツール] > [Partition Scheme] > [Huge APP (3MB No OTA/1MB SPIFFS)]を選択

  • シリアルポートの選択

シリアルポートは、Macの場合/dev/cu.wchusbserial*から始まるポートを選択します。

Windowsの場合はCOM*で認識されますのでそちらを選択します。

※シリアルポートが認識されない場合はCH340用シリアルドライバを以下からダウンロードしてインストールしてください。

GitHub
https://github.com/Freenove/Freenove_ESP32_WROVER_Board/tree/main/CH340

PlatformIO IDEを使用する場合

動作確認した内容を記載します。

PlatformIO IDE

バージョン Core 6.1.4/Home 3.4.3

開発環境

PlatformEspressif 32バージョン 5.1.1
ボードEspressif ESP-WROVER-KITフレームワーク
Arduino

CameraWebServerの修正済みArduinoスケッチをインポートしてプロジェクトを作成
※スケッチ例の修正方法は本記事のサンプルプログラムに掲載しています。

以下の設定で動作確認しました。

platformio.ini (例)

[env:esp-wrover-kit]
platform = espressif32
board = esp-wrover-kit
framework = arduino
upload_port = /dev/cu.wchusbserial14110
upload_speed = 921600
monitor_speed = 115200

upload_portは環境に合わせて設定してください。

platformio.ini(実際の画面)

こちらがPlatformIO IDEで書き込んだCameraWebServerが動作しているところです。

カメラはOV2640 120°21mmを使用

サンプルプログラム(Arduinoスケッチ)

開発環境

Arduino IDE(Mac版)1.8.19
ESP32 Arduinoボード2.0.3※

※バージョン2.0.4、2.0.5ではCameraWebServerが正常動作しなかったためバージョン2.0.3を使用しています。
2022年10月1日時点

以下にpdfやサンプルスケッチがあります。

Freenove_ESP32_WROVER_Board/C at main · Freenove/Freenove_ESP32_WROVER_Board
Apply to FNK0060. Contribute to Freenove/Freenove_ESP32_WROVER_Board development by creating an account on GitHub.

CameraWebServer (Arduino IDEスケッチ例を使用する場合)

GitHubのサンプルスケッチにSketch_05.1_CameraWebServerがありますが、Arduino IDEのスケッチ例([スケッチ例] > [ESP32] > [Camera] > [CameraWebServer])を使用する場合、次のように修正します。

  1. カメラモデルの指定
    CAMERA_MODEL_WROVER_KITのコメントをはずし、CAMERA_MODEL_AI_THINKERをコメントアウトします。
  2. Wi-Fi設定
    ssidとpasswordを接続先Wi-Fiのssidとpasswordに書き換えます。

動作例

関連記事

当ブログのマイコン記事です。ぜひご覧ください。

この記事を書いた人
あろっち

元ITエンジニア
エンジニア時代は大手企業などでSE・プログラマを経験してきました。

当ブログでは、経験や日々の暮らしの中で、興味があること、役に立ちそうなこと、気になったことを発信していきます。

IT関係(技術的な内容もあります) / スマホ・PC / ガジェット / 生活に役立ちそうなこと ... etc

あろっちをフォローする
Raspberry Pi/電子工作IT
スポンサーリンク
あろっちをフォローする
あろしーど

コメント

タイトルとURLをコピーしました