Étape 2: Piezo - composant de haut-parleur
Ce composant permettra de fabriquer nos chants de Noël:).
Comment câbler il ?
-Comme vous le verrez dans la fiche technique du haut-parleur piézo, requiere 8mA, donc dans ce cas, nous utiliserons une résistance de 100Ohms (brun-noir-brun) afin de réduire le courant qui circule dans ce composant.
-Nous allons utiliser la broche 8 de l’Arduino pour envoyer la fréquence spécifiée qui nous permettra de produire des tons.
-Suivre le schéma afin de connecter chaque broche du haut-parleur piézo correctement.
Code
Ici je vais vous expliquer quelles sont les parties du code vont nous permettre de produire ces tons.
Nous avons d’abord importer le fichier « pitches.h ». Il définit la fréquence mappée avec un nom qui représentent nos notes.
Par exemple NOTE_D3 = 147
#include « pitches.h »
Cela aux constantes représentent le nombre de billets qui ont nos chansons. Puisque nous avons deux chansons, on a 24 notes et l’autre ont 14
#define SONG1_SIZE 24
#define SONG2_SIZE 14
Ce tableau est juste un tableau de fréquence qui a été donné par le fichier pitches.h
Notes de la mélodie 1 :
int melody1 [] = {}
NOTE_D3, NOTE_B3, NOTE_A3, NOTE_G3, NOTE_D3,
NOTE_D3, NOTE_D3, NOTE_D3, NOTE_B3, NOTE_A3, NOTE_G3, NOTE_E3, 0,
NOTE_E3, NOTE_C4, NOTE_B3, NOTE_A3, NOTE_FS3, 0,
NOTE_D4, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_B3
};
Notes de la mélodie 2 :
int melody2 [] = {NOTE_F4, NOTE_E4, NOTE_D4, NOTE_C3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_F3,
NOTE_C4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_E4, NOTE_F4
};
Les durées de chaque note est spécifié dans les tableaux suivants pour chaque chanson (1 -> 1 sec, 4 -> croche... etc)
Notez les durées de mélodie 1:4 = noire, 8 = croche, etc.. :
int noteDurations1 [] = {}
4, 4, 4, 4, 2.5,
8, 8, 4, 4, 4, 4, 2,5, 2,
4, 4, 4, 4, 2,5, 2,
4, 4, 4, 4, 1} ;
/ / note de durées de mélodie 2:4 = noire, 8 = croche, etc.:
int noteDurations2 [] = {}
2, 2.5, 8, 1.5, 4, 2, 2, 1.5,
4, 1.8, 4, 1.8, 4, 1} ;
À l’intérieur de la méthode loop(), nous trouverons une boucle-pour. Cela passera par chaque note de nos melody1 ou melody2
pour (int thisNote = 0; thisNote < songSizeS ; thisNote ++) {}
.....
// pour calculer la durée de la note, prenez une seconde
divisé par le type de note.
par exemple la note noire = 1000 / 4, note croche = 1000/8, etc..
J’ainoteDuration nt = 1000/noteDurationS [thisNote] ;
fonction de tonalité produira le ton et envoyez-le à la broche 8 de creux avec sa duréeton (pin, fréquence, durée)
ton (8, melodyS[thisNote],noteDuration) ;
....
/ / pour distinguer les notes, définir un temps minimal entre eux.
durée de la note sera handel par la variable de tempo qui est variable en fonction du potentiomètre (étape 5)
int pauseBetweenNotes = noteDuration * tempo ;
Delay(pauseBetweenNotes) ;
/ / arrêter la lecture de ton :
noTone(8) ;
.....
}