Paso 6: Construcción de los modos de
Queremos que nuestro regulador consta de tres modos. En el primer modo enviamos notas a la computadora. En el segundo modo enviaremos cambios de Control (CC) a la computadora y en el tercer modo, podremos entrar en un "configurar el modo" en que seremos capaces de cambiar el canal midi de salida.
Podrá cambiar entre estos modos por deslizar a izquierda y derecha usando el sensor. Para ver en qué modo usted actualmente, vamos a construir en dos leds. Azul será Nota modo, amarillo será modo CC y ambos leds en configure modo.
Haremos esto mediante la creación de una enumeración. De esta manera podemos mantener nuestro código legible y comprensible para el ojo humano.
enum Mode { CC, Note, Configure }; Mode currentMode = Note;
Al que se ha hecho es bastante recta hacia adelante. Cuando los golpes de usuario a la izquierda, el currentMode se convierte en modo de notas. Cuando el usuario golpes de derecha, currentMode se convierte en modo CC.
void CheckForGestures() { if ( zx_sensor.gestureAvailable() ) {<br> gesture = zx_sensor.readGesture(); gesture_speed = zx_sensor.readGestureSpeed(); switch ( gesture ) { case NO_GESTURE: break; case RIGHT_SWIPE: currentMode = Note; break; case LEFT_SWIPE: currentMode = CC; break; case UP_SWIPE: currentMode = Configure; default: break; } } }
Ahora, simplemente tenemos que comprobar en nuestro método void loop() que para cuando el modo es algo.
if (currentMode == Note) {<br> SendNotes(); } if (currentMode == CC) { SendCC(); } else if (currentMode == Configure) { ConfigureMode(); } if (currentMode != Configure) { CheckForGestures(); }
Una vez más: el código completo que estará en el paso final.