Générer des Sons Musicaux avec Arduino : Guide Pas à Pas
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Haut-parleur 0,25 W, 8 Ω | 1 |
| Résistance 150–220 Ω (221 Ω recommandé) | 1 |
Applications et services en ligne
- Arduino IDE
À propos du projet
Ce projet montre comment générer de la musique avec un Arduino, un simple haut-parleur et une résistance. Comme beaucoup de projets similaires, il génère des tons correspondant aux notes d'un piano. Mais contrairement à la plupart, il n'utilise pas de table de correspondance (lookup table) pour les fréquences : les tons sont calculés mathématiquement.
Le calcul accepte un nombre de 1 à 88, correspondant aux 88 touches d'un piano standard.
Pourquoi pas la fonction tone() ?
La fonction tone() d'Arduino génère des ondes carrées mais ne descend pas sous 31 Hz. Or, les graves d'un piano 88 touches vont en dessous. Ce projet génère donc les ondes carrées manuellement via delayMicroseconds().
Défis techniques
- Travail au niveau microseconde (1 µs = 10⁻⁶ s)
delayMicroseconds()n'est fiable que pour quelques milliers de µs max, or certaines notes graves nécessitent des délais plus longs → solution contournée dans le code
Malgré ces contraintes, le code tient sur un seul écran (sans commentaires). Version commentée dispo dans la description de la vidéo originale.
Installation Arduino IDE sous Ubuntu
sudo apt update && sudo apt install arduino
Code
Le code complet est disponible via ce Gist GitHub (ID: 1add672bc7957135ac4e212360acbc98).
Schéma
Haut-parleur connecté entre GND et pin 12 via une résistance.
Processus de fabrication
- Créer un système Ambilight spectaculaire pour moniteur avec Arduino
- Construire une télécommande IR universelle avec Arduino : Guide étape par étape
- Créer un bouton clavier personnalisé « frappable » avec Arduino : guide pas à pas
- Connecter un module GPS NEO‑6M à l'Arduino Mega : Guide pas à pas
- Morpion sur matrice LED MAX7219 avec boîtier en carton
- Construire un voltmètre DIY avec Arduino et écran Nokia 5110
- Appareils électroménagers à commande vocale : contrôle Bluetooth avec Google Assistant
- Connecter Arduino à NMEA‑0183 : Guide étape par étape
- Porte automatique Arduino avec capteur ultrasons HC-SR04