Aller au contenu

Votre premier projet musical avec Arduino

Votre premier projet musical avec Arduino

Aujourd’hui, nous vous présentons un nouveau tutoriel Arduino : vous allez apprendre à utiliser un Buzzer piezo électrique monté avec différentes résistances et boutons poussoirs pour finalement former un mini clavier musical.

En effet, notre projet va permettre de créer des sons à l’aide d’un piezo et de boutons à actionner pour modifier la tension du circuit.
Le montage est une nouvelle fois très facile, et le programme est assez accessible.

Objectif : S'initier à l'échelle de résistances avec un montage combinant résistances, boutons poussoirs et buzzer piezzo.

Difficulté : 2/5

Temps d'exécution : 45 min

Matériel nécessaire :

Ce tutoriel peut être réalisé avec les éléments présent dans le kit débutant Arduino en français.

Le montage du piezo, des switches et résistances sur la carte

buzzer piezo arduino et résistances

1.Câblez votre plaque d’expérimentation au Power et au Ground comme sur les autres projets.
Installez le Piezo et connectez une de ses terminaisons au Ground. Câblez l’autre à la broche 8 de votre carte Arduino.

2.Placez les boutons en ligne, comme indiqué sur le schéma. Cette disposition de résistances et boutons alimentant une entrée analogique est appelée une « Resistor ladder ».
Connectez le premier directement sur le Power. Connectez le deuxième, le troisième et le quatrième respectivement via une résistance 220Ohm, une 10KOhm, et une 1MOhm.
Connectez les sorties de ces switchs ensemble, et connectez cette jonction au Ground via une résistance 10KOhm, et également en analogique 0.

Le programme du projet Arduino

Dans ce programme, vous aller avoir besoin de garder une liste de fréquence que vous voulez « jouer » quand vous pressez les boutons.
Vous pouvez commencer avec 262Hz, 294Hz, 330Hz et 349Hz.

1. Créez un tableau (« array » en anglais). C’est une façon de stocker vos variables. Un tableau se déclare simplement avec le nom, des crochets, et le nombre d’éléments à stocker dedans.
Pour lire ou changer les éléments du tableau, il faut utiliser le nom du tableau et l’index entre les []. Ici, nous indiquons que l’index 0 du tableau (premier objet du tableau)contiendra la valeur 2.

int buttons[6];
int buttons[0]=2;

2. Créez un tableau de 4 notes en utilisant la liste de fréquences définie.
Faites de ce tableau une variable globale en la déclarant avant le setup().

int notes[] = {262, 294, 330, 349};

3. Dans le setup(), commencez la communication avec l’ordinateur.

void setup(){
Serial.begin(9600);
}

4. Dans le loop(), déclarez une variable locale pour détenir la valeur lue sur la broche A0.
Chaque bouton étant lié à une résistance différente, chacun va détenir une valeur associée différente. Pour voir ces valeurs, ajoutez Serial.println(keyVal).

void loop(){
int keyVal = analogRead(A0);
Serial.println(keyVal);

5. En utilisant une condition if()else, vous pouvez assigner chaque valeur à une tonalité différente.

if(keyVal == 1023){
tone(8, notes[0]);
}

6. Après chaque condition if(), appelez la fonction tone(). Ce programme prend ses références dans le tableau définissant quelles fréquences jouer. Si la valeur du A0 correspond à l’une des conditions présentes dans les if(), le son correspondant sera joué.
On utilise ici des intervalles afin de laisser un peu de flexibilité : les valeurs peuvent fluctuer légèrement en pressant les boutons.
En pressant le premier bouton, la notes[0] sera jouée, si vous pressez le deuxième, la notes[1], etc.

else if(keyVal>=990 keyVal <= 1010){
tone(8, notes[1]);
}
else if(keyVal>=505 keyVal<=515){
tone(8, notes[2]);
}
else if(keyVal>=5 keyVal<=10){
tone(8, notes[3]);
}

7. Pour arrêter de jouer les notes quand il n’y a pas de bouton pressé, appelez la fonction noTone().

else{
notone(8);
}
}

Lorsque tout est prêt, lancez le programme et actionnez les boutons, vous entendrez alors les tonalités définies !

Intégrer ce type de programme dans un projet robotique

Bravo ! Vous venez de réaliser un projet Arduino complexe, qui pourrait être intégré à un projet robotique plus complet. Vous pourriez peut-être l’intégrer à un robot utilisant des LEDs et servomoteurs. Vos seules limites seront celles de votre imagination ;)

Cet article vous a plu ? Laissez-nous un commentaire !

Tous les champs sont obligatoires

Nom:
E-mail: (ne sera pas publié)
Commentaire:
Recopier le code