This book is a great investment for those interested in developing camera related projects for the Arduino. These camera applications can involve security, surveillance, photography, toys, robots, and drones. Specifically, this book covers the Omnivision ov7670 digital camera and its use with the Arduino microcontroller. This book takes an interactive hands on approach and shows the reader in a step by step guide how to use the ov7670 with the Arduino and an SD card reader/writer to take photos, save them to an SD card, and then to convert them to an easily viewable format. This book will save you many hours or even weeks of frustration in trying to get this camera to work correctly. This book also gives you the basic background on the Arduino and digital cameras in general so that you will be able to develop camera projects for cameras other than the ov7670.
Who this book is for:
1. Beginners to the Arduino interested in developing custom Arduino camera related projects that are suitable for photography, surveillance, security applications or for use with drones and robots.
2. High school and university students needing a quick start guide to using a low cost digital camera in their school projects.
Key Selling Points:
1. Provides an interactive "hands on example" based beginner's quick start guide to using the extremely popular Omnivision ov7670 camera with the Arduino including using the undocumented features and incorrectly documented features that are necessary to get the camera to operate correctly.
2. Provides a good starting point for Arduino based camera applications as diverse as image processing, photography, surveillance, and home security with professional quality reusable code for the reader to use in his or her own projects.
3. Covers the FIFO version of the ov7670 which is the preferred camera version for most camera projects.
Table of Contents:
Chapter 1: Introducing the Omnivision OV7670 Camera
A. What is the OV7670 Camera?
B. Key Camera Terminology
C. OV7670 Camera with AL422B FIFO Memory Overview
D. Summary of Steps Needed for Taking a Photo
Chapter 2: Introducing the Arduino
A. What is an Arduino?
B. The Arduino Mega 2560
C. Arduino Development System Requirements
D. Arduino Software IDE
E. Hands on Example: A simple Arduino "Hello World" program with an LED
Chapter 3: Arduino Programming Language Basics
A. C/C++ Language for Arduino Overview
Chapter 4: Digital Design Review
A. How Data is Stored in the ov7670 Camera
B. Decimal Numbers (Base 10 Representation)
C. Binary Numbers (Base 2 Representation)
D. Hexadecimal Numbers (Base 16 Representation)
E. Converting a Binary Number (Base 2) to a Hex Number (Base 16)
F. Converting a Hexadecimal Number (Base 16) to a Binary Number (Base 2)
G. Hands On Example: Setting Registers on the OV7670 Camera
H. Boolean Variables, Logic and Truth Tables
I. The Clock Pulse
J. Reading Schematics
K. Design Overview for the OV7670 Camera with FIFO Memory
Chapter 5: Taking Photos with the Omnivision ov7670 Camera - Part 1
A. Overview of SD Card Storage for the Arduino
B. Overview of Arduino's I2C Interface
C. Hands on Example: Testing the I2C Interface with the OV7670 Camera
D. Overview of the Omnivision ov7670 FIFO Camera Image Capture Software
E. Overview of FFMPEG
Chapter 6: Taking Photos with the Omnivision ov7670 Camera - Part 2
A. Hands on Example: Taking a picture with the camera, saving the picture to the SD card storage, and viewing the image on your computer.
Appendix A: Camera Register Defines
Appendix B: Image Capture Program Variables
About the Author: Robert Chin has a Bachelor of Science degree in computer engineering and is experienced in Arduino camera development, C/C++, Unreal Script, Java, DirectX, OpenGL, and OpenGL ES 2.0. He has written 3d games for the Windows, and Android platforms. He is the author of "Beginning Android 3d Game Development", and "Beginning IOS 3d Unreal Games Development" both published by Apress and was the technical reviewer for "UDK Game Development" published by Course Technology CENGAGE Learning.