Code Shield Piezo Test and Demo

This Sketch Plays a simple melody in the setup function to test the operation of the Piezo audio transducer.

/*

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 };

/* Diyode CodeShield Base Script */

#define ENCODER_A 14

#define ENCODER_B 15

#define ENCODER_PORT PINC

#define SWITCH 13

#define BUTTON 12

#define RGB_RED 11

#define RGB_GREEN 10

#define RGB_BLUE 9

#define LED 6

#define SERVO 5

#define PIEZO 3

#define RELAY 2

#define POT 2

#define HALL 3

#define THERMISTOR 4

#define PHOTOCELL 5

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(PIEZO, 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(PIEZO);

}

}

void loop() {

//digitalWrite(LED, digitalRead(BUTTON));

}