drti

Prvi koraki v Arduino – prenosljivi klavir

 

Milan Gaberšek in Slavko Kocijančič , članek v reviji TIM, številka 8, letnik 2019/20

 

V tem prispevku bomo krmilnik Arduino uporabili kot preprost elektronski klavir, s katerim bomo lahko zaigrali tri osnovne note. Ker se za klavir spodobi, da deluje tudi brez povezave z računalnikom, ga bomo na koncu priklopili na standardno devetvoltno baterijo in mu s tem zagotovili prenosljivost.

 

Programsko kodo si lahko preko kopiraj/prilepi prenesete v Arduino IDE, da vam ne bo treba pretipkavati.  

 

 

//
// Program Arduino - prenosljivi klavir
//

// Zvočnik bomo priklopili na D3
const int pinZvocnik = 3;
const int pinC = 5;
const int pinD = 6;
const int pinE = 7;

// Frekvence za posamezne note, več not na
// https://www.arduino.cc/en/Tutorial/toneMelody
const int notaC = 262; // tudi C4
const int notaD = 294; // tudi D4 
const int notaE = 330; // tudi E4

// Nastavitev vhodov za tipke
void setup() {
  pinMode(pinC, INPUT_PULLUP);
  pinMode(pinD, INPUT_PULLUP);
  pinMode(pinE, INPUT_PULLUP);
}

// Ponavljaj
void loop() {
  if (digitalRead(pinC) == LOW) {
    // Če je pritisnjena tipka na pinC,
    // predvajaj ton s fkrevenco note C
    tone(pinZvocnik, notaC);
  } else if (digitalRead(pinD) == LOW) {
    // Če je pritisnjena tipka na pinD,
    // predvajaj ton s fkrevenco note D
    tone(pinZvocnik, notaD);
  } else if (digitalRead(pinE) == LOW) {
    // Če je pritisnjena tipka na pinE,
    // predvajaj ton s fkrevenco note E
    tone(pinZvocnik, notaE);
  } else {
    // Drugače izklopi predvajanje tona
    noTone(pinZvocnik);
  } 
}