Building the phototrap. Part 5: The long range infra-red beam sensor

All the phototraps that I’ve seen on the internet include some variation on the infra-red beam breaking sensor. The technique is simple to explain. You place an infra-red source directly in-line with an infra-red emitter and when an object comes between the two you trigger the camera, or...

Building the phototrap. Part 3: Control unit assembly

In the previous article in this series I explained the steps necessary to build the control board. Now, with that completed we are ready to prepare the box that will contain all the components. Back in part 1 I presented a photograph of the box that I’d found to hold the project. Here it...

The Standard Template Library (STL) for AVR with C++ streams Jan15

The Standard Template Library (STL) for AVR with C++ streams

Yes you did read that correctly, this post will present a port of the Standard Template Library, or STL as it’s more commonly known, to the AVR microcontrollers. Introduction The STL has been around forever in computing terms with copyright notices appearing in the source code as far...

Debugging AVR dynamic memory allocation Jan01

Debugging AVR dynamic memory allocation

The avr-libc port of the standard C library for gcc supports dynamic memory allocation through malloc() and free(). These functions (particularly when used to implement the new and delete C++ operators) allow you to use more memory throughout the life of your program as it’s needed than...

Building the phototrap. Part 2: The control unit electronics

In part one of this series I documented the requirements for my phototrap project and chose the major components that I will use. This article will document the electronics used inside the control unit. The camera triggers When a sensor (or sensors) is triggered we are going to allow the user...

Building the phototrap. Part 1: Design.

Welcome to the first in a series of posts where I will document the design and build of a microcontroller based camera/flash phototrap that can support multiple sensors and multiple cameras and flashes. The problem As many of you are aware I have a keen interest in bird photography,...

Animation on the Arduino with easing functions Dec05

Animation on the Arduino with easing functions

In this article I’ll show you how to do advanced animation techniques on the Arduino using what are known as easing functions. What’s an easing function? Computer animation of motion involves making an object appear to move from A to B over some time period T. The simple way to do...

LCD backlight and contrast manager Nov28

LCD backlight and contrast manager

This article will present a circuit and accompanying source code that you can use to control the backlight and contrast functions of an HD44780-compatible LCD. Controlling these functions from software allows you to cut down on external components such as dials, saving you space and...