This is an old revision of the document!
In the freestyle mode, you can play any song you want. The LED corresponding to the piano key you pressed will light up imediatelly.
In the teaching mode, the LED corresponding to the piano key on which you have to press will light up. If you pressed the correct piano key, the keyboard will move to the next note. Otherwise, all LEDS will change their color to red.
Using the active feedback way of learning (based on the repetition of all the notes learned until then) you will learn the desired song you always wanted.
For this project, I used:
My program contains the basic arduino functions setup() and loop() and some other more like getNote() function and learnSong().
I used only 2 analogical pins for all the 8 pushbuttons correspoding to the keyboard, so that at first we are obliged to find out the corresponding values of every button. Based on what is displayed in the Serial monitor from A0 or A1, we can deduce what note has been pressed.
I also used 2 timers, one in order to control the leds and one for the buzzer. I added interruptions, one for the switch button and one for the start/restart button.