So I want to make a frame of lasers and photodiodes that would be able to detect the location of an object passing through the frame. The concept would be a lot like the older-style touchscreen overlays for computer screens. You would have an array of lasers on two sides of the frame, and an array of photodiodes on the opposite ends. This would create a 2D laser grid. Anytime and object were to pass through the grid, it would trip specific photodiodes, and input that data onto the computer (e.g. photodiodes: A3, A4, A5, B6, B7, B8 were tripped). I am wanting to do about 50 to 100 photodiodes on each side, and 50 to 100 lasers on each side (although I have seen people use less lasers and split the beam). It would need to be able to detect a break in the beam that lasts only 4,101 nano seconds (0.0000041 of a second). Now I am new to Arduino. Is it even possible to use any of the Arduino models to accomplish this?
How do you plan to physically mount that many lasers and photodiodes?
How are you going to control them?
You need 50 to 100 outputs and same number of inputs. Yes you can use shift registers but time would be a constraint.
Weedpharma
The timing of the beam breaks will be problematic. Even with interrupts you won't be able to track the order of breaks, when an object breaks multiple beams in sequence.
Using port expanders that latch a transition, you'll get only a summary of the broken beams, but not in which sequence the breaks occured. Will that be sufficient for your project?
I hope to eventually mount them in a series on circuitry and place them in a frame of sorts. Not sure what you mean by controlling them. I hope to use an Arduino to get data from them, if that is what you mean.
And that is correct, I don't need to know (for example) that A1 was tripped first, then A2, Then A3. I would only need to know that all three had been tripped. Now I would like to reset itself overtime an object passes through it. So let's say you were throwing a baseball through it. I would like it to tell you what beams were tripped when the baseball was thrown so you had an idea of where in the square you hit, but then I would like it to reset after that so you can throw another baseball and get a new set of trips.
When you get hits in 3 rows and 3 columns, you have a choice of 9 squares - not very accurate
The lasers will be about 5mm apart, so the intersects will be quite accurate. If you got hits in 3 rows and three columns, then the object would be big enough to trigger all those. The objects moving through it will be moving straight through without variance. My question still is, can Arduino handle this project?
My question still is, can Arduino handle this project?
Yes it can if you can.
wildBcat:
So let's say you were throwing a baseball through it........
Is this the real purpose of your detector array?
...or just a smokescreen to deflect us from it's actual use?
For a 74mm diameter baseball to clear the detector in 4.1μs, it needs to be moving at around 65000 kilometers per hour. (=Mach 53).
If it really is for baseball, you might want to check your mathematics.
No smoke screen. I wish to detect and locate where in a grid that a bullet passes.
What size has your bullet, so that it can trigger 3 rows and columns (as you described)? It must have at least 15mm to cover 3 stripes of 5mm at the same time.
The three by three registration was for the example of a baseball. but a shotgun slug is 17.53mm in diameter, so if the lasers were 5mm apart, it would be possible for a slug to trip a 3x3 grid.
wildBcat:
No smoke screen. I wish to detect and locate where in a grid that a bullet passes.
Yes you were giving us a smoke screen by hiding that.
There are people here who do not wish to help anyone do anything with guns. One of them is me.
Playing with guns gets people killed, just look in the news today.
Good bye.
Grumpy_Mike:
Yes you were giving us a smoke screen by hiding that.There are people here who do not wish to help anyone do anything with guns. One of them is me.
Playing with guns gets people killed, just look in the news today.
Good bye.
Thanks you for voicing your opinion, as well as excusing your self from this thread. Now to everyone else still following, What kind of Arduino (if any) would be able to handle a set up like this?