#define SPEAKER 8
unsigned long cm = 0;
unsigned long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT); // Clear the trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
// Reads the echo pin, and returns the sound wave travel time in microseconds
return pulseIn(echoPin, HIGH);
}
double bpm = 116.0 * 2.0;
double ms_delay;
void setup() {
pinMode(SPEAKER, OUTPUT);
ms_delay = 60000.0 / bpm;
}
void loop() {
cm = readUltrasonicDistance(3, 2);// / 58;
tone(SPEAKER, cm, 100);
delay(ms_delay);
}