Interesting discovery on new UNO Shield PCB I designed.
It is quite common to connect a piezo directly to an Arduino UNO pin to play tones. In my case I was playing tones on pin 4 connected directly to a CEM-1203 piezo. And I am using a button to trigger interrupts on pin 3 (interrupt #1) configured as input pull-up. Whenever tones were played, interrupts were constantly falsely triggering.
I researched the piezo and measure DC resistance of about 42 ohms, and an AC impedance of about 140 ohms at 1000hz sine. Assuming my rudimentary impedance measurement is close, this is about 36ma average current delivered by the tone pin of micro. The absolute maximum pin DC current is stated to be 40ma, so it is running close to max specs. I tried moving tone to pin 13 (built-in LED), and the same false triggering occurs. If I put 100 ohm resistor in series with the piezo, false interrupt triggering disappears. The 100 ohm resistor sets the pin current to around 21ma. But I don't think its the average current causing the problem, but rather current spikes of the tone square wave wreaking havoc with the internal digital logic.
Just my thoughts... I welcome yours.