I need to have a random seed which is different every time I turn on the Arduino.
I remember reading many moons ago that the voltage across a reverse biased diode is a good source of white noise. For my purposes I'd guess that I could use the bottom two bits (several times) of a byte read of the voltage to form a new random seed.
I imagine a resistor from Vcc to a diode connected to 0v. The arduino would read the voltage across the diode.
Has anybody already done this? And did it work?
My machine will not have access to the internet, so it will not be able to lookup random numbers anywhere.
There are a lot of published noise generator using base-emitter reverse biased junction of the transistor.
It only works with voltage 7-12 V for common low signal transistors, you can't connect it directly to analog input, but voltage divider or cap/resistor would solve a problem.
My favourite low-parts-count RNG is a three-component free running 555 oscillator like this: http://www.eleccircuit.com/alternate-555-oscillator/
you then hook pin 6 of the 555 into an analogue input and read that. Pin 6 taps into the timer's analogue R/C circuit, so you are reading the charge on the timing capacitor, which is always changing, and changing in a pattern that is not linked to the Arduino clock.
If you have at least 12 volts available, you can use a reverse biased B-E junction circuit to generate noise, but in my applications, I only have 5V and building a boost converter takes more parts than the 555 oscillator way.