Arduino Forum

Using Arduino => Project Guidance => Topic started by: minustheberry on Aug 16, 2012, 02:10 pm

Title: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 02:10 pm
Hi,

So i'm very new to this forum, as in this is my first post.

I have had some previous experience with Arduino when I helped a fellow student last year with some programming, where I know a bit of web based stuff, PHP, java etc.

Anyways...

I am going into my last year of Uni, where I'm studying an Imaging Science degree and I am wanting to built a camera sensor, to place into what's called a view camera, something like a sinar norma (the ones you put a blanket over you head for!)

So I'm asking if this is going to possible;

Basically I want to cram as many sensors (I'm planning on using LED's - unless anyone knows of anything better?) into the area as possible, I worked out a while back that over 5 x 4 inches, I could get an array of about 30 x 30, which is 900. Obviously this isn't going to be a high resolution sensor, but it will be enough for me to gain and image so do experiments on to fulfill the criteria of my project.

So what I intend on doing;

Each sensor will act as a pixel, giving a reading back when light hits it, in other words, I can open the shutter on the camera for an amount of time and the sesnor will collect the light falling on it and send back a signal. I believe this to be possible.

The sensors need to be placed into some form of board, I have done a little research and I'm hoping it's possible to buy a board off the shelf and literally plug them into it and then write a program to read their locations? like an array on a while loop or something, this is where I need a yes or no.

Final question (for now) is, can an Arduino board except this amount of inputs?

Any help would be appreciated, I will be starting this project at the start of the next school year, september and will need it finished (with 20,000 words backing it up) by the end of the year, June 2013, sounds like a lot of time, but it's really not!

Thanks in advance,

Simon
Title: Re: Digital Camera Sensor
Post by: AWOL on Aug 16, 2012, 02:14 pm
LEDs are not the greatest light sensors, and unless you've got a large aperture lens, they're not going to get much light - why did you choose them?
Phototransistors would be better, I'd've thought.

Before you commit to such a large number, why not experiment with one?
Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 02:31 pm

LEDs are not the greatest light sensors, and unless you've got a large aperture lens, they're not going to get much light - why did you choose them?
Phototransistors would be better, I'd've thought.

Before you commit to such a large number, why not experiment with one?


I don't really know a lot about electronics thats why I asked on here, I'll have a look into Phototransitors, I have 2 things to take into account, size and cost, I seen some photos diodes on RS Components, £1 each - £900 before I've even bought anything else I need, which is way over budget, that's a months rent!

You're right though and in the same mindset, of course I will test what is best before I buy the lot, however, it will be in a controlled environment, so it's not really going to matter too much about the apature, to get the best possible light I will be shooting between f8-f11. Shutter speed can vary depending on how fast the program can read / write, I'm planning on programming it so it will take a reading when light exists and at it's maximum.

I will be photographing test charts, simple half black half white, to calculate edge spread functions, maybe pixel pitch measurements, this is still something that is very much in the planning stage.

Thanks for your advice, it's appreciated!
Title: Re: Digital Camera Sensor
Post by: AWOL on Aug 16, 2012, 02:37 pm
Quote
to get the best possible light I will be shooting between f8-f11

I'm thinking your version of Stookie Bill (http://www.nationalmediamuseum.org.uk/Collection/Television/StudioEquipment/CollectionItem.aspx?id=2001-5037/3) is going to need an awful lot of light.

With such a physically large array of sensors (even if you use tiny SMD LEDs) you'll have to account for the difference of angle-of-incidence between on-axis sensors and the ones near the edge, I would imagine.

Have you thought of using a linear array, and scanning?
I've heard of at least one project that used a flatbed scanner in a plate camera setup.
Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 02:47 pm

Quote
to get the best possible light I will be shooting between f8-f11

I'm thinking your version of Stookie Bill (http://www.nationalmediamuseum.org.uk/Collection/Television/StudioEquipment/CollectionItem.aspx?id=2001-5037/3) is going to need an awful lot of light.

With such a physically large array of sensors (even if you use tiny SMD LEDs) you'll have to account for the difference of angle-of-incidence between on-axis sensors and the ones near the edge, I would imagine.

Have you thought of using a linear array, and scanning?
I've heard of at least one project that used a flatbed scanner in a plate camera setup.


Yeah I'm guessing it will need a lot too, but I have access to decent equipment, we have an abundance of lighting kits, ranging from 250 - 10,000k packs, the amount of light shouldn't be a problem.

Yeah a scanned array would be a good idea, anything that already mimics already existing technology can't be faulted.

Yeah i've seen the scanner projects too, get some amazing results with those things.

Also remember these cameras are designed to take 5x4 film and even digital backs, the lenses are designs to cast light onto the focal plane of the sensor already, I assume that aslong as I place my sensor in the same place, I shouldn't have too much of a problem. I know that at extreme angles you start getting vignetting, but this will be a pretty straightforward setup.

Important question is will the Arduino board be able to process the information from this amount of sensors?
Title: Re: Digital Camera Sensor
Post by: AWOL on Aug 16, 2012, 02:56 pm
Quote
Important question is will the Arduino board be able to process the information from this amount of sensors?

Another important question is what sort of exposure time did you have in mind, and what sort of greyscale resolution are you aiming for?
Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 03:17 pm
Exposure time is dependant on how long the flash duration lasts for, so for low powered lights, such as speed lights, can go very fast, if using studio lighting, somewhere between 1/60th and 1/125th of a second.

As for greyscale resolution, the minimum need for image detail is 16bit, It's just a case of programming conditional if statements and setting up hight and lower limits, i.e if returns between x and x then set greyscale level to x, all I know at the moment is it has to be 16bit minimum, but that's a programming area, which can be tested at a later date.

I'm interested in being able to at least be able to get information via the use of an Arduino board for now, no point thinking about anything else if it wont do it.





Title: Re: Digital Camera Sensor
Post by: AWOL on Aug 16, 2012, 03:22 pm
Quote
somewhere between 1/60th and 1/125th of a second.
In which case, you're probably not in Arduino territory. Not single ones, anyway.
Do the simple arithmetic - 9600 (roughly) conversions per second says you'd need 1/10th of a second to do the readout.

Quote
As for greyscale resolution, the minimum need for image detail is 16bit,
That's also blown you out without an external ADC, in which case, I don't see much need for an Arduino.
I think 16 bit for a LED is hugely optimistic.
Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 03:36 pm

Quote
somewhere between 1/60th and 1/125th of a second.
In which case, you're probably not in Arduino territory. Not single ones, anyway.
Do the simple arithmetic - 9600 (roughly) conversions per second says you'd need 1/10th of a second to do the readout.

Quote
As for greyscale resolution, the minimum need for image detail is 16bit,
That's also blown you out without an external ADC, in which case, I don't see much need for an Arduino.
I think 16 bit for a LED is hugely optimistic.


Is 1/10th of a second not a realistic amount of time to take 900 readings? Like I said i've never really used this before, I thought programming wise that's a reasonable time to take the readings

Also, ADC, surly that can be done afterwards with programming, you just save the analog reading which the sensor gives and then convert it to it's digital pixel value dependant on where it was between it's top most and bottom most calibrated setting?

I don't really understand what's going on here, I'm asking for guidance and you seem to be going about it in a very rude way for some reason? This is something that I would like to do, I understand I can't do it on my own, I don't understand the hostility towards the project.
Title: Re: Digital Camera Sensor
Post by: AWOL on Aug 16, 2012, 03:43 pm
Quote
I don't really understand what's going on here

Some background reading http://www.merl.com/papers/docs/TR2003-35.pdf


Quote
surly that can be done afterwards with programming,

I'm rude, but you're surly. Let's call it quits   ;)
Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 03:48 pm

Quote
I don't really understand what's going on here

Some background reading http://www.merl.com/papers/docs/TR2003-35.pdf


Quote
surly that can be done afterwards with programming,

I'm rude, but you're surly. Let's call it quits   ;)



Well lets hope the marketing department for the products don't rely on the moderators to sell them, cause you aren't doing a very good job.

Thanks for all your 'help'.
Title: Re: Digital Camera Sensor
Post by: dxw00d on Aug 16, 2012, 04:00 pm
Do you believe that it would be better to try and sell you an unsuitable product?
Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 04:11 pm

Do you believe that it would be better to try and sell you an unsuitable product?



That's not what I said, but I don't feel like i've been told enough of why it can't be done, to believe it.

I don't want to start an argument on a forum, it's stupid.



Title: Re: Digital Camera Sensor
Post by: AWOL on Aug 16, 2012, 04:17 pm
No-one has yet said "it can't be done" for all values of "it", but LEDs are not designed to convert photons to current, so there is no particular attempt in the manufacturing process to make them so.
You're going to need a fair amount of amplification to do this, and that is going to be tricky and expensive in a large rectangular array, so the idea of making a linear array and scanning it either my moving the array, or by moving the image over it has a lot going for it.
Title: Re: Digital Camera Sensor
Post by: dxw00d on Aug 16, 2012, 04:27 pm
Grumpy_Mike has some information on using LEDs as sensors - http://www.thebox.myzen.co.uk/Workshop/LED_Sensing.html
Title: Re: Digital Camera Sensor
Post by: AWOL on Aug 16, 2012, 04:28 pm
..where he prefaces the article with the following
Quote
Just like a dog walking on its hind legs one marvels, not that it is done well, but that it is done at all.
Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 04:31 pm

No-one has yet said "it can't be done" for all values of "it", but LEDs are not designed to convert photons to current, so there is no particular attempt in the manufacturing process to make them so.
You're going to need a fair amount of amplification to do this, and that is going to be tricky and expensive in a large rectangular array, so the idea of making a linear array and scanning it either my moving the array, or by moving the image over it has a lot going for it.


See now that's an answer that helps me, I thought thats what an LED in a reading state did, it gave out a output voltage dependant on the input? (I am trying to read and understand this paper you gave me)

I understand a little bit more about what you mean by scanning, obviously that's not going to give me the 1/60th of a second I need, so it would have to be more like a cameras pixel area, 2D.

This is the sort of input sensor I was looking at:

http://uk.rs-online.com/web/p/photodiode/6548643/

Which has a very good spectral sensitivity to the visible light spectrum (and above) which I can filter out,

I can't find what sort of output that will give, but I assume it's just a voltage which I can measure and convert to a digital signal?


Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 16, 2012, 04:35 pm

Grumpy_Mike has some information on using LEDs as sensors - http://www.thebox.myzen.co.uk/Workshop/LED_Sensing.html


Yeah I seen that a littler earlier on, thanks.
Title: Re: Digital Camera Sensor
Post by: MichaelMeissner on Aug 16, 2012, 06:58 pm
I dunno why you need to create your own sensor using large LEDs.  I would think adapting an existing vision system (web cam, pin hole camera, security camera, DSLR, etc.) would work better.  Or if you are still wanting to recreate a vision chip, you probably need to shrink it down, rather than using discrete components.  In any case, it is likely to get expensive.

A quick google shows the following project: http://www.ardueye.com/pmwiki.php?n=Main.HomePage (http://www.ardueye.com/pmwiki.php?n=Main.HomePage), which uses Arduinos and sensors.  However, I can't figure from the site where to actually order the chips.

A big problem with using Arduinos is the lack of memory and the speed (or lack thereof) of the processor is not enough to process more than a really small size image.  If you want to process larger images you need to go to a chip with a larger memory system (and possibly floating point hardware depending on your processing), such as many ARM based chips.  Or by using single board computers.  Or use Android systems, using their camera.

If you still want to using the Arduino, the video experimenter shield (http://nootropicdesign.com/ve/ (http://nootropicdesign.com/ve/)) can take images from a camera producing an analog composite signal, and give your very low res. images.

Another thing is the HackHD camera PCB: http://www.hackhd.com/ (http://www.hackhd.com/).
Title: Re: Digital Camera Sensor
Post by: Jimmy60 on Aug 16, 2012, 08:40 pm
Instead of trying to read 900 sensors at once why not read one sensor 900 times. Just mechanically move it from spot to spot. Sounds like something an arduino could pull off. Now it's a mechanically more challenging project but robotics is right up arduino's alley.

Your subject won't move so you can just leave the lens's shutter open. Move the sensor to a spot take a reading, trigger the flash if needed. Go to the next spot and do it again. Voila, a rudimentary scanning back.

Just a thought.
Title: Re: Digital Camera Sensor
Post by: John_S on Aug 17, 2012, 01:57 am
Quote
Instead of trying to read 900 sensors at once why not read one sensor 900 times

As far as I know, the arduino only has one ADC, so you can only read one sensor at a time.

Think about this:
The ADC can do a reading in 0.1 ms. (10,000 reads/second). So 900 reads should take around 0.1 seconds, but you also have to work the sensor multiplexing (remember, only one ADC), store the data, do something with the data, and send the data to your output device.

Oh, and the Arduino only has 2K SRAM... That might be enough for one exposure.

No one is saying it can't be done. As a learning project it has merit. But it would be like watering your garden with a leaky thimble... it would take a while and not produce good results.
Title: Re: Digital Camera Sensor
Post by: minustheberry on Aug 19, 2012, 04:24 pm
The reason I am designing from scatch is over the past two years of my degree we've done probably 30 different experiments on all different types of sensors, we study the science behind imgaging. This would be for my final project and I feel that they have tough us everything we need to know to be able to make it logically work - but they haven't taught us is how to actually put a sensor together and practically go through the proccess, only theory - so i thought it would be a good idea.

However like I said I have no knowledge of the electronics, thinking about it now, I don't actualy have to use flash lighting, I can shoot under constant light for a longer duration.

John when you say 2k, would that be during the total time of the exicutable program or would I be able to, and if this is in the right terms, read a sensor, run it through the ADC, save the data and move onto the next sensor, but empty the sdram between?