Manual Exposure for OV2640

Overview

ArduCAM all given examples are using auto exposure for easy use of the camera. But somethings user want to control the exposure more precisely. This article will cover how to do manually exposure for OV2640 camera.

How does Rolling Shutter Sensor Exposure

All rolling shutter image sensors including OV2640 are doing exposure by line basis. They do exposure line by line, so all pixels in a line are exposed at the same time, but different pixels from different line are exposed at different time.

In this case, the minimum exposure time is 1 Line Time, and the maximum exposure time is one Frame time. Basically it equals to total vertical resolution times 1 Line Time, but sometimes there are one or more dummy lines added to the frame.

The OV2640 Timing

The following figure is the OV2640 UXGA (1600 x 1200) resolution timing diagram.

1 Line is composed by 1600 pixels and 322 clock horizontal blanking, Tline = 1922 pclk in total.

1 Frame is composed by 1248 lines including the active 1200 lines and 4 lines + 44 lines of vertical blanking.

Given the pixel clock is 36MHz by default, the 1 Line time is 53.39us. The calculated frame time is 66.63ms. So the minimum exposure time is 53.39us and maximum exposure time is 66.63ms if no additional dummy pixels and dummy lines added.

How to Set Manual Exposure with OV2640

In order to enable OV2640 manual exposure, we have to disable the AEC bit from register 0x13 in the register Bank 1. Don’t forget to switch to the register Bank 1 by writing 0x01 to 0xFF register.

The exposure register is spreaded in 3 registers 0x45, 0x10, 0x04 in the register Bank 1. Write correct value in line basis to these register will change the exposure of the target images.

More Control Over the Exposure

The maximum exposure time is limited by the Frame time. If we want to over exposure of a image when at night, we have three other ways to do it.

  • Change the Pixel Clock

Write 0x11 register in the register Bank 1 will adjust the pixel clock speed, and in turn change the Line time accordingly.

  • Add dummy pixels to a line

Write 0x2A and 0x2B register in the register Bank 1 will add dummy pixels to a Line, and in turn change the Line time accordingly.

  • Add dummy lines to a frame

Write 0x2D and 0x2E register in the register Bank 1 will add dummy Lines, and in turn change the Frame time accordingly.

Testing Result

Here we set different exposure value to AEC register at the same light enviroment. The exposure values are 200, 400, 800, 1024 which is in lines basis, and corresponding  to 10.7ms, 21.4ms, 42.7ms and 54.7ms.

 

Second Generation ArduCAM Shields and Modules

Featured

Introduction
ArduCAM series camera shield is a universal camera control board for Arduino. It hides the complex nature of the camera and provides the plug and play camera control interface as well as the ready to use software source code library and demo code. User can make it works in minutes without writing a line of code. The ArduCAM supports variety camera modules from 0.3MP to 5MP with different format like RAW, RGB, YUV, JPEG and can be well mated with standard Arduino boards.
ArduCAM Shield V2 and ArduCAM-Mini-5MP-Plus are the second generation of ArduCAM products, they offers the improved performance and enhanced functions than the previous revisions. They not only can capture decent 5MP JPEG images, but also can do 5MP full resolution RAW image capture, which makes it to be the ideal solution for IoT and scientific image processing applications. Even more they can record short movie clips as well.
The ArduCAM is straightforward enough that it can be easily used with an Arduino, however this simple interface means that the ArduCAM is equally easily integrated with other single board computers such as the Raspberry Pi and the Beaglebone black. It isn’t just a camera for the Arduino, it’s a camera that because it can be easily interfaced to an Arduino, can be easily interfaced to any single board computer, either directly, or through an Arduino if needed for a larger system without exposed SPI/I2C busses. In short, the ArduCAM brings a plug and play solution to digital cameras at the hardware level.

Application

  • IoT cameras
  • Robot cameras
  • Wildlife cameras
  • Scientific cameras
  • Machine vision
  • Other battery-powered products
  • Can be used with any MCU, ESP8266, Raspberry Pi, ARM, DSP, FPGA platforms

Features

  • Support 0.3MP~5MP camera modules, see Table 1
  • 3.2 inch TFT LCD with touch screen (Only available on Shield V2)
  • Build in SD/TF card socket (Only available on Shield V2)
  • Support JPEG compression mode, single and multiple shoot mode, one time capture multiple read operation, burst read operation, low power mode and etc.
  • Support almost any microcontroller platform, see Table 2
  • Provide open source code library, please visit arducam github
  • All ArduCAM’s IO ports are 5V/3.3V tolerant
  • Well mated with standard Arduino boards

Table 1 ArduCAM Shield V2 Supported Camera Modules

Resolution Sensor Vendor Camera Module Manufacture
0.3MP Omnivision OV7660 / OV7670 / OV7675 / OV7725 ArduCAM
0.3MP Aptina MT9V111 ArduCAM
1.3MP Aptina MT9M112 / MT9M001 ArduCAM
2MP Omnivision OV2640 ArduCAM
2MP Aptina MT9D111 / MT9D112 ArduCAM
3MP Omnivision OV3640 ArduCAM
3MP Aptina MT9T112 ArduCAM
5MP Omnivision OV5640 / OV5642 ArduCAM

Table 2 Supported Hardware Platforms

Platform Type Manufacture
8bit MCU Arduino UNO / MEGA Arduino
Cotex-M3 Arduino DUE Arduino
Cotex-M3 STM32 Develop Board ArduCAM
ARM Raspberry Pi B+ / Pi 2 / Pi 3 Raspberry Pi
ARM BeagleBone Black BeagleBone
MIPS ArduCAM Nano ESP8266 ArduCAM

Key Specifications

Table 3 Specification

Spec ArduCAM Shield V2 ArduCAM-5MP-Plus
Resolution 0.3MP ~ 5MP 5MP
Format RAW, YUV, RGB, JPEG RAW, YUV, RGB, JPEG
3.2″ TFT LCD Support NA
TF/SD card Support NA
Frame Buffer 8MByte 8MByte
SPI Speed 8MHz 8MHz
Power 50mA@5V
without camera module
250mA@3.3V
200mA@5V
Size 99x59mm 34x24mm

Documents
ArduCAM Shield V2 Datasheet
ArduCAM Mini 5MP Plus OV5642 Datasheet
ArduCAM Shield V2 Hardware Application Note
ArduCAM Mini 5MP Plus Hardware Application Note
ArduCAM Software Application Note

New Book for ArduCAM CC3200 Uno DIY Wifi Security Spy Ghost Hunter Camera Starter Kit

Featured

The author Robert Chin wrote a book for Home Security System DIY PRO using Android and TI CC3200 SimpleLink using ArduCAM CC3200 UNO DIY WIFI Start Kit. If you want to build home security system by yourself, it is right for you to read about it. And now it is available on Amazon.

CoverAndroidCC3200

This book shows you how to build and modify your own wifi camera based commercial quality portable wireless security, surveillance, and spy system appropriate for use at home, or during travel. This system uses only an Android cell phone or tablet(operating system 2.2 and above), a TI CC3200 Launchpad or ArduCAM CC3200 UNO, and a TI Camera Booster Pack with MT9D111 digital camera or just an ArduCAM MT9D111 digital camera if you are using an ArduCAM CC3200 Uno which has a built in camera interface. This book shows you how to build and modify your own alarm system that detects the motion of an intruder, calls out to an emergency phone number and sends emergency text messages using an Android cell phone or just alerts you to the intruder using an Android tablet. This alarm system is compact enough to also provide portable security for travelers using hotels and motels or you can use this as a hidden spy camera system. You can also use the security system for high quality continuous real time surveillance of your property. The live video feed is shown on the Android device. The camera can be set to only record pictures where there is movement so you can easily view any saved images to determine what kind of intruder was detected. The image data is stored locally on the Android device and does NOT require payment of storage fees as with some home security company plans. This book will also go into the technical details of the hardware set up as well as the author created Android and TI CC3200 SimpleLink software. With these technical details you will be able to customize and expand these systems to suit your specific needs for your own personal use. This book also serves as a quick start guide for people interested in learning how to program wifi communication between an Android and a TI CC3200 Simplelink device.

Who is this book for?

This book for people that:

* Want a quick start guide to wifi communication between an Android device and a TI CC3200 Simplelink device using a camera.

* Travel often and need a low cost, no contract, portable security solution when living in motels and hotels.

* Want to secretly monitor a wife, husband, girlfriend, boyfriend, employee, co-worker and/or other people or even animals without their knowledge and have real time notifications sent to your cell phone.

Key Feature Summary:

* Shows you how to build and modify your own portable wifi camera based commercial quality wireless home or portable security, surveillance, and spy system with real time emergency notification phone call out and text message notifications to your main cell phone.

* The home security system presented in this book is easy to assemble and does not require the use of breadboards or soldering.

* Follow the detailed “Hands on Example” and install the pre-made software created by the author on your Android and TI CC3200 SimpleLink devices and get a working commercial quality video surveillance system, or an intruder alarm system up and running quickly

* This book explains the author created source code for the Android and TI CC3200 SimpleLink devices so you can customize the home security system yourself for your own specific needs for personal use.

Table of Contents:

Chapter 1: Introducing the ArduCAM CC3200 UNO

Chapter 2: TI CC3200 SimpleLink Programming Language Basics

Chapter 3: The Android Controller and Wifi Communication

Chapter 4: The CC3200 and Wifi Communication

Chapter 5: Motion Detection Using a Camera

Chapter 6: The Android Wireless Security System Design

Chapter 7: The CC3200 Simplelink Wireless Security System Design

Chapter 8: Hands on Example: Building an Android and ArduCAM CC3200 UNO Security System

Chapter 9: Deploying your GotchaCAM Wireless Intruder Alarm and Surveillance System

ArduCAM ESP8266 UNO board for Arduino Camera

Featured

Introduction

ArduCAM now released a ESP8266 based Arduino board for ArduCAM mini camera modules while keeping the same form of factors and pinout as the standard Arduino UNO R3 board. The high light this ESP8266 board is that it well mates with ArduCAM mini 2MP and 5MP camera modules, supports Lithium battery power supply and recharging and with build in SD card slot. It can be an ideal solution for home security and IoT camera applications.

Features

  • Build in ESP8266-12E Module
  • 11 digital input/output pins, IO ports are 3.3V tolerant
  • 1 analog input(3.2V max input)
  • ArduCAM Mini 2MP/5MP camera interface
  • Lithium battery recharging 3.7V/500mA max
  • Build in SD/TF card socket
  • 7-12V power jack input
  • Build in micro USB-Serial interface
  • Compatible with Arduino IDE

Pin Definition

Note that the SD/TF card CS pin is shared with UART TX signal, so the UART and the SD/TF can’t be used at the same time.

Getting Started ESP8266 with Arduino IDE

ArduCAM released a add-on package which allows installation of third-party platform packages using Boards Manager. Add the following URL to the Arduino IDE Preferences window. Then Open Boards Manager from Tools -> Board menu and install ArduCAM_ESP8266_UNO add-on package.

http://www.arducam.com/downloads/ESP8266_UNO/package_ArduCAM_index.json

There are 3 examples for both 2MP and 5MP ArduCAM mini camera modules.

  • ArduCAM_Mini_OV2640_Capture (or ArduCAM_Mini_OV5642_Capture)

This example uses HTTP protocol to capture still or video over home wifi network from ArduCAM mini 2MP/5MP and display on the web browser.

  • ArduCAM_Mini_OV2640_Capture2SD (or ArduCAM_Mini_ OV5642_Capture2SD)

This example takes time elapse still photos using ArduCAM mini 2MP/5MP and then stored on the TF/SD card. The LED indicates when the TF/SD card is writing.

  • ArduCAM_Mini_OV2640_Video2SD (or ArduCAM_Mini_OV5642_Video2SD)

This example takes motion JPEG video clips using ArduCAM mini 2MP/5MP and then stored on the TF/SD card as AVI format.

For more information, please read the user guide here.

New Book “Home Security Systems DIY” using ArduCAM Mini Camera Module

Featured

The author Robert Chin wrote a book for Home Security Systems DIY using Android and Arduino using ArduCAM Mini camera module Arduino and Android. For Arduino and its camera fans, it is right for you to read about it. And now it is available on Amazon.
Book Cover

Introduction

This book shows you how to build your own wireless home security system using an Android cell phone or tablet, an Arduino microcontroller, an infrared motion detector, a Bluetooth adapter, and an optional ArduCAM Mini digital camera. All these items are low cost off the shelf parts that are widely available for purchase. This book shows you how to build your own home intruder alarm system that allows you to detect the motion of an intruder and then call out to an emergency phone number using an Android cell phone or just alert you to the intruder with an Android tablet. In addition, an ArduCAM Mini digital camera can be added so that pictures of the intruder can be taken when the motion detector is tripped. You can also use the book’s ArduCAM Mini camera based security system for continuous surveillance of your property. The image data is stored locally on the Android device and does NOT require payment of storage fees as with some home security company plans. This book will also go into the technical details of the hardware set up as well as the author created Android and Arduino software. With these technical details you will be able to customize and expand these systems to suit your specific needs.

Who is this book for?

1. This book is designed for everyone from people with no technical experience to experienced Do It Yourselfers such as those experienced in home improvements as well as programmers and engineers who want to customize and expand on the basic home security systems presented.

Key Feature Summary:

* Shows you how to build your own wireless home security and surveillance system and stop paying monthly fees to home security companies.

* Shows you how to build your own wireless home security and surveillance system and stop worrying about being spied on by commercial security companies.

* Expands upon the trend of “Do It Yourself” or “DIY” wireless home security systems such as the best selling self installable SimpliSafe wireless home security system

* Follow the detailed “Hands on Examples” and install the pre-made software created by the author on your Android and Arduino devices and get a working video surveillance system, or an intruder alarm system up and running within 15 minutes.

* Shows you how to build your own wireless home security system that can detect intruders and make an emergency cell phone call to notify you of the intrusion.

* Explains the author created source code for the Android and Arduino so you can customize the home security systems yourself.

Table of Contents:

Chapter 1: Introducing the Arduino
Chapter 2: Arduino Programming Language Basics
Chapter 3: The Android Controller and Bluetooth Communication with Arduino
Chapter 4: Simple Wireless Intruder Alarm System with Motion Detector
Chapter 5: Hands on Example: Creating a Simple Intruder Alarm System
Chapter 6: ArduCAM Mini Wireless Intruder Alarm/Video Surveillance System
Chapter 7: Hands on Example: Building an ArduCAM Intruder Alarm / Surveillance System
Chapter 8: Deploying your Wireless Intruder Alarm and Surveillance System

ArduCAM CC3200 UNO Board for Energia

Featured

Introduction

ArduCAM team now announces to release a new CC3200 UNO board which is full featured development board almost like a combination of CC3200 Launchpad plus CC3200CAMBOOST pack from TI while keeping exactly the same size as Arduino UNO and pin out.

It is based on TI simplelink series CC3200 chip, which gives you an ARM Cortex M4 processor with a built-in WiFi stack and radio. It supports things like web servers and SSL out of the box. It can be mated with existing thousand kinds of Arduino shields without effort. It makes writing firmware for these devices easier, since a lot of the work is already done. The collection of libraries aids in getting prototypes running quickly. You can even debug Energia sketches using TI’s fully featured IDE.

In addition to standard Arduino pin out and Arduino development environment, it also has additional ArduCAM standard camera interface, user can use TI Code Composer Studio (CCS) to develop and debug camera based application.

ArduCAM CC3200 UNO has build in SWD and JTAG debug circuit, you do not need additional debugger tools to do the debugging. It supports TI CCS and Uniflash seamlessly. If you’re looking to connect things to the internet, with the goal of building some sort of “Internet of Things,” this new ArduCAM CC3200 UNO board is your right option.

Feature

  • TI CC3200 ARM Cortex M4 Processor with WIFI support
  • Arduino UNO Size and Pin Out
  • Support ArduCAM Standard Camera Interface and MT9D111 Camera Module
  • Onboard JTAG/SWD Debugger
  • Support Energia and Code Composer Studio Development Environment

Applications Microcontroller Subsystem:

  • ARM Cortex-M4 Core at 80 MHz
  • 256KB RAM, 1MB serial flash memory with file system for user
  • Hardware Crypto Engine for Advanced Fast Security, Including AES, DES, 3DES, SHA2 MD5, CRC and Checksum
  • Up to 27 individually programmable, multiplexed GPIO pins, including a fast parallel camera interface, I2S, SD/MMC, UART, SPI, I2C, and four-channel ADC.

Wi-Fi Network Processor Subsystem:

  • Dedicated ARM MCU, completely offloads Wi-Fi and Internet Protocols from the Application Microcontroller
  • 11 b/g/n Radio
  • WPA2 Personal and Enterprise Security
  • Station, Access Point, and Wi-Fi Direct Modes
  • Powerful Crypto Engine for Fast, Secure Wi-Fi and Internet Connections with 256-Bit AES Encryption for TLS and SSL connections
  • SmartConfig Technology, AP Mode and WPS2 for easy and flexible Wi-Fi provisioning
  • The power-management subsystem includes integrated DC-DC converters supporting a wide range of supply voltages. This subsystem enables low-power consumption modes, such as the hibernate with RTC mode requiring less than 7 μA of current
  • Easy to use SDK with full APIs with lots of examples for Energia, GCC,IAR System and Ti Code Composer Studio (CCS)

Pin Out Diagram

ArduCAM_CC3200_UNO_Pinout

User Guide

ArduCAM_CC3200_UNO_User_Guide

ArduCAM Mini Released

Featured


ArduCAM Mini is optimized version of ArduCAM shield Rev.C, and is a high definition SPI camera, which reduce the complexity of the camera control interface. It integrates 2MP or 5MP CMOS image sensor OV2640/OV5642, and provides miniature size, as well as the easy to use hardware interface and open source code library. The ArduCAM mini can be used in any platforms like Arduino, Raspberry Pi, Maple, Chipkit, Beaglebone black, as long as they have SPI and I2C interface and can be well mated with standard Arduino boards. ArduCAM mini not only offers the capability to add a camera interface which doesn’t have in some low cost microcontrollers, but also provides the capability to add multiple cameras to a single microcontroller.

Features

  • 2MP or 5MP image sensor OV2640 / OV5642
  • M12 mount or CS mount lens holder with changeable lens options
  • IR sensitive with proper lens combination
  • I2C interface for the sensor configuration
  • SPI interface for camera commands and data stream
  • All IO ports are 5V/3.3V tolerant
  • Support JPEG compression mode, single and multiple shoot mode, one time capture multiple read operation, burst read operation, low power mode and etc.
  • 3~10fps video output at low resolution
  • Well mated with standard Arduino boards
  • Provide open source code library for Arduino, STM32, Chipkit, Raspberry Pi, BeagleBone Black
  • Small form of factor

Key Specification

Key Specification 2MP 5MP
Image Sensor OV2640 OV5642
Active array size 1600×1200 2592×1944
Shutter rolling shutter rolling shutter
Lens 1/4 inch 1/4 inch
SPI speed 8MHz 8MHz
Frame buffer Size 384KB 512KB
Board Size 34 x 24 mm 34 x 24 mm
Weight 20g 25g
Temperature -10℃~+55℃ -10℃~+55℃
Power Consumption Normal :5V/70mALow power mode: 5V/20mA Normal :5V/390mALow power mode: 5V/20mA

Pin Definition

Table 1 ArduCAM Mini Pin Definition

Pin No. PIN NAME TYPE DESCRIPTION
1 CS Input SPI slave chip select input
2 MOSI Input SPI master output slave input
3 MISO Output SPI master input slave output
4 SCLK Input SPI serial clock
5 GND Ground Power ground
6 +5V POWER 5V Power supply
7 SDA Bi-directional Two-Wire Serial Interface Data I/O
8 SCL Input Two-Wire Serial Interface Clock

Block Diagram

Figure 2 shows the block diagram of ArduCAM mini shield which is composed by lens, image sensor and an ArduChip. The lens is changeable and can be mounted by S-mount (M12x0.5) or CS-mount lens holder. The ArduChip uses ArduCAM proprietary third generation camera controller technology which handles the complex camera, memory and user interface hardware timing and provides a user friendly SPI interface.

ArduCAM_mini-6

 

 

 

 

 

Functions

  • Single Capture Mode

Single capture mode is the default capture mode of the camera. After issuing a capture command via SPI port, the ArduCAM will wait for a new frame and buffer the one entire image data to the frame buffer, and then assert the completion flag bit in the register. User only needs to poll the flag bit from the register to check out if the capture is done.

  • Multiple Capture Mode

Multiple capture mode is advanced capture mode. By setting the number of frames in the capture register, the ArduCAM will capture consequent frames after issuing capture command. Note that number of frames should be set properly and make sure do not exceed the maximum memory space.

  • JPEG Compression

The JPEG compression function is implemented in the image sensor. With proper register settings to the sensor, user can get different resolution with JPEG image stream output. It is recommended to use JPEG output to get higher resolution than RGB mode, due to the limitation of frame buffer.

  • Normal Read and Burst Read Operation

Normal read operation reads each image data by sending a read command in one SPI read operation cycle. While burst read operation only need to send a read command then read multiple image data in one SPI read operation cycle. It is recommended to use burst read operation to get better throughput performance.

  • Rewind Read Operation

Sometimes user wants to read the same frame of image data multiple times for processing, the rewind read operation is designed for this purpose. By resetting the read pointer to the beginning of the image data, user can read the same image data from the start point again.

  • Low Power Mode

Some battery power device need save power when in the idle status, the ArduCAM offers the low power mode to reduce power consumption, by shutdown the sensor and memory circuits.

  • Image Sensor Control

Image sensor control function is implemented in the image sensor. By setting proper set of register settings, user can control the exposure, white balance, brightness, contrast, color saturation and etc.

Use Guide and Reference Manual

ArduCAM_Mini_2MP_Camera_Shield_DS

ArduCAM_Mini_2MP_Camera_Shield_Hardware_Application_Note

ArduCAM_Mini_5MP_Camera_Shield_DS

ArduCAM_Mini_5MP_Camera_Shield_Hardware_Application_Note

ArduCAM_Camera_Shield_Software_Application_Note

Video Demonstration

RGB565 Format and Issues

The image sensors supports kinds of output formats like Raw RGB Bayer, YUV, JPEG, RGB565, RGB555, RGB444 and etc. In preview mode RGB output is preferred and it can be changed to other format when capture mode. In ArduCAM shield the LCD screen only support RGB565 data format, so when we do preview on the screen, we have to configure the sensors to RGB565 output format. Then the ArduCAM shield will display the image directly from the sensor to LCD screen without intervention of the Arduino board.

In this case the pixel data from the image sensors is ordered as RGB565 format, which means one pixel is composed by two consecutive bytes, the first byte is R[4:0]G[5:3] and the second byte is G[2:0]B[4:0]. The following picture show the RGB565 output timing and data ordering.

RGB565_timing

If the two bytes are disordered when saving to file, the color will be wrong. The same shoot but with different byte order the saved image will be different.

normal_image

 

 

 

disorder_image

 

 

 

 

 

 

 

 

 

Sometimes we don’t know the order of the consecutive bytes at the beginning of the horizon signal HREF(Line_valid). To work around this issue ArduCAM example sketches try to read the first dummy byte from the FIFO to adjust the byte order before saving to a file.

  //Write the BMP header
  for( i = 0; i < BMPIMAGEOFFSET; i++)
  {
    char ch = pgm_read_byte(&bmp_header[i]);
    buf[k++] = ch;
  }
  outFile.write(buf,k);
  //Read first dummy byte
  //myCAM.read_fifo();

  k = 0;
  //Read 320x240x2 byte from FIFO
  //Save as RGB565 bmp format
  for(i = 0; i < 240; i++)
    for(j = 0; j < 320; j++)
  {
      VH = myCAM.read_fifo();
      VL = myCAM.read_fifo();
      buf[k++] = VL;
      buf[k++] = VH;
      //Write image data to bufer if not full
      if(k >= 256)
      {
        //Write 256 bytes image data to file from buffer
        outFile.write(buf,256);
        k = 0;
      }
  }

 

How to use ArduCAM with Arduino DUE board

User frequently reported that the ArduCAM shield doesn’t work with DUE board, and it is now a known issue.

We figured out that in the Due board the default SD library speed is much faster than ArduCAM shield. The current ArduCAM shield SPI timing only supports less than 10Mbps.  So if you want to work ArduCAM and DUE board together, the SPI should be configured with the lower speed.

To work around this issue, you have to modify the SD library below.
1. Please add the last line to \libraries\SD\utility\Sd2Card.h like follows.
/** Set SCK to max rate of F_CPU/2. See Sd2Card::setSckRate(). */
uint8_t const SPI_FULL_SPEED = 0;
/** Set SCK rate to F_CPU/4. See Sd2Card::setSckRate(). */
uint8_t const SPI_HALF_SPEED = 1;
/** Set SCK rate to F_CPU/8. Sd2Card::setSckRate(). */
uint8_t const SPI_QUARTER_SPEED = 2;
uint8_t const SPI_ARDUCAM_SPEED = 3;

 

2. Please change the SDClass::begin() function in the \libraries\SD\SD.cpp file like follows:
boolean SDClass::begin(uint8_t csPin) {
/*
 
Performs the initialisation required by the sdfatlib library.
 
Return true if initialization succeeds, false otherwise.
 
*/
//return card.init( SPI_FULL_SPEED, csPin) &&
//return card.init(SPI_HALF_SPEED, csPin) &&
//return card.init(SPI_QUARTER_SPEED, csPin) &&
return card.init(SPI_ARDUCAM_SPEED, csPin) &&
volume.init(card) &&
root.openRoot(volume);
}

 

Hardware

This section describe the ArduCAM shield Rev.C hardware feature and user guide. For information about Rev.B, please refer here.

Introduction

ArduCAM shield hardware integrates all the necessary components to interface with camera modules. User only need a extra support camera modules and a TF/SD card to start image capture.

The shield provide the following features:

  • Dedicate DigtalVideoPort Camera Module Interface
  • Standard SPI slave bus interface
  • 3.2” TFT Color LCD Screen(a)
  • Build-in 3Mbit FIFO Memory
  • TF/SD Card Reader with LED indicator
  • Use Arduino SPI / I2C dedicate pin out
  • Well mated with UNO/MEGA2560/DUE/Leonardo boards

Note: (a) Model ArduCAM-F doesn’t not include a 3.2” LCD screen

ArduCAM Shield Pin Out

ArduCAM shield includes to sets of pin out see Figure 1,  they are identical in function. One is Arduino standard, it can be well mate with standard Arduino boards like UNO, MEGA2560, Leonardo and DUE etc. The other one is alternative port which can be connect to any platform like Raspberry Pi. The detail pin out for each see Table 1 and Table 2.

Figure 1 ArduCAM pin out

ArduCAM_Pinout

 

 

 

 

 

 

Continue reading “Hardware” »