- 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
}
}