Paso 5: El código
Este código es similar y utiliza muchos ejemplos en el ejemplo de cambio de estado archivo > ejemplos > Digital > StateChangeDetection. Un ejemplo simple de este código puede encontrarse aquí.
En mi void setup() simplemente configurar los pines del LED para dos botones para entraday salida .
"Serial.begin(9600);" me permitirá utilizar la herramienta Monitor Serial > Serial Monitor para rastrear mis contadores y los botones presionado.
En el void loop() leí por primera vez la entrada de pin, luego comparo a su estado anterior que ahora es 0. Si ha habido un cambio como el botón (buttonState == HIGH) aumentar el contador y mostrarlo en el monitor serie. Cuando suelto el botón (buttonState == LOW) muestra qué tecla de referencia. Añadir un pequeño retardo para evitar rebotes.
Después de esto es toda asignación directa del LED para el contador.
Eso fue para el primer botón que sube 1 de 0 a 15.
Ahora el segundo botón que mueve el valor hacia abajo. La parte difícil es tener trabajar simultáneamente por lo que cuando presione el segundo botón para disminuir el valor, el primer valor de botones y el contador obtiene disminuido demasiado. Así que en lugar de a 4, presione el botón y pasar a 3 (en binario), cuando pulsamos el primer botón que queremos ir a 4 en vez de 5.
Para hacer esto correctamente Empezamos el segundo botón como la primera, pero esta vez nuestro contador de botón 2 será el contador del primer botón menos 1 y entonces tenemos que el primer contador disminuye también por 1.
buttonPushCounter2 = buttonPushCounter - 1;
buttonPushCounter = buttonPushCounter - 1;
Todo lo demás es el mismo, y copiamos el if... más declaraciones.