“You have to ask yourself what IS “the sound of a heartbeat” – To a layman its the bass “lub-dup” you can hear when you put an ear to someone’s chest, whereas a cardiologist is listening to the opening and closing noises of your mitral and aortic valves etc etc.
A: I actually tried this last night. When I pressed the piezo against my skin, it just made a loud buzzing sound no matter where I put it on my skin.
B: From my experiences with piezos this means it’s shorting or you are pressing to hard. Make sure the connections are sound, especially on any audio wires you’ve spliced in, and put something between your hand and the buzzer, maybe even a thin piece of cloth between your neck and the disk too.
I’ve used one up against my throat as a mic but it may not be sensitive enough to pick up a resting heart beat.
C: An electret microphone cartridge would be a good sound pickup. Some are pretty small. You might be able to find one small enough to stick in the end of the stethescope tube. Sparkfun makes one with an atached pre-amp: https://www.sparkfun.com/products/9964?
To power the speakers, we have a nice compact amplifier module: http://www.adafruit.com/products/987