Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Licht & Geluid Display: VS Volkslied

Onderdelen en Benodigdheden

Arduino Nano R3 (ATmega328P, old bootloader) 1
Buzzer (16Ω) 1
Drukknoppen (6×6×6 mm) 2
Kipschakelaar (voeding) 1
Weerstand 330Ω 3
LED's (2× rood 2.2V, 2× wit 3.2V, 2× blauw 3.2V) 6
Soldeerbaar Experimenteerprintje (mini) 1
9V Blokbatterij (met houder) 1

Benodigde Tools

  • Solderbout

Over Dit Project

Dit project speelt twee melodieën met gesynchroniseerde LED-animaties: de US Volkslied (The Star-Spangled Banner) en een Charge-fanfare. Tussen de liedjes door geeft een "twinkle" effect willekeurige lichtflitsen.

De code maakt zwaar gebruik van functies om de noten en LED-sturing modulair te houden. Doel: delen van ontwerp/coderingslessen voor soortgelijke projecten.

Hardware Ontwerp

  • LED's: 3 kanalen (Rood/Wit/Blauw), elk met 2 LED's parallel + 330Ω weerstand. Max stroom ~20 mA per kanaal (veilig voor Nano pinnen).
  • Knoppen: Start-knop (pin D5), Charge-knop (pin D3, interrupt-capable).
  • Buzzer: Pin D9 (PWM).
  • Voeding: 9V blokbatterij met kipschakelaar.

Code Structuur

Constanten & Variabelen

Frequenties voor noten (Bb3 tot F5), timing variabelen (n = basisduur), staccato factoren (x=0.92, y=0.08), en knop statussen.

Hoofdfuncties

  • Charge() – speelt de korte fanfare met LED-sequentie.
  • SingleDWwithNote(hz, pin, duur, staccato) – speelt één toon met bijbehorende LED, optioneel staccato.
  • USNationalAnthem() – speelt het complete volkslied (34 measures) met gedetailleerde noten/LED mapping. Inclusief tempo-veranderingen (ritardando) en toonhoogte-verschuiving (+3 halftonen) na afloop.
  • Twinkle() – willekeurige LED flitsen tijdens wachten op knopindruk.

Setup & Loop

Pinnen configureren (INPUT_PULLUP voor knoppen, OUTPUT voor LED's/buzzer). In loop() worden knoppen uitgelezen: Start → volkslied, Charge → fanfare, anders → twinkle.

Code (Volledig)

/* Star Spangled Banner met LEDs
   Gemaakt door Ryan Aebi, juni 2018 */
const int ChargeButton = 3;
const int StartButton = 5;
const int BuzzerPin = 9;
const int RedLED = 6;
const int WhiteLED = 7;
const int BlueLED = 8;

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

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

void Charge() { /* ... */ }
void SingleDWwithNote(int HZ, int TurnOn, int Duration, int Staccato) { /* ... */ }
void USNationalAnthem() { /* ... 300+ regels noten ... */ }
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);
}

De volledige notensequentie van USNationalAnthem() is in de originele code te vinden.

Schema's

Zie de Fritzing schema's voor breadboard layout, soldering layout, en kostenoverzicht.

Productieproces

  1. De Evolutie en Vakmanschap van Kerstverlichting: Van Oude Tradities tot Moderne Techniek
  2. Zachtmakende Doekjes: Hoe Lotion Comfort & Prestaties Verbeteren
  3. Accurate temperatuurbewaking in een serverkast met Raspberry Pi
  4. Arduino-gebaseerd schakelaar- & LED-paneel voor Microsoft Flight Simulator 2020
  5. LED helderheid regelen met PWM via drukknop op Arduino Mega
  6. Circuit met een schakelaar: Praktische gids voor basis elektrische circuits
  7. MEP National Network™ Past Zich In Voor Groei Van Minderheidsfabrikanten
  8. Acceed IGS-9822DGP: 12-poort Gigabit-switch met 4 SFP-poorten – High-performance industriële netwerkoplossing
  9. C++ Switch‑Case Onder de Knie: Syntaxis, Gebruik en Praktische Voorbeelden
  10. Switch-Case in C Begrijpen: Syntaxis, Voorbeelden en Best Practices
  11. Java Switch-Case Statement Uitgelegd: Syntaxis, Voorbeelden en Best Practices