Harvesting Pins
Humanoido
Posts: 5,770
On the Parallax Demo board, can you find any extra pins for LEDs
(without cutting up the circuits or interfering with other things)?
Here are the pins already in use with connected LEDs:
P0-P7
P16-P23
P12-P15
Here are some pins on the recycle dream list:
P8-P11
P24-P27
28 and 29 are on the eeprom
30 and 31 are for USB
It looks like some PS2 connectors are needed, which I don't have access to. Finding the RCA TV connector was easy.
Humanoido
(without cutting up the circuits or interfering with other things)?
Here are the pins already in use with connected LEDs:
P0-P7
P16-P23
P12-P15
Here are some pins on the recycle dream list:
P8-P11
P24-P27
28 and 29 are on the eeprom
30 and 31 are for USB
It looks like some PS2 connectors are needed, which I don't have access to. Finding the RCA TV connector was easy.
Humanoido
Comments
To get a lot more pins for LEDs then either,extra output ports will have to be added (74HC595 I believe) or some Charlieplexing used. I have seen that on threads before, but I have never used it.
Humanoido
Humanoido
How to Reclimate Pins for LEDs (Demo Board)
P0 - P7 Main Header = 8 pins (Vss)
P16 - P23 LEDs on Board = 8 pins (Vss)
P12 - P15 TV = 4 pins (Vss)
P24 - P25 Mouse = 2 pins (Vdd)
P26-P27 Keyboard = 2 pins (Vdd)
P29 EEPROM = 1 pin (after booting, Vdd)
total 25 pins
Questions
P28 goes to the eeprom chip. Any way to use this pin to drive an LED?
P30, P32 go to the USB chip. Can these be used for LEDs?
P10, P11 go to the Headphone Amp chip. Any way to used these ports?
P8, P9 go to the Electret Mic. Can LEDs hook on these lines safely?
total 7 pins
one pin can be used. So we will use pin 15.
Pins for LEDs (Demo Board)
P0 - P7 Main Header = 8 pins (Vss)
P15 TV = 1 pin (Vss)
P16 - P23 LEDs on Board = 8 pins (Vss)
total 17 pins
The mouse and keyboard port lines do not end up tied together so they should be usable. That will gain 4 pins.
P24-P25 Mouse = 2 pins (Vdd)
P26-P27 Keyboard = 2 pins (Vdd)
I don't see any way to connect to the 2 ports that lead to the eeprom line, so scrub this idea.
So it now looks like I can connect LEDs to only 21 pins on the Demo Board. Is that right?
Humanoido
Humanoido
--Steve
An advantage to using an external chip to drive LEDs is you don't have to worry about burning out you Prop with all the current need to drive the LEDs.
I have a feeling this isn't just about driving lots of LEDs. I'm guessing it's about driving lots of LEDs with a Demo Board.
After startup, I think you should be able to use pins 28 - 31 to drive LEDs. How would you access the pins without soldering to the board?
Duane
PS localroger posted while I was writing. I know Humanoido has lots of Proto Boards (see his avatar). I'm guessing this is another insane (how do I cross out? I mean inspired) project.:smilewinkgrin:
Seen at left, the RCA jack connects to four LEDs. The TV circuit has pins connected
together so the four LEDs at left can be lit one at a time using any one of the four
connected pins.
http://www.parallax.com/Store/Microcontrollers/PropellerChips/tabid/142/CategoryID/18/List/0/SortField/0/Level/a/ProductID/332/Default.aspx
Parallax said "P0-P31: General purpose I/O. Can source/sink 40 mA each at 3.3 VDC"
Humanoido
I couldn't find information about an eight pin group in the newer manual. Does anyone know if the limit for a group has also been changed?
Duane
Edit: Your 10 mA each of course should be fine.
Has anyone put 32 LEDs directly on a prop? With all the LED projects, I would think someone has already tried this. The project does fit the specs but the milliamp draw is right near the limit.
Another point, these LEDs will all be in some state of blinking, so not using their 10mA in full constant on mode. So the combined draw should be less than 32x10mA. However, when they are on, they do draw 10mA from their ports. But as a group of eight, the combined mA is less.
Exactly what constitutes a group of eight? Beginning with p0 through p7 as the 1st group?
Humanoido
John Abshier
Humanoido
I'd bet a proto board that P0 through P7 is considered the first group. P8 - P15 the second etc.. I don't want to stop and find in the manual, but that's what I remember.
Duane
For creating even more banks, a single home-brew circuit works well. The attachment shows a new test board, designed to supplement the Demo Board. It was put together in 20 minutes, mainly from resistors and LEDs. This is the virtue of breadboards. The new board can handle every pin on the prop, and it's decoupled and clock enhanced yet can be rewired in only a few seconds. As you can see, it was decided to have the power supply external to the breadboard.
Humanodo
Banks of LEDs connect to the Propeller
Chip through these 100 ohm resistors on
a 3.3-volt circuit.
I have an idea that you could recycle these pins to create a 2 wire bus for inter prop communications.
Maybe this has been thought of before, but the idea would be to have a 4053 and when there is a reset, discharge a capacitor via a diode. When the cap is low, the eeprom is connected. Then charge the cap up over a couple of seconds, and when it is charged, the eeprom is disconnected and the P28/P29 are connected to the bus. Maybe via 100R resistors.
The bus could use any sort of software protocol.
Has this been done before?
I wouldn't go to all that trouble. Just come up with a protocol that doesn't generate an I2C START condition, and the EEPROM will simply ignore anything that goes on. And if the protocol itself detects a START condition, it ignores everything between it and the corresponding STOP condition. Either that or use an I2C communications protocol that works from an I2C device ID different from the EEPROM's.
-Phil
So I figured that if you have to disconnect the propellers from each other at bootup, then that will involve something like a 4066/4051/4052/4053, and if you have that, then you may as well disconnect the eeprom with a SPDT 4053 like Toby was doing earlier in this thread with his keyboard.
Or... maybe there is another way. In any multiprop setup, master/slave is more deterministic than peer to peer, so if one prop is the master, could you load the other props via pins 30/31?
Hmm - but then the master has to boot first and hold the slaves in reset until the master is ready. Which adds some more complexity.
I was thinking more of two boards, each with their eeprom, reset circuit and download circuit, mainly because such a setup might be easier to debug rather than feeding all the data through the master.
If you power up these boards at the same time, no damage would happen to the propellers, but wouldn't the eeprom data be corrupted with multiple propellers trying to read the eeproms?
The boot link is later re-used as a normal communication link so apart from the reset pin I don't really lose anything.