Arduino Arpegiator module

And it’s Done, Tagged onto my JLC order :wink:

Will Be cool to see how it sounds.

5 Likes

Maybe it would be good to add somewhere on the schem, that the original schema and code come from YMNK.

btw i think that “Note Out” jack socket will be a better description with “CV out”, this module don’t make sound like a VCO, just send some voltage.

2 Likes

Had the same thought about “NOTE OUT”. It also bugs me that the output is to the left of the input. And I would’ve put individual labels on the note switches. But these are minor quibbles.

2 Likes

Note-Out - True, the original Schematic shows “Pitch Out” I just changed that without thinking much on it

Everything (Schematic, PCB, Panel, Code ) will be credited to YMNK once checked and functional with my revisions, Then I will release the GIT.

4 Likes

#Realisation Sets In…. "I was going to label them… I could not determine from the code or the schematic what the top row of switches was for /#Realisation. Yes now I realise that he said Keyboard, and they are not spaced oddly but are laid out like a keyboard DOH! DOH!!!

Well that will be sorted for the next version :wink: . … and I can swap the Jacks.

In fact I think the next version will be a bit different ( PB86 push buttons with LED’s, a duino MegaPro that can save the button state…) …

1 Like

you forgot the 11 resistors of 10K to the earth on the right ?

Not forgotten,

The switches have been changed to “switched to ground” and the code will be changed to use “INPUT_PULLUP” which provides internal pullup resistors instead of using the external pull down ones.

Cheers

Rob

3 Likes

ok sorry, thanks for the explanations

1 Like

Hi Guys! ymnk’s here :smiley:
Wow, I’m so happy that some of you will build this thing! I’m actually very proud of it, and I use it in all my music cause it is soooo convenient.
About few remarks :

  • I didn’t know about the INPUT_PULLUP thing! What a crazy thing, it can saves me a dozen of resistor in different projects! Does this works with Analog inputs too?
  • I spent a some time finding a good solution to protect the clock input, but since I am a total beginner in electronics, I think I will keep in mind the the 1N5817 solution!
  • PB86 push buttons! Yes, it will be an awesome update for the next version!
  • About the 78L05 thing … someone also told me that you don’t actually need this. So you just have to wire the 12V to the VIN input instead?

BTW, thans to Dud for posting this here! Really appreciate the sharing!

12 Likes

Welcome, and thanks for sharing your design!

4 Likes

salut @YMNK et content de te voir ici :wink:

(Trad : hello and happy to see you here)

4 Likes

I use this picture as a guide.

The VIN on the right is the one that uses an on board power regulator and accepts 7 to 12 Volts DC.

DO NOT USE the 5V pin for that kind of voltages. Conversely, if you have a power supply which delivers 5 V DC, then do NOT USE the VIN input. In that case use the 5V input.

It appears that an analog input on a nano can either route the signal to an ADC or it can be treated like a digital input having an optional pullup resistor:

The analogRead() function disconnects the digital section of the pin, and connects that pin to the analog to digital converter. However, the input pull-up resistor is a completely separate function, and can interfere with ADC readings.

5 Likes

Except for A6 and A7 which are analog only.

6 Likes

wow, thanks for your answers
Ok I get it for the VIN. I will update my blueprint!

4 Likes

Yeah, thanks for sharing. I t sounded cool :wink:

The Input Pullup seems to be less well publicised than it should be.

Personally I stick with the VoltReg, but each to their own.

I like the idea of using the PB86’s with twin LED ( one for “selected” one for “playing” ) and writing the settings to EEPROM to restore after power cycle… I have ordered 10 each in white and black :wink: … It will use more I/O so would have to use a “Arduino Mega Pro” …

Really interested to see what can be done :slight_smile:
Cheers

Rob

3 Likes

If you are using a nano clone then using an external 5v reg is not a bad decision as it is a component they often cheap out on to save a few cents

1 Like

just noticed this morning that the clock input buffer is missing the pad connection between the diofdes and resistor… easy bodge to fix.

I have refreshed my memort on how to store bytes to eeprom, this will be critical on my next version using non latching push buttons.

The DAC boards arrived the other day, and the PCB’s left the airport in china on the 15th…

6 Likes

Hello everyone, first post on this forum.

Hope you don’t mind a question.
Being still a noob at Arduino I’d be interested in learning how I can change the inputs to pull-up so to omit the resistors.
Also, if I’d like to build it using a bare 328 I would be missing one pin as A6 and A7 are not present, could I change the mode selection toggles with one potentiometer to select the different modes, could someone enlighten me? Many thanks in advance

2 Likes

Are you asking how you can enable the internal pull up resistors for an input pin on an Arduino? This is all you need to do:

void setup() {
    pinMode(pin, INPUT_PULLUP);
}
2 Likes

Hey Caustic,

Many thanks for getting back.

I have poorly written my question, my apologies.

I’m interested in knowing which bits of the specific code discussed in this thread needs changing.

My initiaL guess are those two bits of code to specify the INPUT_PULLUP?
And change the digital read to LOW?

    for (int i = 2; i <= 13; i++) {
    pinMode(i,INPUT);
}

for (int i = 2; i <= 13; i++) {
pinMode(i,INPUT);
int n = 13 - i;

    //I inverted pin 6 and 5 ... shame on me
    if (n == 6) {
        n = 5;
    } else if (n == 5) {
        n = 6;
    }
    notes[n] = digitalRead(i) == HIGH;
}

Thanks