Friday, July 15, 2016

Filled Under: , , , ,

Simple keyboard using the tone() function

Arduino Arduino UNO R3 Basic library speaker

This example shows how to use the tone() command to generate different pitches depending on which sensor is pressed.

Step 1: What You Need?

1 x Arduino Board (Arduino UNO used in this tutorial)
3 x 10k ohm resistor
1 x 8 Ohm Speaker
3 x Force Sensing Resistor 
1 x 100 Ohm Resistor 

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 8 through a 100 ohm resistor, and its other terminal to ground.

Power your three FSRs (or any other analog sensor) with 5V in parallel. Connect each sensor to analog pins 0-2, using a 10K resistor as a reference to ground on each input line.

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 >> toneKeyboard



Click press the "upload" button (see the button with right arrow mark).

The sketch below reads three analog sensors. Each corresponds to a note value in an array of notes. If any of the sensors is above a given threshold, the corresponding note is played.

The sketch uses an extra file, pitches.h. This file contains all the pitch values for typical notes. For example, NOTE_C4 is middle C. NOTE_FS4 is F sharp, and so forth. This note table was originally written by Brett Hagman, on whose work the tone() command was based. You may find it useful for whenever you want to make musical notes.

To make the pitches.h file, either click on the button just below the serial monitor icon and choose "New Tab", or use Ctrl+Shift+N. Then paste in the pitches.h code:




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.