I have built an arduino piano using tact switches and shift registers. I have a total keys of 16 as of now (still want to add more keys. make it 24 or 32). it plays perfectly. the ouput is played on a speaker.
So my prof wanted me to add a record and playback function to the project.
Is it possible? haha. i do not know what approach im going to take for this one.
if so, what codes should i look into for creating such function.
Are there any related project i can study?
my thoughts about this is that if one button was pressed, everything played will be "recorded" or saved somewhere and if another button was pressed, it will playback everything played. (including the pauses/rests)
Seeking help for its feasibility. and I want to learn the working codes i need for this to be produced.
mpampellona:
Is there another way of doing this without using sd card?
Is the EEPROM of your Arduino board already in use for your project?
An Arduino UNO has 1024 bytes of EEPROM memory.
If you organize the EEPROM as a buffer of 512 two byte records s each, one byte representing the key pressed and the other byte representing the note duration, you could use the EEPROM to record up to 512 keys/notes played, including note durations. Is 512 notes playback enough for your project? In case yes, I'd use EEPROM.
On-chip EEPROM takes 3.3mS for a write.
You could also look into adding an FRAM chip.
Can store a lot more than EEPROM, with SPI interface can be written to much quicker also.
Search for FRAM Memory at Digikey.com. DIP packages no longer available, can buy a fairly easy to solder SMD part and a DIP adapter board for breadboard use.