Go Down

Topic: 64+ inputs in Arduino (Read 626 times) previous topic - next topic

alrosh7

I am working on a project but I will need more than 70+ inputs and also being able to read them simultaneously and send them wirelessly. I have an arduino uno and I was wondering if it is possible to built such a system with the hardware that I have?

PaulS

Quote
but I will need more than 70+ inputs

Analog or digital?

Quote
also being able to read them simultaneously

Nothing happens simultaneously. What is your real requirement?

Quote
and send them wirelessly.

How is this relevant?

Quote
I have an arduino uno and I was wondering if it is possible to built such a system with the hardware that I have?

Depends on details you haven't provided.

alrosh7


Quote
but I will need more than 70+ inputs

Analog or digital?

Quote
also being able to read them simultaneously

Nothing happens simultaneously. What is your real requirement?

Quote
and send them wirelessly.

How is this relevant?

Quote
I have an arduino uno and I was wondering if it is possible to built such a system with the hardware that I have?

Depends on details you haven't provided.


Well from analog or digital I would choose the one that allows me to have more inputs. As for the other question, most of them are note relevant you are right. My requirement is to gather input from 64+ buttons as they happen very fast. Like reading a keyboard keypresses!

PaulS

Quote
Well from analog or digital I would choose the one that allows me to have more inputs.

A switch is a digital device. It is either on or off.

A potentiometer is an analog device. It can return a range of values.

You don't just randomly choose one. You use multiplexers of the appropriate kind, based on the type of device providing the input.

Quote
My requirement is to gather input from 64+ buttons as they happen very fast. Like reading a keyboard keypresses!

My keypresses are not fast at all. Except for the backspace key. I use it a lot.

CrossRoads

You can capture the state of as many digital inputs at one time as you want by having them connected to parallel/serial shift registers.
Use 1 Latch/clock pin to capture all inputs at one time, then SPI.transfer()s to move the string as bytes into an array, and send out the array.

http://www.digikey.com/product-detail/en/74HCT597N,652/568-7862-5-ND/1230993

On the other hand, if you want a keypad, then the keypad.h library will support a 72-button keypad with 17 pins, or 81-button keypad with 18 pins.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

alrosh7


Quote
Well from analog or digital I would choose the one that allows me to have more inputs.

A switch is a digital device. It is either on or off.

A potentiometer is an analog device. It can return a range of values.

You don't just randomly choose one. You use multiplexers of the appropriate kind, based on the type of device providing the input.

Quote
My requirement is to gather input from 64+ buttons as they happen very fast. Like reading a keyboard keypresses!

My keypresses are not fast at all. Except for the backspace key. I use it a lot.


Thanks for the information. I will go for digital. Now is there any way to connect 64+ buttons to an arduino?

alrosh7


You can capture the state of as many digital inputs at one time as you want by having them connected to parallel/serial shift registers.
Use 1 Latch/clock pin to capture all inputs at one time, then SPI.transfer()s to move the string as bytes into an array, and send out the array.

http://www.digikey.com/product-detail/en/74HCT597N,652/568-7862-5-ND/1230993

On the other hand, if you want a keypad, then the keypad.h library will support a 72-button keypad with 17 pins, or 81-button keypad with 18 pins.



Thanks! That was very useful!

liudr

Regarding this keypad you are talking about, is it something that already exists (you built or acquired it) or is it just a plan? Multiplexing requires the keys to be connected a certain way in a matrix.

Go Up