PPDB wiring for 2... 16-bit I2C expanders and 16 Segment display???
Jorge P
Posts: 385
I don't know how difficult this project will be, but I am trying to use two PCA9555N I2C bus expanders to drive the 6 digit 17-Segment displays on the PPDB. Here is how I currently have it wired, no code yet...
Just looking for opinions on whether or not I should wire it differently...
Any hints or tips?
EDIT: just noticed I forgot to change A0 line on DEV_A to Vss...
Just looking for opinions on whether or not I should wire it differently...
{{ Designed for the Parallax Professional Development Board, PPDB, parallax Item #32111 Using two PCA9555N - 16-Bit I2C Expander IC's By Jorge J Pareja DEV_A = %0100__000__0 x xxxx xxxx = unused as of yet DEV_A_DIRECTION = %1000_0000_0000_0000 ┌────────────────────────────────────────────────────────────────────┐ │ IC_1 Vdd │ │ ___ ┌────┐┌────┐ │ │ │ unconnected INT─────┤ └┘ ├───Vdd────Vdd  │ │ Vss──Addr1───┤ ├───SDA────────────────┴─P14 │ │ Vss──Addr2───┤ PCA9555N ├───SCL────────────────┬─P15 │ │ 00─┤ ├───Addr0──Vss  │ │ 01─┤ DEV_A ├─15────DP │ │ │ 02─┤ ├─14────R.Digit3 Vdd │ │ 03─┤ ├─13────L.Digit3 │ │ PORT 0 04─┤ ├─12────R.Digit2 │ │ 05─┤ ├─11────L.Digit2 PORT 1 │ │ 06─┤ ├─10────R.Digit1 │ │ 07─┤ ├─09────L.Digit1 │ │ Vss──GND─────┤ ├─08 │ │ └──────────┘ │ └────────────────────────────────────────────────────────────────────┘ DEV_B = %0100__001__0 DEV_B_DIRECTION = %1111_1111_1111_1111 ┌────────────────────────────────────────────────────────────────────┐ │ IC_2 Vdd │ │ ___ ┌────┐┌────┐ │ │ │ unconnected INT─────┤ └┘ ├───Vdd────Vdd  │ │ Vss──Addr1───┤ ├───SDA────────────────┴─P14 │ │ Vss──Addr2───┤ PCA9555N ├───SCL────────────────┬─P15 │ │ A1────00─┤ ├───Addr0──Vdd  │ │ A2────01─┤ DEV_B ├─15────G1 │ │ │ B────02─┤ ├─14────M Vdd │ │ C────03─┤ ├─13────L │ │ PORT 0 D1────04─┤ ├─12────K │ │ D2────05─┤ ├─11────G2 PORT 1 │ │ E────06─┤ ├─10────J │ │ F────07─┤ ├─09────I │ │ Vss──GND─────┤ ├─08────H │ │ └──────────┘ │ └────────────────────────────────────────────────────────────────────┘ }}I am hoping to go the easiest route for programming, hopefully using code for the 16 segment display demo from OBEX http://obex.parallax.com/objects/545/ and code examples from http://forums.parallax.com/showthread.php?111067-Sixteen-Segment-Display-on-Popeller-Professional-Development-Board&p=790643&viewfull=1#post790643 and It looks like Chris Savage never got around to uploading his finished code to OBEX, maybe its still laying around someplace or called something different.
Any hints or tips?
EDIT: just noticed I forgot to change A0 line on DEV_A to Vss...
Comments
http://forums.parallax.com/showthread.php?129182-New-LED-driver-for-PPDB-Now-Available
I have one and it works great! Easy to use and only a few pins are needed on the Propeller
Robert
No, I already have the PCA9555 IC's, I have the code for this IC working but before writing code for the 16/17 segment display on the PPDB I would like some feedback from everyone/anyone for the pin assignments I should use. For me it dont matter, but I would like to put this in OBEX when I have it finished so others may use it. I know these are 17 Segment displays including the decimal point which I want to incorporate. 16 bits dont quite cut it, so I am using 2 PCA9555's! One will controll the 16 segments, the other will controll the decimal point and the digit selection.
It is the pinout of the PCA9555 controling the digit and decimal point that I could wire a bit differently, I will need all of PORT 0 on this IC to be for the 4x4 keypad. This will leave me with one pin left over out of 32. In the wiring diagram in my first post, on DEV_A I think I should move PORT 1 down 1 bit so L.Digit1 is on pin 8... etc... leaving pin 15 the free pin.
Would that make it any easier for programming on the PPDB???
For compatability with other boards, what Propeller pins should I use for the I2C lines???
Thanks in advance
Jorge