Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 3 of 3

Thread: Feasibility: 14 analog inputs -> 3.6 -> USB MIDI

  1. #1
    Junior Member
    Join Date
    Jun 2020
    Posts
    2

    Feasibility: 14 analog inputs -> 3.6 -> USB MIDI

    Hi, all.

    I will ask a couple of questions soon. First a little background. I am a novice with electronics and fairly handy with software. My goal is to create a USB-attached midi controller that acts like a mallet instrument (Glockenspiel, Marimba, etc.) I have seen others use 'piezo discs' to produce current that is then read by Arduino analog ports. I gather that I need to be very careful about voltage and I think that I know how to accomplish that. I have a 3.2 and have programmed it to send MIDI messages via USB but I have not attached anything to any ports. So I'm ready to move ahead. Here are my questions:

    1) If I buy a 3.6 with pre-soldered pins and plug it in to a breadboard, how many analog ports would be available for use?

    2) Is there a limit to how many analog ports can be polled (read) and processed? I think that I need fourteen (14) analog ports in order to have an instrument with 14 keys.

    Thank you very much for your kind consideration and help.

    ps. I am amazed that something like the Teensy exists and that I can turn it into a functioning MIDI controller with 20 minutes of coding - my compliments to the geniuses who make that possible!

  2. #2
    Senior Member+ Theremingenieur's Avatar
    Join Date
    Feb 2014
    Location
    Colmar, France
    Posts
    2,583
    1.) Without extra soldering to access inner pads or pins, you'll have directly access to 21 analog pins on the outer row on breadboard.

    2.) There are no limits in the number of analog ports which can be read. But you'll have to understand that most Teensy boards have only one or two internal ADC blocks, so pins will be read sequentially, one after the other. It's fairly easy to get 100.000 samples per second from the ADCs, so, if you use for example 14 pins to read, you can read all all of them 100.000 / 14 = 7143 times a second. This is not a problem since I do not know any marimba player who can do 42.000bpm... You'll just have to take care when designing the piezo interface circuit (diode-capacitor-resistor network) to provide it with a time constant of >= 5 / 7143 which equals 0.7ms, so that occurring voltage peaks will still be available at the corresponding ADC port when the circular reading algorithm stops by.

  3. #3
    Junior Member
    Join Date
    Jun 2020
    Posts
    2
    "You'll just have to take care when designing the piezo interface circuit (diode-capacitor-resistor network) to provide it with a time constant of >= 5 / 7143 which equals 0.7ms, so that occurring voltage peaks will still be available at the corresponding ADC port when the circular reading algorithm stops by."

    Thank you, Theremingenieur.

    It would have taken me a long time to figure that out. And thank you as well for the quick and complete answer. I truly appreciate your help.

    Now where is my breadboard...?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •