Dekodér akordů-arduino uno
//knihovny jsou potřeba
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//nastavíme adresu a typ displeje
LiquidCrystal_I2C lcd(0x27,16,2); // nastavení adresy (0x3F) nebo (0x27) je důležité!!! 20 písmen,2 řádky
//pojmenuji budoucí vstupy pomocí int
int c = 1; //tón c připojen na vstup 1
int cis = 2; //tón cis připojen na vstup 2
int d = 3; //tón d připojen na vstup 3
int dis = 4; //tón dis připojen na vstup 4
int e = 5; //tón e připojen na vstup 5
int f = 6; //tón f připojen na vstup 6
int fis = 7; //tón fis připojen na vstup 7
int g = 8; //tón g připojen na vstup 8
int gis = 9; //tón gis připojen na vstup 9
int a = 10; //tón a připojen na vstup 10
int ais = 11; //tón ais připojen na vstup 11
int h = 12; //tón h připojen na vstup 12
//pojmenuji budoucí výstup
int led = 13; //leddioda L integrovaná na pinu 13-ser rez a do zeme taky rez
//dle článku 11.3 arduino priklad-čtení vstupu
int ctenic = c;
int ctenicis = cis;
int ctenid = d;
int cteni = dis;
int ctenie = e;
int ctenif = f;
int ctenifis = fis;
int ctenig = g;
int ctenigis = gis;
int ctenia = a;
int cteniais = ais;
int ctenih = h;
byte customChar[8] = {
0b00010,
0b01011,
0b11110,
0b01010,
0b01111,
0b11010,
0b01000,
0b00000
};
boolean x;
boolean xcisdur;
boolean xcs;
boolean xcdsix;
boolean xcm;
boolean cls;
boolean xcml;
boolean xcmls;
boolean xcmlsix;
boolean xcmm;
boolean xcdim;
boolean xcplus;
boolean xciss;
boolean xcisdrs;
boolean xcisms;
boolean xcismi;
boolean xcismis;
boolean xcismisi;
boolean xcismisemaj;
boolean xcisdim;
boolean xcispl;
boolean xddur;
boolean xddurs;
boolean xddursix;
boolean xdmajs;
boolean xdmi;
boolean xdmise;
boolean xdmisix;
boolean xdmsm;
boolean xdim;
boolean xdsus;
boolean xdisdr;
boolean xdisdrs;
boolean xdisdrsx;
boolean xdismi;
boolean xdismis;
boolean xdismisix;
boolean xmidissmaj;
boolean xdismjs;
boolean xdiszv;
boolean xedr;
boolean xedrs;
boolean xedrsix;
boolean xemaj;
boolean xemi;
boolean xemis;
boolean xemisix;
boolean xemimajs;
boolean xfdur;
boolean xfdrs;
boolean xfmajs;
boolean xfmi;
boolean xfmis;
boolean xfmisix;
boolean xfmimajs;
boolean xfisdur;
boolean xfisdurs;
boolean xfismajs;
boolean xfismaj;
boolean xfismi;
boolean xfismis;
boolean xfismisix;
boolean xfismisemaj;
boolean xgdur;
boolean xgdurs;
boolean xgmajs;
boolean xgmi;
boolean xgmis;
boolean xgmisix;
boolean xgmimajs;
boolean xgisdur;
boolean xgisdurs;
boolean xgismajs;
boolean xgismi;
boolean xgismis;
boolean xgismisix;
boolean xgismimajs;
boolean xadur;
boolean xadurs;
boolean xamajs;
boolean xami;
boolean xamis;
boolean xamisix;
boolean xamismaj;
boolean xaisdur;
boolean xaisdurs;
boolean xaismajs;
boolean xaismi;
boolean xaismis;
boolean xaismisix;
boolean xaismismaj;
boolean xhadur;
boolean xhadurs;
boolean xhamajs;
boolean xhmi;
boolean xhmis;
boolean xhmisix;
boolean xhmismaj;
void setup()
{
lcd.init(); // initializace lcd
lcd.backlight();
pinMode(c, INPUT); // pin 1 nastaven jako vstup
pinMode(cis, INPUT); // pin 2 nastaven jako vstup
pinMode(d, INPUT); // pin 3 nastaven jako vstup
pinMode(dis, INPUT); // pin 4 nastaven jako vstup
pinMode(e, INPUT); // pin 5 nastaven jako vstup
pinMode(f, INPUT); // pin 6 nastaven jako vstup
pinMode(fis, INPUT); // pin 7 nastaven jako vstup
pinMode(g, INPUT); // pin 8 nastaven jako vstup
pinMode(gis, INPUT); // pin 9 nastaven jako vstup
pinMode(a, INPUT); // pin 10 nastaven jako vstup
pinMode(ais, INPUT); // pin 11 nastaven jako vstup
pinMode(h, INPUT); // pin 12 nastaven jako vstup
pinMode(led, OUTPUT);// pin 13 jako výstup pro int leddiodu led
lcd.setCursor ( 0, 0 );
lcd.print(" DEKODER ");
lcd.setCursor ( 0, 1 );
lcd.print(" AKORDU ");
delay(1000); // pauza 1 sec
lcd.clear();
// vymažeme displej
delay(450);
lcd.setCursor(0,0);
lcd.print(" MIDICIMBALOM ");
delay(1000); // pauza 1 sec
lcd.clear(); // vymažeme displej
}
void loop()
{
cteni = digitalRead(dis);
if (cteni == true)
{
lcd.setCursor (4, 0);
lcd.print("D");
lcd.write((uint8_t)2);
lcd.createChar(2,customChar);
}
cteni = digitalRead(dis);
if (cteni == false)
{
lcd.setCursor (4, 0);
lcd.print(" ");
}
cteni = digitalRead(e);
if (cteni == true)
{
lcd.setCursor (6, 0);
lcd.print("E");
}
cteni = digitalRead(e);
if (cteni == false)
{
lcd.setCursor (6, 0);
lcd.print(" ");
}
cteni = digitalRead(f);
if (cteni == true)
{
lcd.setCursor (7, 0);
lcd.print("F");
}
cteni = digitalRead(f);
if (cteni == false)
{
lcd.setCursor (7, 0);
lcd.print(" ");
}
cteni = digitalRead(fis);
if (cteni == true)
{
lcd.setCursor (8, 0);
lcd.print("F");
lcd.write((uint8_t)2);
lcd.createChar(2,customChar);
}
cteni = digitalRead(fis);
if (cteni == false)
{
lcd.setCursor (8, 0);
lcd.print(" ");
}
cteni = digitalRead(g);
if (cteni == true)
{
lcd.setCursor (10, 0);
lcd.print("G");
}
cteni = digitalRead(g);
if (cteni == false)
{
lcd.setCursor (10, 0);
lcd.print(" ");
}
cteni = digitalRead(gis);
if (cteni == true)
{
lcd.setCursor (11, 0);
lcd.print("G");
lcd.write((uint8_t)2);
lcd.createChar(2,customChar);
}
cteni = digitalRead(gis);
if (cteni == false)
{
lcd.setCursor (11, 0);
lcd.print(" ");
}
cteni = digitalRead(a);
if (cteni == true)
{
lcd.setCursor (13, 0);
lcd.print("A");
}
cteni = digitalRead(a);
if (cteni == false)
{
lcd.setCursor (13, 0);
lcd.print(" ");
}
cteni = digitalRead(ais);
if (cteni == true)
{
lcd.setCursor (14, 0);
lcd.print("A");
lcd.write((uint8_t)2);
lcd.createChar(2,customChar);
}
cteni = digitalRead(ais);
if (cteni == false)
{
lcd.setCursor (14, 0);
lcd.print(" ");
}
cteni = digitalRead(c);
if (cteni == true)
{
lcd.setCursor (0, 0);
lcd.print("C");
}
cteni = digitalRead(c);
if (cteni == false)
{
lcd.setCursor (0, 0);
lcd.print(" ");
}
cteni = digitalRead(cis);
if (cteni == true)
{
lcd.setCursor (1, 0);
lcd.print("C");
lcd.write((uint8_t)2);
lcd.createChar(2,customChar);
}
cteni = digitalRead(cis);
if (cteni == false)
{
lcd.setCursor (1, 0);
lcd.print(" ");
}
cteni = digitalRead(d);
if (cteni == true)
{
lcd.setCursor (3, 0);
lcd.print("D");
}
cteni = digitalRead(d);
if (cteni == false)
{
lcd.setCursor (3, 0);
lcd.print(" ");
}
cteni = digitalRead(h);
if (cteni == true)
{
lcd.setCursor (15, 1);
lcd.print("H");
}
cteni = digitalRead(h);
if (cteni == false)
{
lcd.setCursor (15, 1);
lcd.print(" ");
}
//ZDE ZACINA PRAGRAM DEKODERU AKORDU//
byte RC = digitalRead(c);
byte RCIS = digitalRead(cis);
byte RD = digitalRead(d);
byte RDIS = digitalRead(dis);
byte RE = digitalRead(e);
byte RF = digitalRead(f);
byte RFIS = digitalRead(fis);
byte RG = digitalRead(g);
byte RGIS = digitalRead(gis);
byte RA = digitalRead(a);
byte RAIS = digitalRead(ais);
byte RH = digitalRead(h);
//Cdur//
if (RC == true && RE == true && RG == true && RCIS == false && RD == false && RDIS == false && RF ==false && RFIS == false && RGIS == false && RA == false && RAIS == false && RH == false)
{
x = true;
lcd.setCursor (0, 1);
lcd.print("Cdur ");
delay(10);
}
/*if (RC == false || RE == false || RG == false)
{
lcd.setCursor (0, 1);
lcd.print(" ");
x = false;
}*/else x = false;
if (x == false)
{digitalWrite(led,LOW);}
if (x == true)
{digitalWrite(led,HIGH);}
//Cisdur//
if (RCIS == true && RF == true && RGIS == true && RC == false && RE == false && RG == false && RDIS == false && RD == false && RFIS == false && RA == false && RAIS == false && RH == false)
{ xcisdur = true;
lcd.setCursor (0, 1);
lcd.print("C#dur ");
/* lcd.setCursor (1, 1);
lcd.write((uint8_t)2);
lcd.createChar(2,customChar);*/
delay(10);
}
else xcisdur = false;//if (RCIS == false || RF == false || RGIS == false)//
/*{lcd.setCursor (0, 1);
lcd.print(" ");}*/
//Cdur7 (C-E-G-AIS)//
if (RC == true && RE == true && RG == true && RCIS == false && RD == false && RDIS == false && RF ==false && RFIS == false && RGIS == false && RA == false && RAIS == true && RH == false)
{ xcs = true;
lcd.setCursor (0, 1);
lcd.print("Cdur7 ");
delay(10);
}
else xcs = false;// (RC == false || RE == false || RG == false)//
//Cmaj7//
if (RC == true && RE == true && RG == true && RCIS == false && RD == false && RDIS == false && RF ==false && RFIS == false && RGIS == false && RA == false && RAIS == false && RH == true)
{ xcm = true;
lcd.setCursor (0, 1);
lcd.print("Cmaj7 ");
delay(10);
}
else xcm = false;// (RC == false || RE == false || RG == false)//
//cmi C-DIS-G
if (RC == true && RDIS == true && RG == true && RCIS == false && RD == false && RE == false && RF == false && RFIS == false && RGIS == false && RA == false && RAIS == false && RH == false)
{ xcml = true;
lcd.setCursor (0, 1);
lcd.print("cmi ");
delay(10);
}
else xcml = false;
//cmi7 C-DIS-G-AIS //
if (RC == true && RDIS == true && RG == true && RCIS == false && RD == false && RE == false && RF == false && RFIS == false && RGIS == false && RA == false && RAIS == true && RH == false)
{ xcmls = true;
lcd.setCursor (0, 1);
lcd.print("=cmi7=D#dur6 ");
delay(10);
}
else xcmls = false;
//cmi6 C-DIS-G-A //
if (RC == true && RDIS == true && RG == true && RCIS == false && RD == false && RE == false && RF == false && RFIS == false && RGIS == false && RA == true && RAIS == false && RH == false)
{ xcmlsix = true;
lcd.setCursor (0, 1);
lcd.print("cmi6 ");
delay(10);
}
else xcmlsix = false;
//cm7maj C-DIS-G-H //
if (RC == true && RDIS == true && RG == true && RCIS == false && RD == false && RE == false && RF == false && RFIS == false && RGIS == false && RA == false && RAIS == false && RH == true)
{ xcmm = true;
lcd.setCursor (0, 1);
lcd.print("cm7maj ");
delay(10);
}
else xcmm = false;
//Cdim C-DIS-FIS-A//
if (RC == true && RDIS == true && RFIS == true && RA == true && RD == false && RE == false && RF == false && RG == false && RGIS == false && RCIS == false && RAIS == false && RH == false)
{ xcdim = true;
lcd.setCursor (0, 1);
lcd.print("dim =C=D#=F#=A ");
delay(10);
}
else xcdim = false;
//C+ C-E-GIS //
if (RC == true && RCIS == false && RD == false && RDIS == false && RE == true && RF == false && RFIS == false && RG == false && RGIS == true && RA == false && RAIS == false && RH == false)
{ xcplus = true;
lcd.setCursor (0, 1);
lcd.print("+zv. =C=E=G# ");
delay(10);
}
else xcplus = false;
//C#dur7 c#-F-H //
if (RC == false && RCIS == true && RD == false && RDIS == false && RE == false && RF == true && RFIS == false && RG == false && RGIS == false && RA == false && RAIS == false && RH == true)
{ xciss = true;
lcd.setCursor (0, 1);
lcd.print("C#dur7 ");
delay(10);
}
else xciss = false;
//C#maj7 C#-F-GIS-C//
if (RC == 1 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xcisms = true;
lcd.setCursor (0, 1);
lcd.print("C#maj7 ");
delay(10);
}
else xcisms = false;
//C#mi C#mi-E-Gis//
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xcismi = true;
lcd.setCursor (0, 1);
lcd.print("c#mi ");
delay(10);
}
else xcismi = false;
//C#mi7 C#-E-Gis-H //
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{
xcismis = true;
lcd.setCursor (0, 1);
lcd.print("=c#mi7=Edur6 ");
delay(10);
}
else xcismis = false;
//C#mi6 C#-E-GIS-AIS//
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 1 && RH == 0)
{ xcismisi = true;
lcd.setCursor (0, 1);
lcd.print("c#mi6 ");
delay(10);
}
else xcismisi = false;
//c#mi7maj c#-e-gis-c//
if (RC == 1 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xcismisemaj = true;
lcd.setCursor (0, 1);
lcd.print("c#mi7maj ");
delay(10);
}
else xcismisemaj = false;
//C#dim C#-E-G-AIS//
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xcisdim = true;
lcd.setCursor (0, 1);
lcd.print("dim =C#=E=G=A# ");
delay(10);
}
else xcisdim = false;
//Cis+ C#-F-A//
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xcispl = true;
lcd.setCursor (0, 1);
lcd.print("+zv. =C#=F=A ");
delay(10);
}
else xcispl = false;
//Ddur D-FIS-A//
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xddur = true;
lcd.setCursor (0, 1);
lcd.print("Ddur ");
delay(10);
}
else xddur = false;
//Ddur7 D-FIS-A-C//
if (RC == 1 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xddurs = true;
lcd.setCursor (0, 1);
lcd.print("Ddur7 ");
delay(10);
}
else xddurs = false;
//Dmaj7 D-FIS-A-CIS//
if (RC == 0 && RCIS == 1 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xdmajs = true;
lcd.setCursor (0, 1);
lcd.print("Dmaj7 ");
delay(10);
}
else xdmajs = false;
//dmi d-f-a//
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xdmi = true;
lcd.setCursor (0, 1);
lcd.print("Dmi ");
delay(10);
}
else xdmi = false;
//Dmi7 D-F-A-C//
if (RC == 1 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xdmise = true;
lcd.setCursor (0, 1);
lcd.print("=Dmi7=Fdur6 ");
delay(10);
}
else xdmise = false;
//Dmi6 D-F-A-H//
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 1)
{ xdmisix = true;
lcd.setCursor (0, 1);
lcd.print("Dmi6 ");
delay(10);
}
else xdmisix = false;
//Dm7maj D-F-A-CIS//
if (RC == 0 && RCIS == 1 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xdmsm = true;
lcd.setCursor (0, 1);
lcd.print("Dm7maj ");
delay(10);
}
else xdmsm = false;
//Ddim D-F-GIS-H//
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xdim = true;
lcd.setCursor (0, 1);
lcd.print("dim =D=F=G#=H ");
delay(10);
}
else xdim = false;
//D+ D-FIS-AIS//
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xdsus = true;
lcd.setCursor (0, 1);
lcd.print("+zv. =D=F#=A# ");
delay(10);
}
else xdsus = false;
//Disdur (D#-G-A#)//
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xdisdr = true;
lcd.setCursor (0, 1);
lcd.print("D#dur ");
delay(10);
}
else xdisdr = false;
//D#dur7 (D#-G-AIS-CIS)//
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xdisdrs = true;
lcd.setCursor (0, 1);
lcd.print("D#dur7 ");
delay(10);
}
else xdisdrs = false;
//D#maj7 (D#-G-A#-D)//
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xdismjs = true;
lcd.setCursor (0, 1);
lcd.print("D#maj7 ");
delay(10);
}
else xdismjs = false;
//D#mi (D#-F#-A#)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xdismi = true;
lcd.setCursor (0, 1);
lcd.print("d#mi ");
delay(10);
}
else xdismi = false;
//D#mi7 (D#-F#-A#-C#)//
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xdismis = true;
lcd.setCursor (0, 1);
lcd.print("=d#mi7=F#dur6 ");
delay(10);
}
else xdismis = false;
//D#mi6 (D#-F#-A#-C)//
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xdismisix = true;
lcd.setCursor (0, 1);
lcd.print("d#mi6 ");
delay(10);
}
else xdismisix = false;
//D#mi7maj (D#-F#-A#-D)//
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xmidissmaj = true;
lcd.setCursor (0, 1);
lcd.print("d#mi7maj ");
delay(10);
}
else xmidissmaj = false;
//D# zv. (D#-G-H)//
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xdiszv = true;
lcd.setCursor (0, 1);
lcd.print("+zv. =D#=G=H ");
delay(10);
}
else xdiszv = false;
//Edur (E-G#-H)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xedr = true;
lcd.setCursor (0, 1);
lcd.print("Edur ");
delay(10);
}
else xedr = false;
//Edur7 (E-G#-H-D)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xedrs = true;
lcd.setCursor (0, 1);
lcd.print("Edur7 ");
delay(10);
}
else xedrs = false;
//Emaj7 (E-G#-H-D#)//
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xemaj = true;
lcd.setCursor (0, 1);
lcd.print("Emaj7 ");
delay(10);
}
else xemaj = false;
//emi (e-g-h)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xemi = true;
lcd.setCursor (0, 1);
lcd.print("emi ");
delay(10);
}
else xemi = false;
//emi7 (e-g-h-d)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xemis = true;
lcd.setCursor (0, 1);
lcd.print("=emi7=Gdur6 ");
delay(10);
}
else xemis = false;
//emi6 (e-g-h-c#)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xemisix = true;
lcd.setCursor (0, 1);
lcd.print("emi6 ");
delay(10);
}
else xemisix = false;
//emi7maj (e-g-h-d#)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 1 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xemimajs = true;
lcd.setCursor (0, 1);
lcd.print("emi7maj ");
delay(10);
}
else xemimajs = false;
//Fdur(F-A-C)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xfdur = true;
lcd.setCursor (0, 1);
lcd.print("Fdur ");
delay(10);
}
else xfdur = false;
//Fdur7(F-A-C-D#)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xfdrs = true;
lcd.setCursor (0, 1);
lcd.print("Fdur7 ");
delay(10);
}
else xfdrs = false;
//Fmaj7(F-A-C-E)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 1 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xfmajs = true;
lcd.setCursor (0, 1);
lcd.print("Fmaj7 ");
delay(10);
}
else xfmajs = false;
//Fmi(F-G#-C)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xfmi = true;
lcd.setCursor (0, 1);
lcd.print("fmi ");
delay(10);
}
else xfmi = false;
//Fmi7(F-G#-C-D#)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xfmis = true;
lcd.setCursor (0, 1);
lcd.print("=fmi7=G#dur6 ");
delay(10);
}
else xfmis = false;
//Fmi6(F-G#-C-D)
if (RC == 1 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xfmisix = true;
lcd.setCursor (0, 1);
lcd.print("fmi6 ");
delay(10);
}
else xfmisix = false;
//fmimaj7(F-G#-C-E)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 1 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xfmimajs = true;
lcd.setCursor (0, 1);
lcd.print("fmimaj7 ");
delay(10);
}
else xfmimajs = false;
//F#dur(F#-A#-C#)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xfisdur = true;
lcd.setCursor (0, 1);
lcd.print("F#dur ");
delay(10);
}
else xfisdur = false;
//F#dur7(F#-A#-C#-E)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xfisdurs = true;
lcd.setCursor (0, 1);
lcd.print("F#dur7 ");
delay(10);
}
else xfisdurs = false;
//F#maj7(F#-A#-C#-F)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xfismajs = true;
lcd.setCursor (0, 1);
lcd.print("F#maj7 ");
delay(10);
}
else xfismajs = false;
//f#mi(F#-A-C#)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xfismi = true;
lcd.setCursor (0, 1);
lcd.print("f#mi ");
delay(10);
}
else xfismi = false;
//f#mi7(F#-A-C#-E)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xfismis = true;
lcd.setCursor (0, 1);
lcd.print("=f#mi7=Adur6 ");
delay(10);
}
else xfismis = false;
//f#mi6(F#-A-C#-D#)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xfismisix = true;
lcd.setCursor (0, 1);
lcd.print("f#mi6 ");
delay(10);
}
else xfismisix = false;
//f#mi7maj(F#-A-C#-F)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xfismisemaj = true;
lcd.setCursor (0, 1);
lcd.print("f#mi7maj ");
delay(10);
}
else xfismisemaj = false;
//Gdur(G-H-D)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xgdur = true;
lcd.setCursor (0, 1);
lcd.print("Gdur ");
delay(10);
}
else xgdur = false;
//Gdur7(G-h-d-f)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xgdurs = true;
lcd.setCursor (0, 1);
lcd.print("Gdur7 ");
delay(10);
}
else xgdurs = false;
//Gmaj7(G-h-d-f#)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xgmajs = true;
lcd.setCursor (0, 1);
lcd.print("Gmaj7 ");
delay(10);
}
else xgmajs = false;
//gmi(g-a#-d)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xgmi = true;
lcd.setCursor (0, 1);
lcd.print("gmi ");
delay(10);
}
else xgmi = false;
//gmi7(g-a#-d-f)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xgmis = true;
lcd.setCursor (0, 1);
lcd.print("=gmi7=A#dur6 ");
delay(10);
}
else xgmis = false;
//gmi6(g-a#-d-e)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xgmisix = true;
lcd.setCursor (0, 1);
lcd.print("gmi6 ");
delay(10);
}
else xgmisix = false;
//gmimaj7(g-a#-d-f#)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xgmimajs = true;
lcd.setCursor (0, 1);
lcd.print("gmi7maj ");
delay(10);
}
else xgmimajs = false;
//G#dur(G#-C-D#)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xgisdur = true;
lcd.setCursor (0, 1);
lcd.print("G#dur ");
delay(10);
}
else xgisdur = false;
//G#dur7(G#-C-D#-F#)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xgisdurs = true;
lcd.setCursor (0, 1);
lcd.print("G#dur7 ");
delay(10);
}
else xgisdurs = false;
//G#maj7(G#-C-D#-G)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 0)
{ xgismajs = true;
lcd.setCursor (0, 1);
lcd.print("G#maj7 ");
delay(10);
}
else xgismajs = false;
//g#mi(g#-H-D#)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xgismi = true;
lcd.setCursor (0, 1);
lcd.print("g#mi ");
delay(10);
}
else xgismi = false;
//g#mi7(g#-h-d#-f#)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xgismis = true;
lcd.setCursor (0, 1);
lcd.print("=g#mi7=Hdur6 ");
delay(10);
}
else xgismis = false;
//g#mi6(g#-h-d#-f)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xgismisix = true;
lcd.setCursor (0, 1);
lcd.print("g#mi6 ");
delay(10);
}
else xgismisix = false;
//g#mimaj7(g#-h-d#-g)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xgismimajs = true;
lcd.setCursor (0, 1);
lcd.print("g#mi7maj ");
delay(10);
}
else xgismimajs = false;
//Adur(A-C#-E)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xadur = true;
lcd.setCursor (0, 1);
lcd.print("Adur ");
delay(10);
}
else xadur = false;
//Adur7(A-C#-E-G)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xadurs = true;
lcd.setCursor (0, 1);
lcd.print("Adur7 ");
delay(10);
}
else xadurs = false;
//Amaj7(A-C#-E-A#)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 1 && RH == 0)
{ xamajs = true;
lcd.setCursor (0, 1);
lcd.print("Amaj7 ");
delay(10);
}
else xamajs = false;
//ami(a-c-e)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xami = true;
lcd.setCursor (0, 1);
lcd.print("ami ");
delay(10);
}
else xami = false;
//ami7(a-c-e-g)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xamis = true;
lcd.setCursor (0, 1);
lcd.print("=ami7=Cdur6 ");
delay(10);
}
else xamis = false;
//ami6(a-c-e-f#)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 0)
{ xamisix = true;
lcd.setCursor (0, 1);
lcd.print("ami6 ");
delay(10);
}
else xamisix = false;
//ami7maj(a-c-e-g#)
if (RC == 1 && RCIS == 0 && RD == 0 && RDIS == 0 && RE == 1 && RF == 0 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 1 && RAIS == 0 && RH == 0)
{ xamismaj = true;
lcd.setCursor (0, 1);
lcd.print("ami7maj ");
delay(10);
}
else xamismaj = false;
//A#dur(a#-d-f)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xaisdur = true;
lcd.setCursor (0, 1);
lcd.print("A#dur ");
delay(10);
}
else xaisdur = false;
//A#dur7(A#-D-F-G#)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 1 && RH == 0)
{ xaisdurs = true;
lcd.setCursor (0, 1);
lcd.print("A#dur7 ");
delay(10);
}
else xaisdurs = false;
//A#maj7(A#-D-F-A)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 1 && RH == 0)
{ xaismajs = true;
lcd.setCursor (0, 1);
lcd.print("A#maj7 ");
delay(10);
}
else xaismajs = false;
//a#mi(a#-c#-F)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xaismi = true;
lcd.setCursor (0, 1);
lcd.print("a#mi ");
delay(10);
}
else xaismi = false;
//a#mi7(a#-c#-f-g#)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 1 && RH == 0)
{ xaismis = true;
lcd.setCursor (0, 1);
lcd.print("=a#mi7=C#dur6 ");
delay(10);
}
else xaismis = false;
//a#mi6(a#-c#-f-g)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 1 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 0)
{ xaismisix = true;
lcd.setCursor (0, 1);
lcd.print("a#mi6 ");
delay(10);
}
else xaismisix = false;
//a#mi7maj(a#-c#-f-a)
if (RC == 0 && RCIS == 1 && RD == 0 && RDIS == 0 && RE == 0 && RF == 1 && RFIS == 0 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 1 && RH == 0)
{ xaismismaj = true;
lcd.setCursor (0, 1);
lcd.print("a#mi7maj ");
delay(10);
}
else xaismismaj = false;
//Hdur(H-D#-F#)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xhadur = true;
lcd.setCursor (0, 1);
lcd.print("Hdur ");
delay(10);
}
else xhadur = false;
//Hdur7(H-D#-F#-A#)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 1)
{ xhadurs = true;
lcd.setCursor (0, 1);
lcd.print("Hdur7 ");
delay(10);
}
else xhadurs = false;
//Hmaj7(H-D#-F#-A#)
if (RC == 0 && RCIS == 0 && RD == 0 && RDIS == 1 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 1)
{ xhamajs = true;
lcd.setCursor (0, 1);
lcd.print("Hmaj7 ");
delay(10);
}
else xhamajs = false;
//hmi(h-d-f#)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 0 && RH == 1)
{ xhmi = true;
lcd.setCursor (0, 1);
lcd.print("hmi ");
delay(10);
}
else xhmi = false;
//hmi7(h-d-f#-a)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 1 && RAIS == 0 && RH == 1)
{ xhmis = true;
lcd.setCursor (0, 1);
lcd.print("=hmi7=Ddur6 ");
delay(10);
}
else xhmis = false;
//hmi6(h-d-f#-g#)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 1 && RA == 0 && RAIS == 0 && RH == 1)
{ xhmisix = true;
lcd.setCursor (0, 1);
lcd.print("hmi6 ");
delay(10);
}
else xhmisix = false;
//hmi7maj(h-d-f#-a#)
if (RC == 0 && RCIS == 0 && RD == 1 && RDIS == 0 && RE == 0 && RF == 0 && RFIS == 1 && RG == 0 && RGIS == 0 && RA == 0 && RAIS == 1 && RH == 1)
{ xhmismaj = true;
lcd.setCursor (0, 1);
lcd.print("hmi7maj ");
delay(10);
}
else xhmismaj = false;
//definování mazání displaye//
/*pripomenuti promennych akordu;
boolean x;
boolean xcisdur;
boolean xcs;
boolean xcdsix;
boolean xcm;
boolean cls;*/
if ((x || xcisdur || xcs || xcdsix || xcm || xcml || xcmls || xcmlsix || xcmm || xcdim || xcplus || xciss || xcisdrs || xcisms ||
xcismi || xcismis || xcismisi || xcismisemaj || xcisdim || xcispl || xddur || xddurs || xddursix || xdmajs || xdmi ||
xdmise || xdmisix || xdmsm || xdim || xdsus || xdisdr || xdisdrs || xdisdrsx || xdismjs || xdismi || xdismis || xdismisix || xmidissmaj ||
xdiszv || xedr || xemaj || xedrs || xemi || xemisix || xemis || xemimajs || xfdur || xfdrs || xfmajs || xfmi || xfmis || xfmisix || xfmimajs
|| xfisdurs || xfisdur || xfismajs || xfismaj || xfismi || xfismis || xfismisemaj|| xfismisix || xgdur || xgdurs || xgmajs || xgmi || xgmis ||
xgmisix || xgmimajs || xgisdur || xgisdurs || xgismajs || xgismi || xgismis || xgismisix || xgismimajs || xadur || xadurs || xamajs || xami ||
xamis || xamisix || xamismaj || xaisdur || xaisdurs ||xaismajs || xaismi || xaismis || xaismisix || xaismismaj || xhadur || xhadurs || xhamajs
|| xhmi || xhmis || xhmisix || xhmismaj) == true)
{cls = true;}
else cls = false;
if (cls == false)
{lcd.setCursor (0, 1);
lcd.print(" ");}
}