Pitch follower using the tone() function using Arduino

tone function

This example shows how to use the tone() command to generate a pitch that follows the values of an analog inputtone function

Circuit

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Connect one terminal of your speaker to digital pin 9 through a 100 ohm resistor, and its other terminal to ground. Power your photoresistor with 5V, and connect it to analog 0 with the addition of a 4.7K resistor to ground.

Schematic

speaker photocell schematic

Code

The code for this example is very simple. Just take an analog input and map its values to a range of audible pitches. Humans can hear from 20 – 20,000Hz, but 120 – 1500 usually works pretty well for this sketch.

You’ll need to get the actual range of your analog input for the mapping. In the circuit shown, the analog input value ranged from about 400 to about 1000. Change the values in the map() command to match the range for your sensor.

Leave a Comment

Your email address will not be published. Required fields are marked *