Dans ce tutoriel nous allons voir comment reproduire la musique du célébré film Star Wars et cela avec Un arduino, un buzzer et quelques LEDs comme ceci:

ELEGOO UNO R3 Carte Controller Board Microcontrôleur avec Câble USB Bleu Compatible avec Les projets Arduino IDE Conforme RoHS
NOUVELLE AMéLIORATION: Indications plus lisible sur la carte à côté des connecteurs femelles pour un câblage plus simple, plus précis Désormais, la carte ELEGOO R3 utilise la puce mise à niveau au lieu d’ATMega8U2. Il est donc plus rapide dans le transfert et a plus de mémoire et a plus de mémoire. 100% compatible avec la UNO R3 board version officielle C’est votre aide pour profiter de la création pratique. Nous avons toujours pris grand soin de l’expérience utilisateur et d’améliorer les fonctions du produit en détails
ARDUINO UNO REV3 microprocesseur d’Arduino [A000066]
Cette carte constitue votre porte d’entrée vers l’expérience unique d’Arduino, parfaitement adaptée à l’apprentissage des principes fondamentaux de fonctionnement des capteurs et actuateurs ainsi qu’un outil essentiel à vos besoins en prototypage rapide La carte Arduino Uno est l’une des cartes les plus utilisées et dont le fonctionnement est le plus détaillé au monde « Uno » signifie un en italien et a été choisi pour marquer la sortie du logiciel Arduino (IDE) version 1.0, qui a désormais évolué vers des versions plus abouties Elle possède 14 broches d’entrées/sorties numériques (parmi lesquelles 6 peuvent être utilisées en sorties MLI), 6 entrées analogiques, un quartz cadencé à 16 MHz, une connexion USB, un câble d’alimentation jack, un connecteur ICSP ainsi qu’un bouton de réinitialisation Arduino est une technologie logicielle et matérielle libre de droits ainsi qu’une plateforme de contenus dont la communauté, constituée de plus de 30 millions d’utilisateurs, est l’une des plus actives au monde

De quoi avons nous besoin:

Passons maintenant au montage

Comment jouer la musique de Star Wars avec un Arduino et un Buzzer ?

Et maintenant le Code

const int c = 261;
const int d = 294;
const int e = 329;
const int f = 349;
const int g = 391;
const int gS = 415;
const int a = 440;
const int aS = 455;
const int b = 466;
const int cH = 523;
const int cSH = 554;
const int dH = 587;
const int dSH = 622;
const int eH = 659;
const int fH = 698;
const int fSH = 740;
const int gH = 784;
const int gSH = 830;
const int aH = 880;

const int buzzerPin = 8; // Digital Pin 8
const int ledPin1 = 12;  // Digital Pin 12
const int ledPin2 = 13;  // Digital Pin 13 Built In Led can Change it if you want

int counter = 0;

void setup()
{
  //Setup pin modes
  pinMode(buzzerPin, OUTPUT); // Digital Pin 8
  pinMode(ledPin1, OUTPUT);  // Digital Pin 12
  pinMode(ledPin2, OUTPUT); // Digital Pin 13 Built In Led can Change it if you want
}

void loop()
{

  //Play first section
  firstSection();

  //Play second section
  secondSection();

  //Variant 1
  beep(f, 250);  
  beep(gS, 500);  
  beep(f, 350);  
  beep(a, 125);
  beep(cH, 500);
  beep(a, 375);  
  beep(cH, 125);
  beep(eH, 650);

  delay(500);

  //Repeat second section
  secondSection();

  //Variant 2
  beep(f, 250);  
  beep(gS, 500);  
  beep(f, 375);  
  beep(cH, 125);
  beep(a, 500);  
  beep(f, 375);  
  beep(cH, 125);
  beep(a, 650);  

  delay(650);
}

void beep(int note, int duration)
{
  //Play tone on buzzerPin
  tone(buzzerPin, note, duration);

  //Play different LED depending on value of 'counter'
  if(counter % 2 == 0)
  {
    digitalWrite(ledPin1, HIGH);
    delay(duration);
    digitalWrite(ledPin1, LOW);
  }else
  {
    digitalWrite(ledPin2, HIGH);
    delay(duration);
    digitalWrite(ledPin2, LOW);
  }

  //Stop tone on buzzerPin
  noTone(buzzerPin);

  delay(50);

  //Increment counter
  counter++;
}

void firstSection()
{
  beep(a, 500);
  beep(a, 500);    
  beep(a, 500);
  beep(f, 350);
  beep(cH, 150);  
  beep(a, 500);
  beep(f, 350);
  beep(cH, 150);
  beep(a, 650);

  delay(500);

  beep(eH, 500);
  beep(eH, 500);
  beep(eH, 500);  
  beep(fH, 350);
  beep(cH, 150);
  beep(gS, 500);
  beep(f, 350);
  beep(cH, 150);
  beep(a, 650);

  delay(500);
}

void secondSection()
{
  beep(aH, 500);
  beep(a, 300);
  beep(a, 150);
  beep(aH, 500);
  beep(gSH, 325);
  beep(gH, 175);
  beep(fSH, 125);
  beep(fH, 125);    
  beep(fSH, 250);

  delay(325);

  beep(aS, 250);
  beep(dSH, 500);
  beep(dH, 325);  
  beep(cSH, 175);  
  beep(cH, 125);  
  beep(b, 125);  
  beep(cH, 250);  

  delay(350);
}

Voila vous n’avez plus qu’a vous amuser 😀

Arduino UNO SMD REV3 [A000073]
Flexible, robuste, durable et standard : la famille Arduino UNO Rev3 est parfaite pour faire ses premiers pas. Idéal pour les débutants : bien documenté ; de nombreux projets pour s’inspirer. Simple à connecter et à mettre sous tension : avec un câble USB, un adaptateur CA-CC ou une batterie. Enrichissez les fonctionnalités de votre projet avec des centaines de shields compatibles Arduino Uno. Programmez-le à partir de n’importe quel ordinateur personnel ou Chromebook.
ELEGOO UNO R3 Carte Kit De Démarrage Basique avec Guide d’utilisation Français Kit d’apprentissage de Base Projet Compatible avec Arduino IDE
Le kit le moins cher et le plus simple pour les débutants. (Basic Starter Kit) Tutoriel PDF gratuit incluant l’introduction au projet et le code est fourni, vous allez économiser un maximum de temps en parcourant les exemples. Avec la toute dernière carte de développement UNO R3, un câble USB et tous les composants de base. Packaging en boite plastique rigide avec liste des composants et CD

Catégories : ArduinoProgrammer un Arduino