Paso 5: El reloj de programación para principiantes: sensores de la tapa
Sensores de capacitancia son dispositivos poco aseados; ves todo el tiempo porque son utilizados para cosas como luces que cambian de brillo solo por ser tocado. La Junta de arranque que utiliza, de Adafruit, salidas si los cables han sido tocadas con I2C y envía los números como potencias de 2 (apenas estoy aprendiendo esto, tal vez estás demasiado). Para la mayoría de vosotros será demasiado simplista, pero todavía me confunde así que hice una tabla de cómo responde la tapa al ser tocado.
La llamada para ver si algo se ha tocado es "tocada" y puede ser codificada como esta:
Si (tocado == 1) {hacer algo cuando se tocaban el primer cable - y sólo el primero -}
Por ejemplo, si se toca el cable 5, Arduino 've' el número 16. Además, supongamos que el alambre de 3 º y 6 cables se tocan al mismo tiempo, el Arduino vería el número 36. ¿Por qué? porque los cables del sensor de capacitancia se numeran de 0-7 y el 3er cable tiene el número 2 ^ 2 = 4 y el 6 el alambre tiene el número 2 ^ 5 = 32 y la suma de dos números es 4 + 32 = 36.
¿Todavía confundido? Pruebe este video como un lugar para empezar... (me ayudó).
Así, con 8 cables conectados al sensor de capacitancia, podemos tener muchas diferentes combinaciones [(2^8)-1 = 255 combinaciones] a hacer cosas diferentes. Codifiqué sólo el reloj de 13 diferentes cosas. Son: algo de persona 1, algo sobre la persona 2, algo de ellos juntos, más horas, menos horas, más minutos, menos minutos, más días, menos días, más meses, menos meses, más años y menos años.
Si nos fijamos en el código de Arduino, verá donde tengo el control de Arduino para las diferentes combinaciones que tienen un significado. Cada pequeño fragmento como este:
else if (tocado == 36)
{k = plusmin();}
llama para una pequeña subrutina hacer algo específico. El ejemplo anterior requiere la subrutina ajustar los minutos por un minuto.