Píseň z pohádky Tři oříšky pro popelku

  • Tento projekt má velmi jednoduché zapojení:
  • Pokud máte lepší arduino (než uno) je v kódu připravena část s textem (Bohužel arduino uno nemá tak velkou kapacitu paměti aby text zobrazilo)
  • Hned po nahrání kódu piezo připojené k arduinu začne hrát píseň.

Kód pro arduino:

int C = 262;
int D = 294;
int E = 330;
int F = 349;
int G = 392;
int A = 440;
int H = 494;
int C2 = 523;
int D2 = 587;
int E2 = 659;
const int melody[] = {
  G, G, G, G, G, G, G, F, F, F, F, E, E, G, E, E, D, D,
  G, G, G, G, G, G, G, F, F, F, F, E, E, G, E, E, D, D,
  F, F, G, F, E, D, G, G, A, G, F, E, D,
  G, G, G, G, G, G, G, F, F, F, F, E, E, G, E, E, D, D,
  G, G, G, G, G, G, G, F, F, F, F, E, E, G, E, E, D, D,
  F, F, G, F, E, D, 
  G, G, A, G, F, E, E, F, G, C2, H, A, H, C2, D2,
  C2, H, A, G, F, H, A, G, A, H, C2, H, A, G, F, E,
  G, F, F, E, E, D, D, E, F, A, G, G, F, F, E, E, F, G, 
  C2, H, A, H, C2, D2, 
  C2, H, A, G, F, H, A, G, A, H, C2, H, A, G, F, E,
  G, F, F, E, 
  E, D, D, G, F, F, E, E, D, D, G, G, G, G, G, G, 
  G, F, F, F, F, E, E, G, E, E, D, D, 
  G, G, G, G, G, G, 
  G, F, F, F, F, E, E, G, E, E, D, D,       F, F, G, F, E, 
  D, G, G, A, G, F, E, E, F, G, 
  C2, H, A, H, C2, D2, 
  C2, H, A, G, F, H, A, G, A, H, C2, H, A, G, F, E, 
  G, F, F, E, E, D, D, E, F, A, G, G, F, F, E, E, F, G, 
  C2, H, A, H, C2, D2, 
  C2, H, A, G, F, H, A, G, A, H, C2, H, A, G, F, E, 
  G, F, F, E, E, D, D, E, F, A, G, G, F, F, E, E, F, G,   
  C2, H, A, H, C2, D2, 
  C2, H, A, G, F, H, A, G, A, H, C2, H, A, G, F, E, 
  G, F, F, E, E, D, D, E, F, A, G, G, F, F, E, E, F, G,  
  E, D, D, G, F, F, E, E, D, D, 0, 0,
};

// Délka tónů (v milisekundách)
const int noteDurations[] = {
  4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 2, 2, 
  4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 2, 2,
  4, 4, 4, 2, 4, 1, 4, 4, 4, 2, 4, 2, 2, 
  4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 2, 2, 
  4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 2, 2,
  4, 4, 4, 2, 4, 1,
  4, 4, 4, 4, 2, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 
  4, 2, 4, 2, 4, 2, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 
  4, 2, 4, 2,
  4, 2, 2, 4, 2, 4, 2, 4, 2, 2, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 2, 2, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 2, 2,      4, 4, 4, 2, 4, 
  1, 4, 4, 4, 2, 4, 2, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 
  4, 2, 4, 2, 4, 2, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 
  4, 2, 4, 2, 4, 2, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 
  4, 2, 4, 2, 4, 2, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 4,
  4, 2, 2, 4, 2, 4, 2, 4, 2, 2, 1, 1,
};

void setup() {
  // Nastavení pinu 3 jako výstupní
  pinMode(3, OUTPUT);
 // Serial.begin (9600);
 // Serial.println (" ");
 // Serial.println ("Marně se vlastního osudu ptáš, co dnes a zítra schystá");
 // Serial.println ("představ si, že v kapse oříšek máš a ten ti dá moc vyzrát");
 // Serial.println ("na ty kdo cílem zlým chtějí tvou dráhu zkřížit");
 // Serial.println ("šetři si oříšky pro chvíli zlou, kdy sám si náhle přiznáš");
 // Serial.println ("život je pohádkou nedopsanou, vše stát se smí je třikrát");
 // Serial.println ("snad ti to může znít, dnes jako bláznovství.");
 // Serial.println (" ");
 // Serial.println ("Věř mi, že to je ta na světě nejlepší zpráva");
 // Serial.println ("pro ty kdo uvěří stane se zázrak");
 // Serial.println ("možná, možná, možná kdo jen to pozná, pozná, pozná.");
 // Serial.println ("Věř mi, že to je ta na světě nejlepší zpráva");
 // Serial.println ("kouzle tří oříšků křídla ti dává, vyhrát, vyhrát, vyhrát");
 // Serial.println ("jednou, dvakrát, třikrát...");
 // Serial.println (" ");
 // Serial.println ("Na, na, na...");
 // Serial.println ("Na, na, na...");
 // Serial.println ("snad ti to může znít, dnes jako bláznovsví.");
 // Serial.println (" ");
 // Serial.println ("Věř mi, že to je ta na světě nejlepší zpráva");
 // Serial.println ("pro ty kdo uvěří stane se zázrak");
 // Serial.println ("možná, možná, možná kdo jen to pozná, pozná, pozná.");
 // Serial.println ("Věř mi, že to je ta na světě nejlepší zpráva");
 // Serial.println ("kouzle tří oříšků křídla ti dává, vyhrát, vyhrát, vyhrát");
 // Serial.println ("jednou, dvakrát, třikrát...");
 // Serial.println (" ");
 // Serial.println ("Věř mi, že království padne, když schází v něm láska");
 // Serial.println ("chraň své tři oříšky třeba tě zázrak potká, potká, potká");
 // Serial.println ("možná taky stokrát.");
}

void loop() {
  // Přehrávání písně
  for (int i = 0; i < sizeof(melody) / sizeof(int); i++) {
    int noteDuration = 1000 / noteDurations[i];
    tone(3, melody[i], noteDuration);
    delay(noteDuration * 1.3); // Pauza mezi tóny
    noTone(3); // Vypnutí tónu
  }
}


Další podobné články

Test ESC a BLDC motoru

Cílem tohoto Arduino projektu je testování a kalibrace obousměrného regulátoru otáček (ESC) pomocí PWM signálu. Program simuluje sekvenci pohybů: dopředu, neutrální pozici a reverzní chod, což umožňuje ověřit správnou funkci ESC včetně přepínání směru otáčení motoru.

Laserový alarm

Cílem tohoto projektu je vytvořit jednoduchý, ale funkční bezpečnostní systém, který detekuje narušení prostoru pomocí vysílače (laserového paprsku) a přijímače (fotorezistoru). Jakmile je paprsek přerušen, Arduino to vyhodnotí jako narušení a spustí alarm – například zvukový signál pomocí piezo bzučáku.