Paso 10: El código

Así que ahora que se ha completado el circuito, permite obtener listo para cargar el código en el micro de Arduino el código: * //the tiempo damos el sensor a calibrar (10 a 60 segundos según la hoja de datos) int calibrationTime = 30; el momento cuando el sensor produce un impulso de baja mucho tiempo unsigned int lowIn; la cantidad de milisegundos que el sensor ha de ser baja //before asumimos todo el movimiento ha detenido mucho tiempo unsigned int pausa = 5000; Boolean lockLow = true; takeLowTime Boolean; pirPin int = 3; el pin digital conectado al sensor PIR de salida int ledPin = 12; //Setup void setup() {Serial.begin(9600); pinMode (pirPin, entrada); pinMode (ledPin, salida); digitalWrite (pirPin, LOW); //give el sensor de tiempo para calibrar Serial.print ("calibración sensor"); para (int i = 0; i < calibrationTime; i ++) {Serial.print("."); delay(1000);} Serial.println ("hecho"); Serial.println ("SENSOR activo"); Delay(50); } / / / //LOOP void loop() {if(digitalRead(pirPin) == HIGH) {digitalWrite (ledPin, HIGH); //the led visualiza los sensores salida pin estado if(lockLow) {//makes que esperamos una transición a la baja antes de cualquier salida más: lockLow = false; Serial.println("---"); Serial.Print ("movimiento detectado en"); Serial.Print(Millis()/1000); Serial.println ("sec"); Delay(50); } takeLowTime = true; } if(digitalRead(pirPin) == LOW) {digitalWrite (ledPin, LOW); //the led visualiza los sensores salida pin estado if(takeLowTime) {lowIn = millis(); //save el tiempo de la transición de alto a bajo takeLowTime = false; //make que esto se realice sólo en el inicio de una fase bajo} //if el sensor es baja para más de la pausa dada //we asumir que no hay movimiento más va a suceder si (! lockLow & & millis() - lowIn > pausa) {//makes seguro que este bloque de código es sólo se ejecuta otra vez después //a nueva secuencia de movimiento ha sido detectado lockLow = true; Serial.Print ("movimiento terminada en"); salida Serial.print((millis() - pausa) / 1000); Serial.println ("sec"); Delay(50); } } }