I want to use a standard piezo buzzer on one of the Arduino Uno's analog pins without the use of a resistor. Will connecting this be a problem for the Arduino board? Why?
Answer
Specific to a piezoelectric buzzer: Apart from the current limiting concerns as already expressed in other answers, there is an additional risk to a direct connection:
A piezoelectric element or piezo bender (the thin flat circular portion that vibrates to generate sound) can generate large voltages when knocked or tapped: This capability is frequently used in knock sensors, and piezo pick-ups for percussion musical instruments.
The voltages involved can be as high as several tens of volts, for instance if the buzzer falls onto a hard surface. Without some form of protection, such as at the least a resistor in series, such voltages can overcome the ESD protection within the Arduino's microcontroller, and damage the device.
Therefore using a resistor is strongly recommended.
The reverse voltage is more of a concern than drive current, since unlike the magnetic (coil) buzzers some answers refer to, a piezoelectric buzzer consumes very little current for normal operation. Refer to the datasheet for your specific buzzer: operating currents from 5 to 30 mA are common, and won't be a risk to the Arduino.
No comments:
Post a Comment