|
932
|
Using Arduino / LEDs and Multiplexing / Re: Questions on Large Matrix
|
on: December 11, 2011, 09:21:54 pm
|
|
Ah, doing is that way will keep the math straight, long traces from one end of the board back to the other end, sure. That works.
And I can drop the load resistors on the WS2801 as well. Even though the datasheet lists them, I have yet to see any pre-fab LED string that has all 6 resistors. Everything I've seen only has the three on the LED side, and the strings I recently made were also designed that way.
|
|
|
|
|
933
|
Using Arduino / General Electronics / Re: Step-Up/Step-Down
|
on: December 11, 2011, 09:15:58 pm
|
|
Unless I'm missing something, both the MC34063 as well as the MC33063 are configured one way or another ... either as a step up, or step down. Whereas the MAX710 can do both with the same circuit design.
|
|
|
|
|
934
|
Using Arduino / LEDs and Multiplexing / Re: Questions on Large Matrix
|
on: December 11, 2011, 08:44:40 pm
|
|
Oh here's a question: is there a way to detect when something's been plugged in? Allow me to elaborate here:
I would like to make this modular, which means I will more than likely create 8x8 modules, connect them together to make a 16x16 section, then stack 4 of them to make a 32x32 large panel.
While talking to my old man today, he asked, why not make the modules in such a way that if someone doesn't want a 32x32, but say they want a 16x32, or 8x32, or any combination of 8/16/24/32 x 8/16/24/32, that it actually works. So that lead me to think. What if the modules are designed in such a way that the 8x8 matrix is stand alone, just like any LED matrix on the market today.
Then, design a controller that can drive 1 to 4 of them. Have edge connectors on the LED matrix so you can connect multiple of them together. If someone just wants a single 8x8 panel, just pair it with the controller and you're done. Want to make it a 16x8? Connect a second module. To make it a 16x16, connect two more module.
So the question is, how to detect when another panel has been plugged in? OR, should I consider driving each 8x8 module separately and when connected together, the controllers talk to each other? The larger it gets, the more controllers there are, and they all talk to one another?
This would certainly add complexity to the whole project, so maybe figure out a way to have 1 controller control four 8x8 modules. And when you go larger, then there's a "director" (separate) controller with all the logic and what not built in that sits between the large matrix, and whatever is feeding data to it (a computer for example.)
If there's a better way of thinking about this, please, put it all on the table, even if it's just a sketch on a napkin.
|
|
|
|
|
935
|
Community / Gigs and Collaborations / Re: PCB board drawing
|
on: December 11, 2011, 08:29:46 pm
|
reset and GND for external reset button. And the 2 standalone pins below the mini is the +5/GND pin header for the bluetooth module. Ok, so that reset doesn't actually have live voltage on it, those two pins are just bridged, nothing else, right? Yes it's to be a stacked shield. It's going to get power via wire jumpers from the logic board's 3V3 and ground. I have pass-through headers on the logic level for this reason. If it's going to get stacked on top of the larger one, why use wire jumpers? Why not pass voltage and ground through the headers? Avoid the whole wire jumper mess all together. You could take advantage of ground planes also, will give you more room for your thicker traces.
That's exactly what I'm going to do with the ground plane. Gets rid of all the ground traces, leaving more room for the rest.
|
|
|
|
|
936
|
Using Arduino / LEDs and Multiplexing / Re: Questions on Large Matrix
|
on: December 11, 2011, 07:51:53 pm
|
The 74LS138 is enabled when its 3 enalble lines are high, low, and low. Since we want the output to follow the SCK input on just 1 chip at a time, its setup so that only 1 chip has the 2 enable/ lines low at one time. The inverters give 7 control lines: A0, A1, A2, A4, A4/, A5, A5/ Got that part ... A4 A5 0 0 both low, bank 0 enabled 0 1 A4 low, A5/ low, bank 1 enabled 1 0 A4/ low, A5 low, bank 2 enabled 1 1 A4/ low, A5/ low, bank 3 enabled
(and those should been A3, A4, I skipped over A3 for some reason, lost track of where I was I guess) I got that part, binary counting. So with A0-1-2 at say 0,0,0, and A4-5 at 0,0 then SCK0 will go low when SCK is high - so we need an inverter on SCK also - had that in there, looks I lost it as I rearranged the schematic. I presume I can simply run it through pins 5 and 6 on the 74LS04? Ok, so with SCK inverted: with A0-1-2 at say 0,0,0, and A4-5 at 0,0, then SCK0 will go low when SCK is low, and every other SCK will be high. Then as 3 bytes are clocked out, SCK0 will follow SCK out of the Arduiono. with A0-1-2 at 1,0,0, and A4-A5 at 1,0 then output 4 of bank 2 will follow SCK. with A0-1-2 at 1,1,0 and A4-A5 at 1,1 then output 6 of bank 3 will follow SCK.
That will give you 32 control lines, 1 per string. So you switch A0,1,2 to thru 8 strings, update A4-A5 for the next set, go thru A0,1,2 again, for all 4 sets. So if I understand that, the SCK you have labeled on the left side of each one of the 138's is coming from the Arduino, right? Same topology as the A0-A5, connect them all one from one IC to the next to the next ....? You're referring to A0 - A5 (skipping A3)? Yes, all strings see the Data line, only the string with an active clock line does anything tho.
But as I discussed earlier, maybe have all 1024 in a long string (for control lines, I would ensure that power & ground is more centrally distributed) could be the way to go. This does give the advantage of just updating 1 string at a time if desired. The issue with this is how to arrange the data. The first 32 LEDs gets data right to left, the next one it needs to be reversed, left to right, and the next back to right to left, etc., etc. Whereas, if I manipulate the data and have everything in one continuous, sequential stream, I just feed 32 "pixels" at a time and go down each row that way and I won't have to reverse anything. It's all mathematical I suppose. If you had 32 data lines, 1 per string, I suppose that would work also. Seems cumbersome tho in terms of manipulating data unless I am missing something. 32 LEDs * 3 bytes/LED * 8 bits/byte = 768 bits per string Put bit0 of each line on the data output pins, make the clock go hi/lo to get 1 bit into the WS2801's. Put bit1 of each line onthe data output pins, make the clock go hi/lo. each.
True, but having everything see a single data line (MOSI pin) seems cleaner. I'd still be using MOSI and CLK and I could still send stuff out with SPI, I just need to to control the logic when it's time to pulse the CLK line and make sure I have the correct string selected before that happens. Am I missing something?
|
|
|
|
|
937
|
Community / Gigs and Collaborations / Re: PCB board drawing
|
on: December 11, 2011, 05:07:28 pm
|
You're saying the two bottommost pins are 9V raw input? Yet, it's the same color as your 5V line? Do you understand where or why it's confusing?  So if I understand you right, you have 9V (V in) being supplied on the bottom. The 'T' shape traces are +9V, correct? From there, you have two regulators, one that regulates down to 3V3 (V 3V3) and one that regulates to 5V (V 5), correct? Then, V 3V3 is a single trace that goes up to the logic level as well as the HH10D and the BMP085. The V 5 trace goes to the DS1307, runs on the right hand side up to the logic level and on the way also connect to two additional pins around the Mini. Question: what's the red bridge across the two pins on the left hand header? If that's supplied voltage, where is that coming from? It's not connected to anything. Same thing on the small board, if it's being stacked ontop of the larger one, where is the V 3v3 and GND being supplied from? Which pins are they being connected to? Understand that I'm not trying to be a pain here. I want you to get a board that works, not one that once you connect stuff to it you realize something's amiss. Not knowing what the electrical diagram looks like, I have to rely on you to explain these bits and pieces.
|
|
|
|
|
938
|
Using Arduino / LEDs and Multiplexing / Re: Questions on Large Matrix
|
on: December 11, 2011, 04:36:18 pm
|
|
Tadaaaa, brain just clicked. Hey CR, let's see if I follow your schematic correctly here, and I have questions as well:
1x SN74LS04 4x SN74LS138
A4 and A5 go through the 74LS04 | Question: What is this for? Then they go on to the 74LS138 | Question: Are they simply run from one to the next to the next? And, where is the SCK line coming from? Is that 4 separate SCK lines? Arbitrary Arduino pin(s)?
Then, through switching A4 and A5, I can then select which of the four ICs I'm addressing. Once that's done, I can then switch A0, A1, and A2, to select which SCK out line I want to control. Question: does this mean I have 32 separate data lines, one per string, and have the 32 SCK lines then connected to the individual 74LS138?
If I'm understanding that right, that's 32 data lines, plus A0-A2, A4-A5, that's 37 pins ... plus wherever the SCK is coming from (on the left side of each 74LS138). If they're 4 separate ones, that's 41 pins total.
Am I understanding this correctly? (Answer: No)
You were talking SPI transfer, so that's just using the single SPI port. Hrm ... not getting the flow then. I understand the CLK selection process, but I don't get how the data gets send to the appropriate string, if there are 32 separate ones. Or are you suggesting having them all on the same data line, and separate CLK lines?
If so, from a programming stand point that means I can send data down each 32 data lines, then cycle through all the clocks to latch it all. Yes? Or, I can send data and pulse the clock, one string at a time (though I can't quite see the advantage of doing that.)
|
|
|
|
|
940
|
Using Arduino / Programming Questions / Re: OpenCV?
|
on: December 11, 2011, 06:38:13 am
|
isnt arduino a type of microcontroller?
That's exactly what James said. Arduino's are micro controllers, meaning they can control things. They're not designed to process things. OpenCV requires a lot of processing to do motion tracking.
|
|
|
|
|
941
|
Using Arduino / General Electronics / Step-Up/Step-Down
|
on: December 11, 2011, 05:11:35 am
|
|
Yowsa, I didn't realize the MAX710's are so dang expensive. And also, it can only handle up to 700mA. So, does anyone know of a Step Up/Step Down solution that doesn't cost an arm and a leg and can handle at least 1A?
|
|
|
|
|
943
|
Using Arduino / LEDs and Multiplexing / Re: Questions on Large Matrix
|
on: December 11, 2011, 03:09:00 am
|
|
Ok CR, thanks for all of that info. I will admit, it's over my head. However, I'm not giving up, and I'm willing to learn. And my way of learning is to get my hands on some parts and actually testing things out, both with the hardware as well as code. So rest assured I will, at some point, get to what you're suggesting there, if only to actually figure it out.
|
|
|
|
|