I built a simple analog sequencer using the CMOS 4017 chip to control a VCO. Each pin of the 4017 is connected to a pot and as I change the values, I often think it’d be cool to hear my knob turns played back at me in order. This is something that is much easier in the digital world, so I decided to hook it up to Arduino.
I can easily just pass the signal through to the VCO with something like this:
sequence = analogRead(signalIn);
However, what I want to do is store the analog signal in a buffer that I can then sequence. Basically, I need to store it in something like an array that holds snippets of continuous analog signal and would start recording the next value when it receives a high or low signal from the reset pin on the 4017. Then I could have it play back each snippet of signal in order to replicate my hands turning the pots.
I’m not really sure how to store a few seconds of analog signal other than having a while loop with a short delay fill an array. However, I don’t believe the Arduino language allows arrays of arrays so I don’t know how to organize the samples separately for each time the 4017 runs through its sequence.
I hope this makes sense…I’m not sure if I’m using the correct terminology for everything. Please let me know if there’s anyway I can clarify.