Paso 5: El código fuente de
Este código coloca el "brillo arriba" y "brillo abajo" en los LEDs, control de movimiento en la parte superior e inferior del ciclo. Si se detecta movimiento, llama a la función "freakout" que causa el parpadeo y la risa. Eso es todo!
/*
Este es el código de fuente para el movimiento sensible
calabaza encantada para Radio Shack.
Código original por Daniel Gentleman, thoughtfix.com
*/Configurar asignaciones de pines
leftEye int = 3; Pin PWM 3
rightEye int = 5; Pasador de PWM 5
int redBlink1 = 9;
int redBlink2 = 10;
int whiteBlink = 13;
int laughBox = 12; transistor para módulo de voz
int pirSensor = 7; sensores infrarrojos pasivos
int pirState = 0; Estado inicial de IRConfigurar modos de pin
void setup() {}
pinMode (leftEye, salida);
pinMode (rightEye, salida);
pinMode (redBlink1, salida);
pinMode (redBlink2, salida);
pinMode (whiteBlink, salida);
pinMode (laughBox, salida);
pinMode (pirSensor, entrada);
}
void loop () {}
fundidos de min a max en incrementos de 5 puntos:
para (int fadeValue = 0; fadeValue < = 255; fadeValue += 5) {}
establece el valor (rango de 0 a 255):
analogWrite (leftEye, fadeValue);
analogWrite (rightEye, fadeValue);
Espere de 30 milisegundos
Delay(30);
}
pirState = digitalRead(pirSensor); leer el estado del valor pirsensor:
Si (pirState == HIGH) {/ / si se detecta movimiento
FreakOut(); Llamar a la rutina de freakout
}
se descoloran hacia fuera de max a min en incrementos de 5 puntos:
para (int fadeValue = 255; fadeValue > = 0; fadeValue-=5) {}
establece el valor (rango de 0 a 255):
analogWrite (leftEye, fadeValue);
analogWrite (rightEye, fadeValue);
Espere 30 milisegundos ver el efecto de atenuación
Delay(30);
}
pirState = digitalRead(pirSensor); Igual que arriba
Si (pirState == HIGH) {}
FreakOut();
}
}
void freakout() {}
digitalWrite (laughBox, HIGH); Enviar ON inicial para todos los
digitalWrite (leftEye, HIGH);
digitalWrite (rightEye, HIGH);
digitalWrite (redBlink1, HIGH);
digitalWrite (redBlink2, HIGH);
digitalWrite (whiteBlink, HIGH);
Delay(250);
digitalWrite (laughBox, bajo); Apague el botón de la risa
para (int i = 1; i < = 40; i ++) {/ / empiezan a parpadear mayhem
digitalWrite (leftEye, HIGH);
digitalWrite (rightEye, HIGH);
digitalWrite (redBlink1, bajo);
digitalWrite (redBlink2, bajo);
digitalWrite (whiteBlink, bajo);
Delay(50);
digitalWrite (leftEye, LOW);
digitalWrite (rightEye, LOW);
digitalWrite (redBlink1, HIGH);
digitalWrite (redBlink2, HIGH);
digitalWrite (whiteBlink, HIGH);
Delay(50);
} / / Final parpadeando mayhem, apague todo
digitalWrite (redBlink1, bajo);
digitalWrite (redBlink2, bajo);
digitalWrite (whiteBlink, bajo);
}