Découverte du haut parleur piézoélectrique avec Arduino
Révision datée du 13 mars 2020 à 07:16 par Dlareg (discussion | contributions) (ajout du code source)
Jouer une mélodie.
Sommaire
Présentation
Jouer une mélodie avec un Arduino et un haut parleur piézoélectrique.
Coût
Faible
Niveau de difficulté
Outillage nécessaire
- Arduino
- Planche d'essai
Composants nécessaires
- 1 haut parleur piézoélectrique (récupération possible sur un jouet)
Schémas
Code source
int speakerPin = 9;
int length = 15; // le nombre de notes
char notes[] = "ccggaagffeeddc "; // un espace = un repos
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;
void playTone(int tone, int duration)
{
for (long i = 0; i < duration * 1000L; i += tone * 2)
{
digitalWrite(speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}
void playNote(char note, int duration)
{
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
// jouer la tonalite correspondant au nom de la note
for (int i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}
void setup()
{
pinMode(speakerPin, OUTPUT);
}
void loop()
{
for (int i = 0; i < length; i++)
{
if (notes[i] == ' ')
{
delay(beats[i] * tempo); // repos
}
else
{
playNote(notes[i], beats[i] * tempo);
}
// pause entre les notes
delay(tempo / 2);
}
}
Liens
http://www.elektronique.fr/article/27-projets-arduino-debutants/
Auteurs
Licence de la page
Attribution - Partage dans les Mêmes Conditions 3.0 non transposé (CC BY-SA 3.0)
Vous êtes libre de :
- partager — reproduire, distribuer et communiquer l’œuvre
- remixer — adapter l’œuvre
- d’utiliser cette œuvre à des fins commerciales
Selon les conditions suivantes :
- Attribution — Vous devez attribuer l’œuvre de la manière indiquée par l’auteur de l’œuvre ou le titulaire des droits (mais pas d’une manière qui suggérerait qu’ils vous approuvent, vous ou votre utilisation de l’œuvre).
- Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci.