Reading 6 pots and 12 buttons

Hello

I am trying to make a simple controller to interface with pure data. The construction is as simple as can be for arduino - 6 potentiometers (analog ins), 8 switches (foot controller, connected to digital pins 2-9)) and 4 buttons (on digital pins 2-13)

All of them seem to work however when i turn more than four pots to maximum last two buttons stop to respond With five knods set to max when i push and hold two buttons (pins 10,11) they work ok but if i try to hold third (12 or 13) there is no signal. If all 6 pots are on max then only one button works (pin 9).

I tried putting buttons on pins 2-5 and then they work fine.

I assume that the problem is that reading all arduino inputs at once drains too much current. When to much current is used on analog ins arduino has problem with powering last analog ins (12 and 13).

Can anyone suggest me some way to improve the circut?

Buttons are connectet with 10k resistors Foot swithes are without ane resistors (first leg to 5v, third to gnd and the seccond one directly to input). I tried connecting pots to input through 10k resistors but it makes no change. Power is from USB port.

Thanks in advance for any help.

Maciej

I assume that the problem is that reading all arduino inputs at once drains too much current.

Unless there's something really seriously strange going on, that shouldn't be a problem. The ADC inputs are high-impedance, nothing you can put to them between 0 and 5V should cause excessive current sink or source. You could tie them all to 0V, or all to 5V, and they should work.

Could you please post details of your circuit? A schematic or a clear photo showing the connections would help.

Jon The Arduino Shield List: http://shieldlist.org

hello jonathan

thank you for your reply

i have no schematic and i am pretty sure that if i made photo of my spaghetti construction it wouldnt help you either ;)

but the is construction technically quite simple pots are connected straight away like in arduino examples buttons and switches as well

when up to 4 pots are on max everything works when 4 pots are on max and i move the 5th up to about 20% the 13th digital pin stops to respond (no matter which button or switch is connected to it), when i turn th 5th pot down then the button works again, when 5 pot are on max then 12th and 13th pin stop to respond.

I thought that the problem might be with not enough power from laptop usb port but it works the same on my desktop.

Any clues?

m

i have no schematic

Then can you post your code, that might give a hint. Maybe you have an "input" set to be an output.

when 4 pots are on max and i move the 5th up to about 20%

Does the same happen if you try different combinations? IE pot 1, 2, 4, 5 at max then wind 3 up.


Rob

I use SimpleMessageSystem to comunicate with Pure Data. There is no difference if change it to firmata and Pduino so i don`t think it is a case of software.

Different combination of potentiometers gives the same results.

m

Something is wrong with your pots. You'll have to show your spaghetti. How large is your potentiometer? 10KOhm as well?

I'd like to see one pot and one push button on your picture if that's possible.

I use these kinds of pots and buttons: http://www.maciejwojnicki.bzzz.net/potencjometry.jpg

in action it looks something like that: http://www.maciejwojnicki.bzzz.net/kontroler.jpg

the instalation is crappy but evertything is in the right place, i have checked it too many times

if it makes any difference two of the pots are logarythmic and four are linear but as i mentioned before it doesnt matter which are turned on

thanks for help

ma

Well, although this is the hardware part of the forum, looking at your code would be useful.

I thought that the problem might be with not enough power from laptop usb port but it works the same on my desktop.

The USB spec states a 500mA current limit, and there is absolutely no way an Arduino should consume 500mA when it's connected to nothing but a bunch of inputs. If they're all in input mode (which @Graynomad questioned, but didn't get a direct answer to) then they will be high impedance and negligible current will flow into them.

You've said that everything is connected "like in the examples" but not said how that is, and if you won't post either the circuit or the code then there's not much that anyone can do to help you. We're all still trying to guess what you're doing.

Jon

i have no schematic

If you have no schematics then how could you possibly have wired it up. I can’t do that and I am 10,000 times better at this than you. :wink:

As I wrote before firmware I am using is either code that comes with Simple Message System or firmata (i tried "standart firmata" and "all inputs firmata" from the arduino examples) with no modification at all.

As for the circuit connections.

Pots: 1 - shared 5V, 2. analog input 3. shared gnd

Buttons: 1. shared 5V 2. digital input and shared gnd through 10k resistor

Foot switches: 1. shared 3V3 2. digital input 3. shared ground

Everything is connected straight forward - 6 pots to 6 analog inputs and 12 buttons and foot switches to digital inputs 2-13

........... i have no schematic and please dont make me draw any.. i have never been doing it ;)

you made arduino accesible for barbarians and i am one of them

thank you for your patiance

ma

i have checked it too many times

That's actually part of the problem, you "know" it's right. There wouldn't be a single person here who hasn't said the same thing a 100 times only to have a workmate look over their shoulder and say "Shouldn't the red wire be there?" or "You've got x = y not x == y". It happens to everyone (appologies to anyone to whom this is not the case :))

If the software is right and the hardware is right then it works. I don't know that we can do much more.


Rob

Sorry Dude. You need to draw a schematic.

This guy is NOT US....

You need to draw a schematic.

Yep, and not what is supposed to be there, what actually is there.


Rob