Table des matières:
Vidéo: Arduino Soundlab : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
C'est incroyable ce qu'un large éventail de sons étonnants peut être généré avec la technique de synthèse FM, même en utilisant un simple Arduino. Dans un précédent instructable, cela a été illustré avec un synthétiseur qui avait 12 sons préprogrammés, mais un spectateur a suggéré qu'il serait beaucoup plus cool d'avoir un contrôle total des paramètres sonores avec des potentiomètres, et c'est ainsi !
Dans ce laboratoire sonore, les tonalités peuvent être contrôlées par 8 paramètres: 4 pour l'enveloppe ADSR du loudness et 4 pour la modulation de fréquence qui détermine la texture.
L'ajout des 8 potentiomètres ne s'est pas fait au détriment du nombre de touches: trois jeux de 8 touches sont lus quelques microsecondes l'un après l'autre, pour un total de 24 touches, correspondant à deux octaves pleines. En fait, deux broches Arduino ne sont pas utilisées et une extension à 40 touches serait possible.
Regardez la vidéo pour savoir comment faire des sons sauvages, voici un bref aperçu:
* A=attaque: temps pour qu'une tonalité atteigne son volume maximum (plage 8ms-2s)
* D=décroissance: temps nécessaire pour qu'une tonalité descende jusqu'à son niveau d'intensité constant (plage 8 ms-2 s)
* S=soutenir: niveau d'intensité constant (plage de 0 à 100 %)
* R=relâchement: temps pour qu'une tonalité s'éteigne (plage 8ms-2s)
* f_m: rapport de la fréquence de modulation à la fréquence porteuse (plage 0,06-16) les valeurs inférieures à 1 donnent des nuances, des valeurs plus élevées en nuances
* beta1: amplitude de la modulation FM au début de la note (plage 0,06-16) les petites valeurs entraînent des variations mineures de la texture sonore. des valeurs élevées donnent des sons fous
* beta2: amplitude de la modulation FM en fin de note (plage 0.06-16) Donner à beta2 une valeur différente de beta1 pour faire évoluer la texture sonore dans le temps.
* tau: vitesse à laquelle l'amplitude FM évolue de beta1 à beta 2 (plage 8ms-2s) Les petites valeurs donnent un coup court en début de note, les grandes valeurs une évolution longue et lente.
Étape 1: Construction
Clairement, c'est encore un prototype, j'espère qu'un jour moi ou quelqu'un d'autre construira ce gros et fort et beau avec de grandes touches et de vrais cadrans pour les potentiomètres dans un boîtier génial….
Composants nécessaires:
1 Arduino Nano (Il ne fonctionnera pas avec le Uno, qui n'a que 6 entrées analogiques)
24 boutons poussoirs
8 potentiomètres, dans la gamme 1kOhm - 100kOhm
1 potentiomètre de 10kOhm pour le contrôle du volume
1 condensateur - 10 microfarad électrolitique
1 prise casque 3,5 mm
1 puce d'amplificateur audio LM386
2 condensateur électrolitique 1000microfarad
1 condensateur céramique 1microfarad
1 micro-interrupteur
1 haut-parleur 8Ohm 2Watt
1 planche prototype 10x15cm
Assurez-vous de bien comprendre les schémas ci-joints. Les 24 boutons se connectent en 3 groupes de 8, à lire en D0-D7, et à activer en D8, D10 et D11. Les pots ont +5V et la masse sur les prises d'extrémité et les prises centrales sont alimentées aux entrées analogiques A0-A7. D9 a la sortie audio et est couplé en courant alternatif à un potentiomètre de 10 kOhm pour le contrôle du volume. Le son peut être écouté directement avec des écouteurs ou amplifié avec une puce d'amplificateur audio LM386.
Tout tient sur une carte prototype de 10x15 cm, mais les boutons sont trop proches pour bien jouer, il serait donc préférable de construire un clavier plus grand.
Le circuit peut être alimenté via la connexion USB sur l'Arduino Nano, ou avec une alimentation externe 5V. Un boîtier de piles 2xAA suivi d'un convertisseur élévateur est une solution d'alimentation parfaite.
Étape 2: Logiciel
Téléchargez le croquis ci-joint sur l'Arduino Nano et tout devrait fonctionner.
Le code est simple et facile à modifier, il n'y a pas de code machine et pas d'interruptions, mais il y a quelques interactions directes avec les registres, pour interagir avec la minuterie, pour accélérer la lecture des boutons et pour contrôler le comportement de l'ADC pour la lecture du potentiomètre
Étape 3: Améliorations futures
Les idées de la communauté sont toujours les bienvenues !
Je suis le plus gêné par les boutons: ils sont minuscules et cliquent fort lorsqu'on les pousse. Ce serait vraiment bien d'avoir des boutons plus gros et plus confortables à pousser. De plus, des boutons sensibles à la force ou à la vitesse permettraient de contrôler le volume des notes. Peut-être que les boutons-poussoirs à 3 voies ou les boutons tactiles pourraient fonctionner ?
D'autres bonnes choses seraient de stocker les paramètres sonores dans l'EEPROM, le stockage de courtes mélodies dans l'EEPROM permettrait également de faire de la musique beaucoup plus intéressante. Enfin, des sons plus complexes pourraient être générés, si quelqu'un sait comment générer des sons de percussion de manière efficace sur le plan informatique, ce serait génial…
Conseillé:
Système d'alerte de stationnement en marche arrière Arduino - Étapes par étape : 4 étapes
Système d'alerte de stationnement en marche arrière Arduino | Étapes par étape : dans ce projet, je vais concevoir un circuit de capteur de stationnement inversé pour voiture Arduino simple à l'aide d'un capteur à ultrasons Arduino UNO et HC-SR04. Ce système d'alerte de marche arrière basé sur Arduino peut être utilisé pour une navigation autonome, une télémétrie de robot et d'autres r
Arduino Halloween Edition - Écran pop-out Zombies (étapes avec images) : 6 étapes
Arduino Halloween Edition - Écran pop-out Zombies (étapes avec images): Vous voulez effrayer vos amis et faire du bruit à Halloween? Ou vous voulez juste faire une bonne farce ? Cet écran pop-out Zombies peut le faire ! Dans ce Instructable, je vais vous apprendre à créer facilement des zombies sautés à l'aide d'Arduino. Le HC-SR0
Arduino Uno Fish Feeder en 6 étapes économiques et faciles ! : 6 étapes
Arduino Uno Fish Feeder en 6 étapes faciles et bon marché ! : Un peu d'histoire peut donc être nécessaire pour ce projet. Les personnes ayant des poissons de compagnie ont probablement été confrontées au même problème que moi : les vacances et l'oubli. J'oubliais constamment de nourrir mon poisson et je me débrouillais toujours pour le faire avant qu'il n'aille à s
Lévitation acoustique avec Arduino Uno étape par étape (8 étapes): 8 étapes
Lévitation acoustique avec Arduino Uno étape par étape (8 étapes) : transducteurs de sons à ultrasons L298N Alimentation adaptateur femelle CC avec une broche CC mâle Arduino UNOBreadboardComment cela fonctionne : Tout d'abord, vous téléchargez le code sur Arduino Uno (c'est un microcontrôleur équipé de et des ports analogiques pour convertir le code (C++)
Système d'alarme incendie utilisant Arduino [en quelques étapes faciles] : 3 étapes
Système d'alarme incendie utilisant Arduino [en quelques étapes faciles] : Vous cherchez à faire un projet simple et intéressant avec Arduino qui en même temps pourrait être vraiment utile et potentiellement sauver des vies ? Si oui, vous êtes au bon endroit pour apprendre quelque chose de nouveau et d'innovant. Dans cet article, nous allons