Publié le 8 décembre 2018, modifié le 29 mars 2023 par Stéphane Robert

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:

De quoi avons nous besoin:

Passons maintenant au montage

Arduino UNO Rev3 [A000066] – Carte de développement Polyvalente avec microcontrôleur ATmega328P, Compatible avec Arduino IDE, idéale pour débutants et projets électroniques, robotique et DIY.
Microcontrôleur ATmega328P : alimenté par le fiable ATmega328P, fonctionnant à 16 MHz avec 32 Ko de mémoire flash, 2 Ko de SRAM et 1 Ko d’EEPROM, offrant de nombreuses ressources pour une large gamme de projets électroniques de base à avancés. 14 broches d’E/S numériques et 6 entrées analogiques : comprend 14 broches d’E/S numériques (dont 6 prennent en charge la sortie PWM) et 6 entrées analogiques (résolution 10 bits), offrant des options flexibles pour les capteurs, les moteurs et d’autres composants externes. Connectivité USB pour une programmation facile : le port USB intégré permet une programmation directe et une communication série, permettant une connexion simple à votre ordinateur pour le téléchargement et le débogage de croquis via l’IDE Arduino. Compatible avec Arduino IDE : la compatibilité totale avec Arduino IDE garantit un accès facile à une vaste gamme de bibliothèques, d’exemples de code et de projets communautaires, faisant de l’Uno un excellent choix pour les débutants et les créateurs expérimentés. Largement utilisé dans l’éducation et le prototypage : l’Arduino Uno est un standard dans les environnements éducatifs, largement utilisé pour l’apprentissage et l’enseignement de l’électronique et de la programmation. Il est parfait pour le prototypage, la robotique, les projets IoT et bien plus encore.
AZDelivery 3x Carte ATmega328P, Microcontrôleur avec câble USB, Controller Board incluant Un Ebook!
✅ Il est le microcontrôleur parfait pour débutants et professionnels! En effet, grâce à la programmation facile par câble USB et aux broches sans soudure, chacun peut créer son premier projet en quelques minutes ✅ Avec 14 entrées et sorties numériques et 6 entrées analogiques, le microcontrôleur peut également être utilisé pour des projets plus importants ! ✅ Grâce au microcontrôleur ATmega328, des programmes encore plus exigeants peuvent être exécutés ! ✅ La programmation dans IDE est également possible sans aucun problème ! Avec le livre électronique gratuit 📖 de AZ-Delivery, vous pouvez commencer à travailler sur votre projet immédiatement sans avoir à passer beaucoup de temps à mettre en place le produit. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d’exemples d’applications, des guides d’installation complets et des bibliothèques.

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 R4 WiFi [ABX00087] – Carte de développement avec microcontrôleur Arm Cortex-M4 et WiFi intégré, idéale pour projets IoT, automatisation et Applications connectées avec Arduino IDE.
Traitement double cœur avec Renesas RA4M1 et ESP32-S3 : l’Arduino UNO R4 WiFi combine le microcontrôleur Renesas RA4M1 (ARM Cortex-M4) et la puce Wi-Fi/Bluetooth ESP32-S3, offrant de puissantes capacités de traitement double cœur. Cette combinaison offre une flexibilité pour une large gamme de projets, des communications à haut débit et du contrôle sans fil au traitement des données en temps réel et aux applications d’IA de pointe. Connectivité sans fil complète : équipée du Wi-Fi et du Bluetooth 5.0, la carte UNO R4 WiFi assure une communication sans fil robuste pour les projets IoT, les capteurs à distance, les appareils intelligents et les applications de contrôle sans fil. Qu’elle se connecte au cloud, à d’autres appareils ou à des réseaux locaux, la carte offre une connectivité sans fil stable et à haut débit pour un fonctionnement fluide. Connectivité moderne avec USB-C, CAN et Qwiic : Le port USB-C offre une alimentation efficace et une programmation rapide, améliorant l’expérience utilisateur. Le support du réseau CAN permet une communication fiable et en temps réel pour les systèmes industriels, automobiles et robotiques. Le connecteur Qwiic simplifie l’ajout de capteurs et périphériques I2C, réduisant ainsi le câblage complexe et facilitant l’intégration de nouveaux dispositifs. Convertisseur N/A et amplificateur opérationnel 12 bits de haute précision : Le convertisseur N/A 12 bits et l’amplificateur opérationnel intégré garantissent une génération et une amplification de signal analogique précises. Idéal pour les projets audio, l’interfaçage de capteurs et les applications nécessitant un contrôle précis du signal analogique, offrant une haute qualité de sortie pour des performances optimales. Matrice LED 12×8 intégrée : le UNO R4 WiFi comprend une matrice LED 12×8 intégrée, permettant aux utilisateurs d’afficher des visuels dynamiques, des messages ou des données en temps réel sur la carte elle-même. Cela le rend parfait pour les projets qui nécessitent un retour visuel immédiat, comme des indicateurs d’état, des affichages d’événements ou des interfaces utilisateur interactives.
ELEGOO UNO R3 Carte Controller Board Microcontrôleur avec Câble USB Bleu Compatible avec Les projets Arduino IDE Conforme RoHS
【Câblage Simplifié】Indications plus lisibles sur la carte à côté des connecteurs femelles pour un câblage plus simple, plus précis. 【Nouvelle Amélioration】ELEGOO carte UNO R3 utilise la puce mise à niveau au lieu d’ATMega8U2. Elle offre donc un transfert plus rapide et plus de mémoire. 【100% Compatibilité】Cette UNO R3 board est 100% compatible avec la version officielle de l’Arduino UNO R3 et conforme à la norme RoHS. 【Facile à Utiliser】Cette carte de développement est facile à installer et à utiliser. Il suffit d’un câble USB pour graver le programme ou communiquer avec l’ordinateur. C’est un excellent outil pour profiter de la création pratique. 【Confort Utilisateur】Nous avons toujours pris grand soin de l’expérience utilisateur et d’améliorer les fonctions du produit en détails. Cette carte controller convient aux débutants, aux bricoleurs et aux ingénieurs en électronique, entre autres.
Catégories : ArduinoProgrammer un Arduino

Stéphane Robert

Stéphane Robert