Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xitanggg/-pirates-of-the-caribbean-theme-song
Code to play "Pirates of the Caribbean" Theme Song on a Arduino via a Buzzer. Learn how this is built: https://www.tipstory.org/learning/h2lUMccm5MeuSds
https://github.com/xitanggg/-pirates-of-the-caribbean-theme-song
arduino buzzer pirates-of-the-caribean
Last synced: 3 months ago
JSON representation
Code to play "Pirates of the Caribbean" Theme Song on a Arduino via a Buzzer. Learn how this is built: https://www.tipstory.org/learning/h2lUMccm5MeuSds
- Host: GitHub
- URL: https://github.com/xitanggg/-pirates-of-the-caribbean-theme-song
- Owner: xitanggg
- License: mit
- Created: 2016-06-28T02:52:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-03-25T21:49:42.000Z (almost 4 years ago)
- Last Synced: 2024-11-02T02:42:38.022Z (3 months ago)
- Topics: arduino, buzzer, pirates-of-the-caribean
- Language: C++
- Homepage:
- Size: 7.81 KB
- Stars: 56
- Watchers: 6
- Forks: 45
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Play "Pirates of the Caribbean" Theme Song on Arduino and Buzzer 🎵
This file contains the code to play the "Pirates of the Caribbean" Theme Song on a Arduino via a Buzzer
Youtube in action: https://www.youtube.com/watch?v=sjPAj1lXgtk
## 💻 Local testing
1. Download `Pirates_of_the_Caribbean_-_Theme_Song.ino`
2. Connect `Pin 10` of the Arduino to the `positive side` of a buzzer or a microphone
3. Connect any `resistor` (220 ohms for example) to the `negative side` of a buzzer and to the `ground pin` of the Arduino
4. Upload the sketch and enjoy!
## 😎 Virtual testing
Don't have an Arduino with you right now? No worry. You can test it virtually on my [simulated TinkerCAD circuit](https://www.tinkercad.com/things/f9QN4skaguI-play-pirates-of-the-caribbean-theme-song-on-buzzer).
1. Click `Simulate`
2. Click `Start Simulation` and enjoy!
## 📖 Learn more
Want to learn more about the science behind `sound`, `buzzer`, `Arduino tone library`? Check out [my learning note on TipStory](https://www.tipstory.org/learning/h2lUMccm5MeuSds) where I share a step by step walkthrough of the science and how I made this. I would appreciate a helpful upvote and an interesting upvote from you on TipStory.
🚀Happy engineering and designing!
---
This project was first created in 2016. It is recently updated on `2021.03.25`, 5 years later. I know, sorry, I lost track of it, lol. There are a couple of improvements that can be made and have been made with this update:
1. You can remove the paper seal on the buzzer to make it sound better (Thanks [Ricardo Moreno](https://www.youtube.com/channel/UCbDCjdszaIdDOyXNRgMlgIg) for the suggestion)
2. `songSpeed` and `wait` are converted to `float` type (Thanks [Andrew Lalis](https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ) for catching the bug)
3. `noTone` is used to handle malperformance of some Arduinos (Thanks [Anthony Pelletier](https://www.youtube.com/channel/UCezmpHibpkbXa_3wSeJNLAQ) for bringing up this issue)
4. In my previous comment, I said you can only use PWM pins for the buzzer. That is not true and has been corrected. You can use any digital pin `pin 0-13`. The [tone library](https://github.com/bhagman/Tone) uses a hardware timer and a timer interrupt to generate a square wave with different frequency, so it works on any digital pin. Beware that this might interfere with PWM when you use `analogWrite` because PWM also uses a timer.
5. Better coding style, format, variable names... (I have learned a lot more about coding since I first exposed to C++ 5 years ago)