Pages: [1]   Go Down
Author Topic: im, running out of pins  (Read 798 times)
0 Members and 1 Guest are viewing this topic.
uk
Offline Offline
Sr. Member
****
Karma: 0
Posts: 310
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,
im running out of pins on my 328 id like to add a 4 button keypad to it ive seen somewhere you can add extra switches / pins by using an array of different value resistors not sure how it works maby by different voltages to a pin somehow?

can someone point me in the right direction or show me an example

thank you
Logged

Atlanta
Offline Offline
Full Member
***
Karma: 4
Posts: 128
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.dfrobot.com/index.php?route=product/product&filter_name=lcd&product_id=51
Logged


uk
Offline Offline
Sr. Member
****
Karma: 0
Posts: 310
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi andy hope you are good,

thats way too expensive for my budget and it wont fit my panel but really good value for what it is though thnks, btw got my project finally working at last, works really well ready to sell nearly

this is for my next thing im trying to do but im running out of pins, maby the technique was resistor divider of sorts to have a pin that could see several switches ?

bingo, a Voltage Divider Ladder, thats it.
« Last Edit: January 24, 2013, 08:47:31 am by jonisonvespa » Logged

Atlanta
Offline Offline
Full Member
***
Karma: 4
Posts: 128
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

checkout the schematics for the button on that lcd... shows you how to run multiple buttons on a single Analog pin
also comes with sample code to drive it as well smiley
Logged


uk
Offline Offline
Sr. Member
****
Karma: 0
Posts: 310
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hay thanks, sad i know still havnt found your food batch code fault, i think youve been rumbled  smiley-sad
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 220
Posts: 6587
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

What else do you have connected to your Arduino? It's often possible to use the same pin to drive multiple devices. For example, if you already have an LCD display connected, you can probably share 4 pins between the LCD and the keypad.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

uk
Offline Offline
Sr. Member
****
Karma: 0
Posts: 310
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ive got a 4 line lcd im running on 2 pins, but a Voltage Divider Ladder is perfect for what i need
thanks
Logged

Beijing
Offline Offline
Full Member
***
Karma: 3
Posts: 193
Skype name habib.derbyshire
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You can make two ICs communicate with I2C, or you can use a shift register/driver IC
Logged

What is man's best friend? The breadboard!

Offline Offline
Newbie
*
Karma: 0
Posts: 34
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Instead of answering, questening, how we can run LCD on two pins only ?
Logged

uk
Offline Offline
Sr. Member
****
Karma: 0
Posts: 310
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Instead of answering, questening, how we can run LCD on two pins only ?

there you go

http://code.google.com/p/arduinoshiftreglcd/
Logged

UK
Offline Offline
God Member
*****
Karma: 17
Posts: 568
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tyre are various options once you start using up all pins.

1) Move to another uC with more pins, such as 644P, 1284P or 2560.

2) Put other devices on shared buses, such as I2C and SPI, to free up other pins. This can require use of port expanders such as the PCF8574 which gives 8 input/outputs for 2 shared pins on the uC.

3) Use a voltage divided to read multiple buttons on an Analog pin. It needs tolerances building in and debouncing.

4) Matrix buttons and make use of the Keypad library to give you up to 9 buttons on 6 pins, 16 on 4 pins, 25 on 5 pins etc. Upto 4 x 4 (8 pins) can also be used together with a PCF8574 and Keypad_I2C to get 16 buttons on 2 pins. This can be repeated on the same two I2C pins to have 32, 64, 128 buttons or more.

5) Use cheap shift registers, such as the 8 bit 74HC595, and cascade to expand input/outputs using just 3 uC pins. limited only by the processing overhead to drive the number of shift registers you incorporate.
Logged

Pages: [1]   Go Up
Jump to: