I'm new to electronics and currently working on a project to build a physical random event generator using a Zener diode. I'm curious about the Arduino's ability to capture the random signal generated by the diode.
Specifically, I have a couple of questions:
Is the Arduino's processing speed fast enough to reliably capture the random signal from the Zener diode?
If the Arduino isn't fast enough, what happens to the signal? Will it be missed or distorted?
What would the signal look like if the Arduino captures multiple random events within a single sample?
Any insights or explanations would be greatly appreciated! Thanks in advance for your help.
Choose a board, check the documentation, read the datasheet of the processor it uses, if it doesn't work for you, choose another one and repeat the steps. This way you can satisfy your curiosity and with all the basics.
Basically this is not the best way of doing the job.
Many, many years ago (mid 1960), I did a similar project, that was to generate a random direction for a robot. This was in the days before micro computers.
I built a cell consisting of a tube with two electrodes in it. The tube was filled with cotton wool and a silver nitrate solution. One electrode was connected directly to the positive supply and the other to ground through a resistor.
What happened was that the voltage across this cell caused dendrites to grow in the cotton wool, until they in effect shorted out the cell, causing them to break up like a very delicate fuse and you could get a random signal at the resistor connected to ground.
It worked very well, and you could see those spikes on an oscilloscope, and the use a transistor to boost up the signal level.
Probably not.
Yes
Not a lot, it would just be missing. This is a very similar to the quenching effect on a G-M tube.
There are statistical methods for adding extra counts to compensate for those that are missed. Your situation with a Zener diode is very similar.
This Zener diode noise business is not very selfexplanatory and I doubt that there is only one way to aproach this. If you want to have help from here, there is much more information needed, about your aproach. The kind of signal, what you are talking about is depending from the circuit, what will be used. So no answers can be given without a clear spec.
The outcome of your approach might look totally different, but one exapmle to aproach this:
In this exercise, are you analysing something like white noise and applying an algorithm to verify its randomness ?
Are you interested only in the audio spectrum say 20 to 20kHz ?
Assuming that the requirement is for some sort of "true random number generator". Unfortunately it does not seem simple like attaching a zener to an analog and reading the value.
Thank you very much for sharing your experience!
I am quite a new in this field so this kind of posts really helps my exploration in this project!
I see there are lot of ways to handle the generation of random event!
So from your opinion using Arduino to process random event is not ideal.
I know that would be a whole different topic of discussion but, is it possible to DIY processor that is reliable to capture the random signals?
That depends on what method you are using to capture the signal, what your code it, what the clock(s) are. I recommend you do a few tutorials on the Arduino and get and read a copy of the Arduino Cookbook.
Thank you for your reply!
Also thank you very much for sharing a reference!
The reason behind I am looking into a zener diode for random event generator is that, if I utilize one of the characteristics of zener-diode, zener-breakdown, then was hoping to build quantum effect involved random event generator.
But I guess there are different approaches that I can look into as you suggested.
I am also considering to use simple p-n junction transistor to achieve the quantum effect (quantum tunnelling effect).
The random signal I would like to capture is, like you mentioned, white noise, which contains audible range of frequency between 20hz to 20,00 hz
Then I would like to conver it to digital siganl between 1 and 0.
I have a program written already but struggling to build a circuit to achieve to gain the physical noise source that can be powered via laptop usb with the input voltage of 5V.