zapojeni s piezo

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


FB tw

Další podobné články