diff options
| author | Christopher Peplin <chris.peplin@rhubarbtech.com> | 2014-09-09 23:09:35 -0400 |
|---|---|---|
| committer | Christopher Peplin <chris.peplin@rhubarbtech.com> | 2014-09-09 23:17:15 -0400 |
| commit | c86ce093ce93eb8da1136acd1e81973ef0bb54fc (patch) | |
| tree | 9113fe08113c3548b84ba02b4d55db8cee49395f /tests/toneMelody/toneMelody.ino | |
| parent | e30bb5c28a42152007d70325477f364605b73f34 (diff) | |
Add a script to compile examples as an automated test suite.
* Added script/boostrap.sh to download the Arduino IDE and MPIDE (for
chipKIT). Tested in Linux, should work in Cygwin and OS X too.
* Added script/runtests.sh to run "make" in each example project and
collect the results. The script returns -1 if any fails.
* Moved currently testable examples to a "tests" directory, separate
from examples that require alternative cores.
Diffstat (limited to 'tests/toneMelody/toneMelody.ino')
| -rw-r--r-- | tests/toneMelody/toneMelody.ino | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/toneMelody/toneMelody.ino b/tests/toneMelody/toneMelody.ino new file mode 100644 index 0000000..8593ab7 --- /dev/null +++ b/tests/toneMelody/toneMelody.ino @@ -0,0 +1,49 @@ +/* + Melody + + Plays a melody + + circuit: + * 8-ohm speaker on digital pin 8 + + created 21 Jan 2010 + modified 30 Aug 2011 + by Tom Igoe + +This example code is in the public domain. + + http://arduino.cc/en/Tutorial/Tone + + */ + #include "pitches.h" + +// notes in the melody: +int melody[] = { + NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4}; + +// note durations: 4 = quarter note, 8 = eighth note, etc.: +int noteDurations[] = { + 4, 8, 8, 4,4,4,4,4 }; + +void setup() { + // iterate over the notes of the melody: + for (int thisNote = 0; thisNote < 8; thisNote++) { + + // to calculate the note duration, take one second + // divided by the note type. + //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. + int noteDuration = 1000/noteDurations[thisNote]; + tone(8, melody[thisNote],noteDuration); + + // to distinguish the notes, set a minimum time between them. + // the note's duration + 30% seems to work well: + int pauseBetweenNotes = noteDuration * 1.30; + delay(pauseBetweenNotes); + // stop the tone playing: + noTone(8); + } +} + +void loop() { + // no need to repeat the melody. +} |
