raspberrypi / pico-examples

BSD 3-Clause "New" or "Revised" License
2.84k stars 820 forks source link

Add tone generation example using PWM and piezo buzzer or a speaker #444

Closed jcarranz97 closed 1 month ago

jcarranz97 commented 10 months ago

NOTE - This PR depends on https://github.com/raspberrypi/pico-sdk/pull/1569 as it uses pico\tone.h library.

This example demonstrates how to use the tone library to generate tones using a piezo buzzer or a speaker.

The tone() function is similar to tone() from Arduino.

In this example, the Raspberry Pi Pico performs "Silent Night" melody to demonstrate how to reproduce tones that become melodies :notes: (I am using this to put some music on my Christmas Tree 🎄 🎅🏿 ).

Thanks!

peterharperuk commented 9 months ago

What piezo are you using? The only one I had sounds terrible!

jcarranz97 commented 9 months ago

What piezo are you using? The only one I had sounds terrible!

It is basically a passive buzzer (which does not make any sound when you directly give power). https://samueladesola.medium.com/how-to-play-the-musical-notes-on-the-arduino-1e9505d00c60#:~:text=Unlike%20the%20active%20buzzer%20that,%2C%20E%2C%20F%2C%20G.

image

lurch commented 4 months ago

As this now depends on https://github.com/raspberrypi/pico-extras/pull/70 I believe this PR ought to be closed and a similar one re-opened on the https://github.com/raspberrypi/pico-playground repo @jcarranz97

EDIT: Converted this PR to draft to stop it being accidentally merged.