Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Arduino : Animation lumineuse et sonore – L'hymne national américain

Composants et fournitures

ComposantQuantitéNotes
Arduino Nano R3 (ATmega328P, ancien bootloader)1Cœur du projet
Buzzer (16 Ω utilisé)1Signal sonore
Boutons poussoirs 6×6×6 mm2Sélection mélodie
Interrupteur à bascule 250 V 3 A1Alimentation
Résistances 330 Ω3Limitation courant LED
LED (2 rouges, 2 blanches, 2 bleues)62 par couleur en parallèle
Plaque à souder mini (ou sans soudure)1Montage
Batterie 9 V + boîtier1Autonome

Outils nécessaires

À propos du projet

Projet dérivé d'un travail sur guirlandes de Noël programmées. Deux boutons déclenchent deux mélodies via la fonction tone() :

En attente d'appui, les LEDs clignotent aléatoirement (« twinkle »). Le code utilise massivement des fonctions pour chaque note, facilitant les ajustements de tempo, hauteur, staccato.

Architecture du code

Détails musicaux

Tempo de base : 104 BPM → n = 577 ms (noire). Staccato : x=0,92, y=0,08. Fréquences précises (Hz) pour chaque note (Si♭3 à Fa5). À la fin, toutes les notes sont multipliées par 1,06³ (montée de 3 demi-tons).

Alimentation

Batterie 9 V dans boîtier avec interrupteur externe. Le Nano accepte 7–12 V sur broche VIN.

Code complet

/* Star Spangled Banner with LEDs – Ryan Aebi – Juin 2018 */
const int ChargeButton = 3;   // D3 (interrupt)
const int StartButton  = 5;   // D5
const int BuzzerPin    = 9;   // D9
const int RedLED       = 6;   // D6
const int WhiteLED     = 7;   // D7
const int BlueLED      = 8;   // D8

int n = 1000;
int DurationOn = n, DurationRest = n;
float x = 0.66, y = 0.34;
int Twinkle_Rate = 250;
int StartButtonState, ChargeButtonState;

// Fréquences (Hz)
int Note1=233, Note2=294, Note3=330, Note4=349, Note5=392;
int Note6=440, Note7=466, Note8=523, Note9=587, Note10=622, Note11=698;

void Charge() { /* ... */ }
void SingleDWwithNote(int HZ, int TurnOn, int Duration, int Staccato) { /* ... */ }
void USNationalAnthem() { /* ~100 lignes – voir source */ }
void Twinkle(int Twinkle_Time) { /* ... */ }

void setup() {
  pinMode(ChargeButton, INPUT_PULLUP);
  pinMode(StartButton,  INPUT_PULLUP);
  pinMode(RedLED,   OUTPUT);
  pinMode(WhiteLED, OUTPUT);
  pinMode(BlueLED,  OUTPUT);
  pinMode(BuzzerPin, OUTPUT);
  digitalWrite(RedLED, LOW);
  digitalWrite(WhiteLED, LOW);
  digitalWrite(BlueLED, LOW);
}

void loop() {
  StartButtonState  = digitalRead(StartButton);
  ChargeButtonState = digitalRead(ChargeButton);
  if (StartButtonState == LOW)       USNationalAnthem();
  else if (ChargeButtonState == LOW) Charge();
  else                               Twinkle(Twinkle_Rate);
}

Le code complet (~300 lignes) est disponible dans la section « Code » du projet original.

Schémas

Processus de fabrication

  1. Circuit avec interrupteur : guide pratique des circuits électriques de base
  2. L'évolution et l'artisanat des illuminations de fêtes : des traditions anciennes à l'ingénierie moderne
  3. Adoucir les mouchoirs : comment la lotion améliore confort et performance
  4. Acceed IGS-9822DGP : switch industriel 12 ports Gigabit avec 4 ports SFP – solution réseau haute performance
  5. Surveillance précise de la température dans un placard serveur avec Raspberry Pi
  6. Panneau commutateurs et LED pour Microsoft Flight Simulator 2020 basé sur Arduino
  7. Maîtriser le switch-case en C++ : Syntaxe, utilisation et exemples pratiques
  8. Comprendre Switch-Case en C : Syntaxe, exemples et bonnes pratiques
  9. Instruction Switch-Case Java Expliquée : Syntaxe, Exemples et Bonnes Pratiques