The function of the pullup resistors is to eliminate enviromental electrical noise on inputs that are not used.
They are also necessary for the correct operation of the buttons.
In order to make the DART circuit as simple as possible for the end user,the native pullup resistors of the atmel microcontrollers are active on all inputs.
However, it is possible to disable the internal pullup resistors from the main tab of the sketch:
The advantage in the use of external pullup resistors is to be able to connect them only where needed and to have greater precision in reading potentiometers.
The following example illustrates different ways of using pullup resistors:
- A – A single pullup resistor is used on the multiplexer output. The eight inputs of the mutiplexer are ready to read buttons and potentiometers, but they can also be left unconnected, without the risk that any environmental noise will be translated into unwanted MIDI messages.
- B – Four rotary potentiometers are connected to the inputs of the mutiplexer without using pullup resistors, so as to read their position with maximum precision. The remaining inputs of the multiplexer are equipped with pullup resistors, to avoid noise.
- C – As in case A, the third multiplexer is equipped with a single pullup resistor which will be valid for all inputs of the multiplexer.
- D – A button is connected to an input equipped with a pullup resistor, without which it could not work.
A slide potentiometer is connected to an input not equipped with a pullup resistor.
- E – In this case the multiplexer is completely isolated, connecting the Arduino A4 input directly to ground. The eight inputs of the multiplexer cannot be used.
- F – A button is connected directly to the Arduino A5 input, without using a multiplexer. The pullup resistor is however used to ensure the correct reading of the state of the button.