Simple keyboard using the tone() function using Arduino

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



Arduino Simple keyboard

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 groud on each input line.

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


Arduino Simple keyboard Schematic


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.

Here’s the main sketch:


Plays a pitch that changes based on a changing analog input

* 3 force-sensing resistors from +5V to analog in 0 through 5
* 3 10K resistors from analog in 0 through 5 to ground
* 8-ohm speaker on digital pin 8

created 21 Jan 2010
modified 9 Apr 2012
by Tom Igoe

This example code is in the public domain.


Major Components in Project

Hardware Required

  • 8-ohm speaker
  • (3) force sensing resistors
  • (3) 10k ohm resistors
  • (1) 100 ohm resistor
  • breadboard
  • hook up wire

This Post / Project can also be found using search terms:

  • simple bluetooth circuit
  • arduino multi tone synthesizer
  • simple keyboard using the tone() function using proteus
  • tone keyb

Leave a Comment

= 3 + 8

(Spamcheck Enabled)

Read previous post:
Arduino buttons
Accessing 5 buttons through 1 Arduino pin

I made the original Instructible that this is based on over a year ago (You can see it here to...

Scroll to top