Sviranje tonova s tri tipkala

Što ćemo naučiti:

– Kako koristiti if else naredbe za uključivanje pojedinih tonova zvuka

Zadatak

Nadogradite primjer “SVIRANJE PREDODREĐENIH TONOVA” tako da na Arduino spojite 3 tipkala kojima ćete moći uključivati različite toneve. Svako tipkalo upravlja drugim tonom.

Prikaz spajanja

Arduino kod


int LedCrvena = 2;
int Tipkalo1 = 3;
int Tipkalo2 = 4;
int Tipkalo3 = 5;
int Zvucnik = 6;
int Vrijeme = 1000;
int Tipkalo1stanje = 0;
int Tipkalo2stanje = 0;
int Tipkalo3stanje = 0;


void setup ()
{
  pinMode(LedCrvena, OUTPUT);  //postavi izvod LedCrvena(2) kao izlazni
  pinMode(Tipkalo1, INPUT);    //postavi izvod Tipkalo1 (3) kao ulazni
  pinMode(Tipkalo2, INPUT);    //postavi izvod Tipkalo2 (4) kao ulazni
  pinMode(Tipkalo3, INPUT);    //postavi izvod Tipkalo3 (5) kao ulazni
  pinMode (Zvucnik, OUTPUT);   //postavi izvod Zvucnik  (6) kao izlazni

}
void loop ()
{

  Tipkalo1stanje = digitalRead(Tipkalo1);   // očitava stanje Tipkala1
  Tipkalo2stanje = digitalRead(Tipkalo2);   // očitava stanje Tipkala2
  Tipkalo3stanje = digitalRead(Tipkalo3);   // očitava stanje Tipkala3

  if (Tipkalo1stanje == HIGH)           { //ako je prvo tipkalo pritisnuto
    digitalWrite (LedCrvena, HIGH);         //uključi svjetleću diodu
    tone(Zvucnik, 1915);                    //uključi zvučnik
  }  else if (Tipkalo2stanje == HIGH)   { //inače ako je drugo tipkalo pritisnuto
    digitalWrite (LedCrvena, HIGH);         //uključi svjetleću diodu
    tone(Zvucnik, 1700);                    //uključi zvučnik
  }  else if (Tipkalo3stanje == HIGH)   { //inače ako je trece tipkalo pritisnuto
    digitalWrite (LedCrvena, HIGH);         //uključi svjetleću diodu
    tone(Zvucnik, 1519);                    //uključi zvučnik
  }  else  {                              //inače
    digitalWrite (LedCrvena, LOW);          //isključi svjetleću diodu
    noTone (Zvucnik);                       //isključi zvučnik
  }

}