[電子工作]ESP32-CAMの使い方ーーーー目次ーーーー ーーーーーーーーーー 1.ESP32-CAMとは?中国のAi-Thinker社が開発した、ESP32とカメラモジュールを搭載したボードです。特徴は次の通り。
・外付けアンテナに対応したESP32-WROOM32互換チップを搭載。 ・4MBのPSRAMを搭載。 ・OV2640(1600x1200)又はOV7670(640x480)のカメラモジュール搭載。 ・MicroSDカードスロット搭載。(SD_MMC仕様) ・USBコネクタや、USB-シリアル変換チップが搭載されていません。別途、USB-シリアル変換ボード 又は、ESP32-DevKitのようなボードと、接続ケーブルが必要です。 ・8ピン×2列 の端子を持ち、電源、フラッシュ書き換え用のシリアル、8個のGPIOが割り振られて いますが、実はGPIOは全て使用済みで、自由に使えるGPIOはありません。(ああ、残念。 唯一、シリアルモニタを使わない場合、U0TをI/Oに使えます。)
但し、訳あって余り詳しいことは書けません。 ESP32と同じく、Arduino IDEで開発可能です。その場合、 ツール−ボード で、「AI Thinker ESP32-CAM」 を選んで下さい。
なお、これによく似た製品に、TTGO社のT-Camera ESP32-WROVER-B OV2640 Camera Module 0.96 OLED という製品があります。USBコネクタとUSB-シリアル変換チップを搭載し、OV2640カメラモジュール、OLEDパネル、 マイク(搭載しないものもあるようです)、人感センサ、温度/湿度/気圧センサ(搭載しないものもあるようです) も搭載していますが、SDカードスロットや拡張用ピンがありません。技適も取れているので、Webカメラにしか 使用しない場合は、こちらをお勧めします。
2.Arduino IDEのESP32環境の使い方(1)Arduino IDEのインストール(ESP32の開発環境と同じです。) まず、Arduino IDEをインストールしてください。 その後、Arduino IDEのESP32開発環境のInstallation instructions using Arduino IDE Boards Manager を参考にして下さい。分からない方は、ネットを探せば日本語のページが見つかりますので、それを参考に してください。
(2)フラッシュのプログラム方法:USB-シリアル変換ボードを使用する場合 次のように接続すれば、Arduino IDEからプログラム可能です。シリアルモニタも使用可。
(3)フラッシュのプログラム方法:ESP32-DevKitを使用する場合 次のように接続すれば、Arduino IDEからプログラム可能です。但し、シリアルモニタは使えません。
(4)サンプルの実行 ・LEDを点滅するサンプルを実行 IO0をGNDとショートしてから、ボードとPCをUSBケーブルで接続します。(PCのコネクタに直接接続することを推奨) ツール−ボード で接続しているボードを選びます。そして、ツール−シリアルポート で ボードのCOMポート番号を選びます。 ファイル−スケッチ例−01.Basic−Blink を選びます。 プログラムの先頭に、次のコマンドを追加します。 #define LED_BUILTIN 33 →(スケッチ−マイコンボードに書き込む)を選ぶと、プログラムがコンパイルされ、ボードに転送されます。 その後、一度、USBケーブルを抜き、IO0をオープンにしてから、ケーブルを挿すと、ボード裏の赤いLEDが 点滅します。 なお、 #define LED_BUILTIN 4 に変更すると、表の白いLEDが点滅しますが、眩しいので注意して下さい。
3.ESP32-CAMをスチルカメラにしようここのHPにあるプログラムを書き込み、フォーマット済みのMicroSDカードをセットし、RSTボタンを押すと、 フラッシュが光り、撮影した画像がMicroSDカードに保存されます。しかし、毎回、リセットされるので、 ホワイトバランスが合わず、色がおかしいです。 そこで、私はU0Tにシャッターボタンを付け、リチウムバッテリーを搭載したものを作成しました。 回路図とプログラムは次の通り。
ファイル名は、「picture??.jpg」です。但し、??は1〜256までの数字のようですので、256枚までしか、 保存できません。必要なら、プログラムを書き換え、より多くのファイルを保存できるようにしたり、 一定時間毎に保存するとか、拡張すると良いでしょう。
注意.ファイルの日付は、「1980/01/01 00:00」になります。 注意.ボードに、PSRAMを持たないボードを選ぶと、解像度がSVGA(800x600)になります。 ESP32 Wrover ModuleやAI Thinker ESP32-CAM等を選べば、解像度はUXGA(1600x1200)になります。 注意.プログラムを見ると分かりますが、MicroSDカードスロットはHSPIに接続されています。よって、SD_MMC ライブラリを使用下さい。
これ以外の使い方は、ネットを検索して、自己責任で実行下さい。
Arduinoの紹介はこちら。
Arduino IDEで液晶パネル、タッチパネル、SDカードを使う方法は、こちら。
「STM32の性能を発揮するには?」はこちら。
「ESP32の使い方」はこちら。 |