Raspberry Pi Pico で乱数(擬似乱数)を発生させるときに rand()
を使うのですが、 srand( unsigned int seed)
に与える種(seed)をランダムにしないと同じ乱数系列が出てしまいます。時刻を取得できるシステムであれば、プログラムを起動したときの時刻を乱数の種に使うことで同じ乱数系列の発生を避けることができます。
Raspberry Pi Pico ではRTC機能を持っているものの、システム起動してからの時刻は常に一定となるはずなので、乱数の種には使えません。代わりに使えそうなランダムなものとしてはADCの値があります。ADCの入力に何もつないでないときにはノイズとしてLSB付近がフラフラしてると思われます。また、ADCの4番には温度センサがつながっているので、電源入れた直後は気温に応じたランダムな値を持っていることが期待できます。温度センサが定常状態になるとあまり期待できませんが... (^^;