Files
J1B3-Sensor-boxes/arduino/Mic/Mic.ino
Dano van den Bosch 613a01924d Mic arduino files
2024-02-15 16:29:36 +01:00

41 lines
1.0 KiB
C++

const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
int const AMP_PIN = 7; // Preamp output pin connected to A0
unsigned int sample;
void setup()
{
Serial.begin(9600);
}
void loop()
{
unsigned long startMillis = millis(); // Start of sample window
unsigned int peakToPeak = 0; // peak-to-peak level
unsigned int signalMax = 0;
unsigned int signalMin = 1024;
// collect data for 50 mS and then plot data
while (millis() - startMillis < sampleWindow)
{
sample = analogRead(AMP_PIN);
if (sample < 1024) // toss out spurious readings
{
if (sample > signalMax)
{
signalMax = sample; // save just the max levels
}
else if (sample < signalMin)
{
signalMin = sample; // save just the min levels
}
}
}
peakToPeak = signalMax - signalMin; // max - min = peak-peak amplitude
if (peakToPeak == 4294966272){
peakToPeak = 0;
}
Serial.println(peakToPeak);
//double volts = (peakToPeak * 5.0) / 1024; // convert to volts
//Serial.println(volts);
}