### BUILD a square wave signal generator

There are occasions when a circuit needs to be fed with a square wave signal. To provide for such a scenario, we will build a square wave signal generator that uses a 555. A 555 can be configured to run in 3 different modes, the one that we are concerned with here is called the…

### BUILD a rolling LED die

OBJECTIVE The objective of this project is to simulate a rolling die. I will use LEDs arranged in the pattern of a conventional die and give the illusion that it is ‘rolling’ as a number is randomly chosen. THE CODE The first thing that I did was to create and initialise an array, with the…

### BUILD a GPIO extender

The problem There may be occasions when you have a microcontroller that does not have enough GPIO pins for a circuit! Your circuit may require a large number of switches or LEDs, which would use up lots of GPIO pins. It’s likely that you will need some of the GPIO pins for other parts of…

### BUILD a binary counter

OBJECTIVE We will build an 8-bit binary counter. This means that it will be able to count from 0 to 255, which in binary is 00000000 to 11111111. An LED that is off will represent a binary 0 and an LED that is on will represent a binary 1. Since computers count in binary, this…

### BUILD a voltmeter

OBJECTIVE The objective of this project is a build a voltmeter that can measure voltages between 0 and 30V. I will use the analog inputs of an Arduino to measure the voltage, via a voltage divider. When an Arduino is powered from a 5V supply the maximum voltage that could be measured is 5V. However,…

### BUILD a thermometer

OBJECTIVE In this project we will build a device for measuring temperature. THE HARDWARE You can use an UNO or MEGA There are a number of sensors that I could have used to make this thermometer but I chose the LM35. I chose the LM35 because of its precision. The LM35 has an output voltage…

### BUILD a frequency counter

THE OBJECTIVE Our objective is to build a frequency counter that can identify frequencies up to 1MHz. pulseIn() pulseIn() reads a pulse on a pin and waits for a change from HIGH to LOW or LOW to HIGH. This works with times that are between 10μs and 180s. You can provide either two or three…

### BUILD a passive infrared motion detector

OBJECTIVE We will build a passive infrared motion detector that can detect movement from distances that are between 3m and 7m. THE SCIENCE All objects that have a temperature above absolute zero (0 ° Kelvin/-273.15 ° C/-459.67 ° F) emit heat in the form of infrared radiation. The hotter the object is, the more radiation…

### BUILD a range finder

OBJECTIVE A range finder is a device that is used to find the distance between two points, using a technique known as ranging. In this project we will design and build a range finder that can measure how far away an object is, from 2 cm to 4 m (0.79 in to 13.12 ft). The…

### BUILD a traffic light

OBJECTIVE For this project we will build a single traffic light that follows the correct sequence (in the UK) of RED, RED and AMBER, GREEN, AMBER, RED. THE HARDWARE We will need a red, orange (or yellow) and green LED; 3 220Ω resistors and your Arduino. THE CIRCUIT THE CODE The first thing that we…