I'm trying to make a sound level display, simply to tell the user how loud nearby sounds are. The issue is this data, which I collected in a near silent environment (it's night, and I can't make out any distinct sounds):
521 ... 214 ... 614 ... 79 ... 698 ... 11 ... 636 ... 136 ... 544 ... 291 ... 424 ... 440 ... 301 ... 547 ... 179 ... 636 ... 47 ... 691 ... 21 ... 616 ... 173 ... 511 ... 336 ... 395 ... 474 ... 270 ... 571 ... 144 ... 656 ... 25 ... 683 ... 35 ... 580 ... 227 ... 459 ... 373 ... 358 ... 475 ... 261 ... 541 ... 165 ... 600 ... 83 ... 601 ... 103 ... 640 ... 138 ... 545 ... 291 ... 425 ... 439 ... 304 ... 545
The values range from 11 to 698, which is a pretty large difference (in my admittedly limited experience) and has a load of different values inbetween.
The issue is that creating a sound near it like a finger snap or tapping on it barely affects it. The most I could get it to with what I'd presume to be fairly loud sounds to a piezo (finger clicks, that kind of thing) was 745. You'd assume from the ambient sound range from 11--698 and the loud sound bringing it over to 745, that I was barely making a sound.
Bringing it back to the original question: Why is my piezo so innacurate? Is it just insensitive?
I suspect it may be related to this question but I can't be sure if all piezos are like this, or just when they're powered by USB.
EDIT:
Running on an Arduino Uno R3, connected to a laptop using a USB cable through a 2.0 port. The piezo sensor is the PKM22EPP-40 (I believe this is relevant.) It's the one in the official Arduino starter kit.
Using 5V output* from the Arduino. There's also a 16x2 LCD and a potentiometer running on the same line.
*This could be completely the wrong term.
EDIT:
The piezo: Piezo capsule [PKM17EPP-4001-B0]