Paso 10: Almohada completa y código
/ * VARIABLES * /
int digPin [6] = {8, 9, 10, 11, 12}; LED / / 5 "Rounds" de LED de (LED conectado al PIN 2 con la primera luz, luego de LED
int vibePin = 7; JUNTA DE AMBIENTE / /
int buzzPin = 4; ALARMA
isOn int = bajo;
int isBuzzerOn = 0;
zeroCount largo sin signo = 0;
timestash largo sin signo = 0; Última vez que hice algo.
/ * CONFIGURACIÓN - inicializar las variables; ejecuta una vez; después de cada encendido/reset de LilyPad (microcontrolador) * /
void setup()
{
pinMode (digPin [0], salida);
pinMode (digPin [1], salida);
pinMode (digPin [2], salida);
pinMode (digPin [3], salida);
pinMode (digPin [4], salida);
pinMode (digPin [5], salida);
pinMode (vibePin, salida);
pinMode (buzzPin, entrada);
}
/ * LOOP - consectively loops, que programa cambiar y responder, controla activamente el LilyPad * /
void loop()
{
currTime largo sin signo = millis(); Mi tiempo actual / /--este es el mecanismo que utilizamos para hacer algo cada segundo sin usar un retraso
difTime largo sin signo = currTime - timestash; hora actual del ahorro de tiempo para encontrar la diferencia
¿Está el timbre?
if(digitalRead(buzzPin) > 0)
{
isBuzzerOn = 1;
zeroCount = 0;
} else {}
¿20 ceros?
zeroCount += 1;
if(zeroCount > 20)
{
isBuzzerOn = 0;
}
}
Si (isBuzzerOn == 1) {}
Si {} (difTime > 1000)
timestash = currTime; Tengo que poner la hora actual en timestash para que reinicie la sincronización
difTime = 0;
JUNTA DE VIBE
Si (isOn == LOW) {}
isOn = alta;
digitalWrite (vibePin, HIGH);
} else {}
isOn = bajo;
digitalWrite (vibePin, bajo);
}
encender todos los LEDs
digitalWrite (digPin [0], HIGH);
digitalWrite (digPin [1], HIGH);
digitalWrite (digPin [2], HIGH);
digitalWrite (digPin [3], HIGH);
digitalWrite (digPin [4], HIGH);
digitalWrite (digPin [5], HIGH);
}
}
--final de la segunda lo
Si (difTime > 100) {}
digitalWrite (digPin [0], LOW);
}
Si (difTime > 200) {}
digitalWrite (digPin [1], LOW);
}
Si {} (difTime > 300)
digitalWrite (digPin [2], LOW);
}
Si {} (difTime > 400)
digitalWrite (digPin [3], LOW);
}
Si {} (difTime > 500)
digitalWrite (digPin [4], LOW);
}
Si {} (difTime > 600)
digitalWrite (digPin [5], LOW);
}
Si {} (difTime > 700)
digitalWrite (digPin [6], LOW);
}
}