Maker Pro
Maker Pro

optical punch card reader

Hello

I'm thinking of making a punch card reader as an arduino project. I'll have an LED for each punched row, and some sort of light sensor on the other side.

Would an LDR be reactive enough to pick up a chads (holes) if I'm going to be swiping this card through the reader?

Is there something better I should be using? I've only worked with LDRs before; I'm not sure what is what when it comes to photo semiconductors, so some buying advice would be nice if LDRs aren't sufficient

Thanks

PS: A Youtube video of what I'm wanting to achieve, except using metal brushes instead of optics:
 
Last edited:
I personally would use phototransistors, this will give you a clean either on or off if it senses anything, rather than a small shift in the readings.

There are some questions though...

What are the cards made out of?
What will the placement and number of possible holes be?
What is the output going to be?
Does it need to swipe or can you insert, wait and then remove?

Green
 

Harald Kapp

Moderator
Moderator
As far as I remember the holes in a punchcard are spaced rather close compared to the size of a typical LDR (there may be very small ones out there, but the ones I know are rather big). So you would have to stagger the LDRs and use the µC to correct the displacement of the signals caused by the staggered LDRs.

Anothe rsolution would use photodiodes. These come in very small packages (even SMD) and it should be possible to space them as close as required for the punch card raster.

See here: http://sales.hamamatsu.com/assets/applications/SSD/si_pd_circuit_examples.pdf for photodiode applications.

Harald
 
Thanks for the replies!
I'm thinking of rolling my own punch cards as in the video, so space isn't an issue (read: I can't solder SMD :p )

Cards will be made out of something opaque enough, probably card of considerable thickness. This is more a data reading experiment than a perfect replica of legacy. I'm thinking of, say, five rows which I'll service with five LEDs and sensors. (might need to be hooded to stop light leaking into other sensors)

I do want to swipe... I'll probably have a clock row (again, as in the video) so I know when the bits are passing through.

Could you explain a bit about how phototransistors work? What exactly do they do in the presence of light?

Harold, thanks for the link to the photodiodes, I'll study it a bit.
 
I suppose, in essence, I'm asking whether an LDR will pick up the rapid pulsing of light from swiping this punch card (from the perspective of a sensor) or is it going to be too sluggish to respond to this change
 
Thanks for the replies!
I'm thinking of rolling my own punch cards as in the video, so space isn't an issue (read: I can't solder SMD :p )

Cards will be made out of something opaque enough, probably card of considerable thickness. This is more a data reading experiment than a perfect replica of legacy. I'm thinking of, say, five rows which I'll service with five LEDs and sensors. (might need to be hooded to stop light leaking into other sensors)

I do want to swipe... I'll probably have a clock row (again, as in the video) so I know when the bits are passing through.

Could you explain a bit about how phototransistors work? What exactly do they do in the presence of light?

Harold, thanks for the link to the photodiodes, I'll study it a bit.

Phototransistors act like switches, when light is present it will either open or close (depending on the type) like a switch, see here

you should be able to line up the LED's (probably better off using an IR LED and transistor) so that when you slide the card the Arduino can read multiple lines though that would be pretty complicated, unless you go from parallel to a serial stream of numbers (1's and 0's) which the Arduino could read
 
cools! Thanks for the link to the photo trannies.
I think you're probably right about doing serial. I'll go with that. Thanks for the advice!
 
I suppose, in essence, I'm asking whether an LDR will pick up the rapid pulsing of light from swiping this punch card (from the perspective of a sensor) or is it going to be too sluggish to respond to this change

Like I was saying, LDR's is just going to give you a small change in readings, where a photdiode, or a phototransistor will give you a more clean on and off

so basically a sine waveform vs a square
 
I suppose, in essence, I'm asking whether an LDR will pick up the rapid pulsing of light from swiping this punch card (from the perspective of a sensor) or is it going to be too sluggish to respond to this change

It will be both too sluggish and too big to implement easy. For a swipe reader the electronics and optics must be significant faster than the fastest person using it. If you just want to experiment, it's ok to be inside the user envelope, but only a while.

You should use an optotransistor, one for each bit/position.

You should also be aware of ambient electric light, where you'll get 50/60Hz optical noise/overload.

You may reduce this with a filter and IR-LEDs as light sources.

TOK ;)
 
Figured! ;) but I have read that some have a base leg so that you can bias the light coming in (in my murky knowledge of electronics that means you can make the transistor more or less sensitive)
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
For this purpose you won't need one with a base connection.

There are other ways to control sensitivity in any case.
 
hahaha ! "photo trannies"
This should be a fun project for you. T̶h̶e̶ ̶o̶n̶l̶y̶ ̶t̶r̶o̶u̶b̶l̶e̶ ̶I̶ ̶t̶h̶i̶n̶k̶ ̶y̶o̶u̶'̶l̶l̶ ̶h̶a̶v̶e̶ ̶i̶s̶ ̶d̶e̶f̶i̶n̶i̶n̶g̶ ̶t̶h̶e̶ ̶d̶e̶l̶a̶y̶ ̶f̶o̶r̶ ̶t̶h̶e̶ ̶'̶0̶'̶ ̶s̶t̶a̶t̶e̶ ̶w̶h̶i̶l̶e̶ ̶s̶w̶i̶p̶i̶n̶g̶.̶ ̶Y̶o̶u̶ ̶s̶h̶o̶u̶l̶d̶ ̶t̶r̶y̶ ̶a̶n̶d̶ ̶m̶a̶k̶e̶ ̶y̶o̶u̶r̶ ̶p̶r̶o̶j̶e̶c̶t̶ ̶s̶w̶i̶p̶e̶-̶s̶p̶e̶e̶d̶ ̶i̶n̶d̶e̶p̶e̶n̶d̶e̶n̶t̶.̶ ̶
I̶ ̶n̶o̶t̶i̶c̶e̶d̶ ̶i̶n̶ ̶t̶h̶e̶ ̶v̶i̶d̶e̶o̶ ̶t̶h̶a̶t̶ ̶t̶h̶e̶r̶e̶ ̶a̶r̶e̶ ̶t̶w̶o̶ ̶l̶i̶n̶e̶s̶ ̶o̶f̶ ̶h̶o̶l̶e̶s̶ ̶i̶n̶ ̶t̶h̶e̶ ̶p̶u̶n̶c̶h̶ ̶c̶a̶r̶d̶.̶ ̶T̶h̶a̶t̶ ̶w̶o̶u̶l̶d̶ ̶e̶l̶i̶m̶i̶n̶a̶t̶e̶ ̶d̶e̶p̶e̶n̶d̶e̶n̶c̶e̶ ̶o̶n̶ ̶s̶w̶i̶p̶e̶-̶s̶p̶e̶e̶d̶.̶ ̶I̶s̶ ̶y̶o̶u̶r̶ ̶c̶a̶r̶d̶ ̶d̶e̶s̶i̶g̶n̶ ̶g̶o̶i̶n̶g̶ ̶
t̶o̶ ̶b̶e̶ ̶s̶i̶m̶i̶l̶a̶r̶,̶ ̶o̶r̶ ̶a̶r̶e̶ ̶y̶o̶u̶ ̶g̶o̶i̶n̶g̶ ̶t̶o̶ ̶t̶r̶y̶ ̶a̶n̶d̶ ̶g̶e̶t̶ ̶i̶t̶ ̶d̶o̶n̶e̶ ̶w̶i̶t̶h̶ ̶j̶u̶s̶t̶ ̶o̶n̶e̶ ̶r̶o̶w̶ ̶o̶f̶ ̶h̶o̶l̶e̶s̶ ̶?̶

EDIT: Sorry, I just read your post about the clock row.
I guess this is now just a 'good luck' post.
 
Last edited:
will definitely have a "clock row" which will be all punched. Then I will read the state of the other rows when I get a signal from the clock row
 
It might be a bad idea, but I want to get this to work in the visible spectrum. I hate buying invisible lights, and I'd also like to use these components for other things later
 
Top