Paso 5: código
int ledPin = 13; elige el pin para el LED
int inputPin = 12; elegir la clavija de entrada (para el sensor PIR) int pirState = bajo; empezar, suponiendo que ningún movimiento detectado int val = 0; variable para leer el pin status int pinSpeaker = 11; Configurar un altavoz en un perno PWM (digital 9, 10 u 11)
void setup() {pinMode (ledPin, salida); / / declara el LED como salida pinMode (inputPin, entrada); / / declara el sensor como la entrada pinMode (pinSpeaker, salida); Serial.Begin(9600); }
void loop() {val = digitalRead(inputPin); / / lee el valor de entrada si (val == HIGH) {/ / comprobar si la entrada es alta digitalWrite (ledPin, HIGH); / o apagar el LED ON playTone (900, 900); delay(100);
Si (pirState == LOW) {/ / sólo hemos convertido en Serial.println ("movimiento de detectado!"); / / solo queremos imprimir en el cambio de la salida, no de estado pirState = alto;}} otro {digitalWrite (ledPin, LOW); / o apagar el LED apagado playTone (0, 0); delay(300); si (pirState == HIGH) {/ / sólo hemos convertido de Serial.println ("movimiento que terminó!"); / / solo queremos imprimir en el cambio de la salida, no de estado pirState = bajo;}}} duración en milisegundos, frecuencia en hertz vacío playTone (larga duración, int freq) {duración * = 1000; int periodo = (1.0 / freq) * 1000000; largo elapsed_time = 0; mientras que (elapsed_time < duración) {digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite (pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (período);}}
Este es el código, subir a Arduino y ver que la magia ocurra!