製品を見て気付いてのですが、これSDカードが付いていません。ESP32-CAMには有ったのに。そこで、今回は回路図を元に製品の詳細を見て行く事にします。
使えるポートは幾つある?
既にOV2640制御用にポートの大半は使用済みです。それ以外で回路図から空いていそうなポートを探した所、下記の様になりました。また各ポートは起動時に下記の様に設定されています。
GPIO No. | I/O | Pull Up/Down | 用途 |
00 | IN | Up | Boot時の状態判断 |
01 | IN | Up | TX |
02 | IN | Down | Boot時の状態判断 |
03 | IN | Up | RX |
12 | IN | Down | 内部LDOの電圧 |
13 | IN | X | |
14 | IN | X | |
15 | IN | Up | デバッグログの設定 |
32 | X | X | |
33 | X | X |
- GPIO1,3は通信に使用するので使用不可
- GPIO0,2はBoot時の状態判断に使用されますが、GPIO2は使用出来そう出すが既にLED表示用に使用済み
- GPIO12は起動時にLowにする必要有り
- GPIO15は起動時にHighにする必要有り
SDカードを追加するなら
この情報を元にSDカードをこの製品に追加して行きます。今回はこのSDカードを使用します。
GPIO12,13,14,15を使い下記の様に配線しました。GPIO12,15は起動時にLow,Highとする必要が有るのでSDカードの入力端子に配線しています
ESP32 | SDカード |
12 | CS |
13 | SCK |
14 | MISO |
15 | MOSI |
また、このSDカードは入力電圧5Vで設計されています。今回はESP32から電源を取るので、SDカードのレギュレーター2,3端子を基板から浮かせて基板のパッド同士を直接繋いでいます。
Arduino IDEで確認
下記のコードを実行して下さい。SDカードに ”This is test. This is test. “と書かれたtest1.txtファイルが作成されます。
u_SD.ino
#include "FS.h"
#include <SD.h>
#define sd_sck 13
#define sd_mosi 15
#define sd_ss 12
#define sd_miso 14
void setup()
{
File fo;
SPI.begin(sd_sck, sd_miso, sd_mosi, sd_ss);
SD.begin(sd_ss);
fo = SD.open("/test1.txt", FILE_WRITE);
fo.println("This is test.\nThis is test.");
fo.close();
SD.end();
}
void loop()
{
}
次回は
この製品にSDカードが追加されました。後空きポートは、2つ(GPIO32,33)です。ESP32-CAMには撮影用フラッシュライトが付いていましたが、LEDライトを持っていないので今回は諦めました。
次回はサンプルの詳細を見て行く予定です。