Are you sure the pins are correct?
Maybe use a smaller random number generator per https://arduino.stackexchange.com/a/18092/6628 ?
static uint8_t lfsr = 0x01;
const byte LFSR_MASK = 0x8e;
void setup() {
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(3, INPUT);
}
void loop() {
// int buttonState = digitalRead(3);
if (digitalRead(3)) {
if (generateNoise()) {
digitalWrite(0, HIGH);
}
else {
digitalWrite(1, HIGH);
}
//delay(2000)
//for (int i = 31; i; i--)_delay_us(64516);
_delay_ms(2000);
digitalWrite(0, LOW);
digitalWrite(1, LOW);
}
}
uint8_t generateNoise() {
// Return 1 bit of noise using a Galois Linear Feedback Shift Register
// See https://en.wikipedia.org/wiki/Linear_feedback_shift_register#Galois_LFSRs
if (lfsr & 1) {
lfsr = (lfsr >> 1) ^ LFSR_MASK ;
return (1);
}
else {
lfsr >>= 1;
return (0);
}
}
The RNG didn't help as much as changing the much-disparaged delay.