Arduino pekskärmstangentbord (5 / 5 steg)
Steg 5: Funktioner av Arduino skiss
Skiss har konverterats till objektorienterad stil
Varför skedde detta?
Mitt skäl: eftersom det är roligt att lära sig saker, och Arduino handlar om lärande.
Det tekniska skälet: eftersom när du har konverterat din skiss i separata, objektorienterad komponenter, det är lättare att underhålla - och komponenterna"koden" är tillgängliga för andra användningsområden - till exempel kan du använda dem i andra skisser.
(Obs: den vanliga termen för detta objekt orienterad komponent strategi är "inkapsling".)
Lista över skiss funktioner:
KeyboardOO har ett antal funktioner. (Studera skissen för att se hur dessa funktioner genomfördes.)
-Den använder en TFT skärmkalibrering rutin för pekskärmen. Denna rutin är tagen från Adafruit exempel skissen "På--Off Switch".
-Den har pekskärm tangenter och knappar som tillåter dig att spela toner och ändra musikaliska oktaver. Det finns en fullständig 7 oktaver.
-Det har en rutin som övervakar tillståndet ändras - oavsett om en nyckel touch har förändrats sedan den förra behandlingen. Detta är nödvändigt för att säkerställa en enkel knapptryckning, oavsett längd, ändras bara oktav en gång (dvs. den undviker hoppning oktaver).
-Det anger en matris med musiknoter och deras frekvenser vid första Oktaven. Musikaliska frekvenser öka med en faktor 2 till power n där n är antalet valda octave. (Se http://en.wikipedia.org/wiki/Octave .) För att göra denna frekvens justering har vi använt bitshift operatören ">>" ( http://arduino.cc/en/Reference/Bitshift ). Du kan också använda funktionen power "pow()" ( http://arduino.cc/en/Reference/Pow ) för att uppnå samma resultat.
-De tangenter och knappar som octave har konverterats till objektorienterad programkomponenter som dra tangenter och knappar på skärmen, och att kontrollera om en nyckel eller knappen har berörts.