Friday, July 15, 2016

Filled Under: , , , , , ,

Pitch follower using the tone() function

Arduino Arduino UNO R3 Basic LDR library photoresistor speaker

This example shows how to use the tone() command to generate a pitch that follows the values of an analog input. Using a photoresistor (LDR) your Arduino board becomes a simplified light theremin.

Step 1: What You Need?

1 x Arduino Board (Arduino UNO used in this tutorial)
1 x 8 Ohm Speaker
1 x Light Dependent Resistor (LDR) / Photoresistor
1 x Mini Breadboard
Male-to-Male Jumper Wires 

Don't have components? Don't worry. Just click the component's name. 


Step 2: Build Your Circuit.

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.




Step 3: Upload The Code.

1. Select the Arduino board type: Select Tools >> Board >> Select your correct Arduino board used.



2. Find the port number by accessing device manager on Windows. See the section Port (COM&LPT) and look for an open port named "Arduino Uno (COMxx)". If you are using a different board, you will find a name accordingly. What matters is the xx in COMxx part. In my case, it's COM3. So my port number is 3.

Select the right port: Tools >> Port >> Select the port number.





3. You can find this code in the example of Arduino IDE.
Select File >> Examples >> 02.Digital >> tonePitchFollower


Click press the "upload" button (see the button with right arrow mark).
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 - 1,500 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 1,000. Change the values in the map() command to match the range for your sensor.




Download: 


Unknown

Author & Editor

My Robot Education Sdn. Bhd. (Robotedu.my) was founded in 2015 as the first robotics education centre in Malaysia to provide Arduino-based robotics courses for youths. Our vision is to be able to provide robotics education to every youth in Malaysia.

0 comments:

Post a Comment

 

  • Copyright © Arduino Tutorial ™ is a registered trademark.
    Designed by Templateism. Hosted on Blogger Templates.