You are on page 1of 7

I.

TEHNIČKA ŠKOLA “TESLA“

DNEVNIK RADA – MINIJATURNA


KLAVIJATURA

Ante Ljubić

Zagreb, svibanj 2023.


SADRŽAJ

1. SASTAVLJANJE

2. KOD

3. TESTIRANJE
SASTAVLJANJE

Za sastavljanje projekta potreban nam je Arduino Uno i testna pločica, 7


gumba,16 spojnih žica, otpornih od 220ohm-a, piezzo zvučnik/buzzer.

Plan ovog projekta je odrediti svakom gumbu njegov ton, to jest zvuk
koji proizvodi, time dobivamo vrlo jednostavni klavir. Daljnjim
eksperimentiranjem sa kodom ovog projekta i različitim inputima mogli bi
dobiti nešto još zanimljivije.

Prvi korak spajanja ovog kruga je povezivanje GND sa Arduina na


minus traku testne pločice (u svrhu olakšavanja mogu se spojiti oba
minusa na testnoj pločici). Na Arduinov digitalni pin 11 spojimo otpornik
220 ohma koji vodi na pozitivnu stranu piezzo zvučnika. Negativna
strana piezzo zvučnika spojena je na minus. Sve gumbe na testnu
pločicu stavljamo jedan pored drugog tako da gornje dvije nožice stoje
spojene u svoje dvije trake a donje u svoje dvije trake, to možemo
napraviti tako da ih stavimo preko sredine testne pločice gdje je ona
odvojena. Koristit ćemo samo gornje dvije nožice, gdje prva nožica
svakog gumba odlazi na jedan digitalni pin Arduina, npr. Jedan gumb na
pin 10, drugi na pin 9, treći na pin 8… Druga nožica svakog gumba
spaja se na minus, tako trebaju bit spojeni svi gumbovi.

Shema kruga:
KOD

#define NOTE_C 262


#define NOTE_D 294
#define NOTE_E 330
#define NOTE_F 349 #
#define NOTE_G 394 definiramo
svih onih 7
#define NOTE_A 440 pushbutton
#define NOTE_B 493
-a, te im

#define ACTIVATED LOW

const int PIEZO = 11;


const int LED = 13;
const int BUTTON_C = 10:
const int BUTTON_D = 9;
const int BUTTON_E = 8;
const int BUTTON_F = 7;
const int BUTTON_G = 6;
const int BUTTON_A = 5;
const int BUTTON_B = 4;
void setup()
{
pinMode (LED, OUTPUT);
pinMode (BUTTON_C, INPUT);
digitalWrite(BUTTON_C, HIGH); # u setup dijelu koda
konfiguriramo pushbutton-e
pinMode (BUTTON_D, INPUT); da koriste arduinove “pull-up“
digitalWrite(BUTTON_D, HIGH); otpornike.
pinMode (BUTTON_E, INPUT);
digitalWrite(BUTTON_E, HIGH);
pinMode (BUTTON_F, INPUT);
digitalWrite(BUTTON_F, HIGH);
pinMode (BUTTON_G, INPUT);
digitalWrite(BUTTON_G, HIGH);
pinMode (BUTTON_A, INPUT);
digitalWrite(BUTTON_A, HIGH);
pinMode (BUTTON_B, INPUT);
digitalWrite(BUTTON_B, HIGH);
digitalWrite(LED,LOW);
}
void loop ()
{ # u loop dijelu koda govorimo
kako ako je jedan od
while(digitalRead(BUTTON_C) == ACTIVATED) pushbuttona pritisnut, buzzer
{ svira notu koja pripada tom
pushbuttonu, kada niti
tone(PIEZO,NOTE_C);
pushbutton nije stisnut korstimo
digitalWrite(LED,HIGH); funkciju noTone(piezo).
}
while(digitalRead(BUTTON_D) == ACTIVATED)
{
tone(PIEZO,NOTE_D);

digitalWrite(LED,HIGH);
}
while(digitalRead(BUTTON_E) == ACTIVATED)
{
tone(PIEZO,NOTE_E);
digitalWrite(LED,HIGH);
}
while(digitalRead(BUTTON_F) == ACTIVATED)
{
tone(PIEZO,NOTE_F);
digitalWrite(LED,HIGH);
}
while(digitalRead(BUTTON_G) == ACTIVATED)
{
tone(PIEZO,NOTE_G);
digitalWrite(LED,HIGH);
}
while(digitalRead(BUTTON_A) == ACTIVATED)
{
tone(PIEZO,NOTE_A);
digitalWrite(LED,HIGH);
}
while(digitalRead(BUTTON_B) == ACTIVATED)
{
tone(PIEZO,NOTE_B);
digitalWrite(LED,HIGH);
}
noTone(PIEZO);
digitalWrite(LED,LOW);

}
TESTIRANJE

Sa testiranjem ne bi trebalo biti problema, kada stisnemo gumb on bi trebao


proizvesti zvuk, svaki gumb bi trebao imati svoju određenu notu te ih možemo
mijenjati pomoću frekvencija u kodu tako da zvuče malo drukčije. Ako jedan od
gumba ne radi provjerite dali je dobro spojen u samu testnu pločicu

You might also like