Device
カメラ

カメラ

概要

カメラの単体テストを行うためのページ

SDカードについてはこちらを参照

機器詳細

Arducam Mini 2MP Plus https://www.arducam.com/product/arducam-2mp-spi-camera-b0067-arduino/ (opens in a new tab) https://www.switch-science.com/catalog/3780/ (opens in a new tab)

回路図

素子 PinArduino Pin備考
CSD7 (SS)チップセレクト
MOSID11 (MOSI)SPI の送信データ (Master Out Slave In)
MISOD12 (MISO)SPI の受信データ (Master In Slave Out)
SCLKD13 (SCL)SPI のシリアルクロック
GNDGNDGND
+5V5V5V 電源
SDAA4 (SDA)I2C のシリアルデータ
SCLA5 (SCL)I2C のシリアルクロック
  • 通信はSPI通信とI2C通信の両方
  • 電源電圧は5V
  • 撮影場所の自由度を増すために,ジャンプワイヤーの片側をはんだ付けして用いるのが便利 = カメラのピントが合わせるには、裏側の二つのネジをドライバーで回し調整を行う。

ソースコード

test_camera.ino
#include <CanSatSchool.h>
 
// カメラの SS ピンを指定
#define PIN_CAMERA_SS 7
// SDカードの SS ピンを指定
#define PIN_SD_SS 10
 
// カメラを宣言
Camera camera{PIN_CAMERA_SS};
 
void setup()
{
    // ロガーを初期化
    logger.enableComputer();
    // logger.enableSDCard(file_name);  // ロガーを使用してもよい
 
    // Wire (Arduino-I2C) を初期化
    // カメラは I2C を使用するためこれが必要
    Wire.begin();
 
    // SPI を初期化
    // カメラは SPI を使用するためこれが必要
    SPI.begin();
 
    // SDカードを初期化
    // 撮影した画像を保存するためにSDカードを利用する
    SDCard::init(PIN_SD_SS);
 
    // カメラを初期化
    camera.init();
 
    // 画像のサイズを変えたい場合
    // OV2640_160x120    // 160x120
    // OV2640_176x144    // 176x144
    // OV2640_320x240    // 320x240(デフォルト)
    // OV2640_352x288    // 352x288
    // OV2640_640x480    // 640x480
    // OV2640_800x600    // 800x600
    // OV2640_1024x768   // 1024x768
    // OV2640_1280x1024  // 1280x1024
    // OV2640_1600x1200  // 1600x1200
    // camera.setSize(OV2640_640x480);
 
    delay(500);
}
 
void loop()
{
    // カメラで写真を撮影してSDカードに保存する
    // ファイル名は撮影時のミリ秒に指定
    camera.takePictureAndSaveAs(String(millis()) + ".jpg");
 
    // 10s 待つ
    delay(10000);
}
 

GitHub (opens in a new tab)