Using piezo discs as buzzer

I got some piezo discs (just the 2 concentric plates connected by wires), but I didn't manage to make them work.
I tried connecting them (negative to GND, postiive to digital pin 10 on arduino nano - which is a PWM pin) and called tone(10, 440), but there's no sound.
Even just connecting them to a 9V battery doesn't make a "click" as expected.

I tried connecting them to a voltmeter and pressing it, then indeed it generates a voltage.

Do I need a higher voltage / am I missing something more basic?

PS: I'm not expecting a loud sound, just some little buzzing - there's nothing

Give us half a chance and post a diagram and/or photos of that.

Those disks have a higher resonant frequency than your 440Hz. Try using a higher one like 1500.

Those tiny disks will have a resonance frequency of several kHz, and to hear anything, you need to send a tone near that. Try 4 kHz as a start.

Post your sketch, too, in case you made a coding error.

I recall people that have made them work, generate AC by using TWO pins and rapidly setting one to HIGH and the other to LOW. Then alternating high-low at the desired frequency.

The diagram is just:
[piezo negative] -> GND
[piezo positive] -> D10

The code is:

void setup() {
  pinMode(10, OUTPUT);
  tone(10, 5000); // changed from 440 to 5000 after feedback here, still doesn't work
}

void loop() {
}

Sure. The Mona Lisa is just

"a lady standing in a field"

A diagram is never just what you can say in some text lines. Countless threads here have proven that. How about a photo, then?

The code looks okay, you probably don't need the pinMode()... PWM functions over-ride the GPIO settings on the MCU. At least, on AVR platform...

Post #5 reminds me, it's true, long term application of DC or a DC bias, can damage a piezo. Short term, it shouldn't be a problem but also driving them from two pins doubles the peak to peak applied voltage.

Man, you're overthinking this. I understand where you're coming from, but this is literally just 2 wires, one plugged to negative and the other to an output pin in the arduino nano (that's connected via USB).

It's time to swap things around to isolate the problem...

If you have powered computer speakers you can connect them to your Arduino to see if any sound is coming out. Or you can try a regular 4 or 8-ohm speaker (or headphones) with a ~120 Ohm resistor in series. A speaker will be quiet with the resistor but it's needed to limit the current and you should still be able to hear it.

Or, you can try using the piezo element as a speaker if you have a way to connect it to a headphone-output, or to an amplifier, etc.

...I don't trust "cheap stuff" from AliExpress, eBay, or 3rd-party Amazon suppliers, etc. But there could be something wrong with the Arduino or the connections and ,"You never know what the problem is until it's fixed."

If it's so simple, why not just comply? We don't know who you are, what your skill level is. It's nothing personal, many people have screamed up and down, "but my circuit is so simple, I don't need to show it to you". Then after pleading and tooth pulling, we find out they made some totally unexpected mistake.

It is to protect us from wasting time. And, the reasons are already further explained in the forum introductory guides.

Ok, turns out when floating on the air this thing doesn't make a noticeable sound :confused:
I suppose I should have suspected that given its size, but at around 3khz and touching a cardboard I noticed it was indeed working.

Thanks for the help everyone!