Paso 3: código!!!!
#include "OneButton.h"
Las acciones lo ca...
typedef enum {}
ACTION_NONE, / / no hacer nada.
ACTION_ON, / / sistema LED "ON"
ACTION_SLOW, / / blink LED "SLOW"
ACTION_FAST / / blink LED "FAST"
}
MyActions;
Configurar un nuevo OneButton en pin A1.
OneButton button(A1, true);
MyActions nextAction = ACTION_NONE; ninguna acción cuando a partir
código de configuración, al ejecutar una vez:
void setup() {}
permitir que el estándar de led en el pin 13.
pinMode (13, salida); pone el pin digital como salida
vincular la función de myClickFunction ser llamado en un evento de clic.
button.attachClick(myClickFunction);
vincular la función de doubleclick para ser llamado en un evento doubleclick.
button.attachDoubleClick(myDoubleClickFunction);
} / / setup
código principal, para ejecutar varias veces:
void loop() {}
sin firmar largo ahora = millis();
ver el botón:
Button.Tick();
Puede implementar otro código aquí o esperar un tiempo
Si (nextAction == ACTION_NONE) {}
no hacer nada.
digitalWrite (13, bajo);
} else if (nextAction == ACTION_ON) {}
encender LED
digitalWrite (13, HIGH);
} else if (nextAction == ACTION_SLOW) {}
hacer un parpadeo lento
Si (ahora % 1000 < 500) {}
digitalWrite (13, bajo);
} else {}
digitalWrite (13, HIGH);
} / / Si
} else if (nextAction == ACTION_FAST) {}
hacer un parpadeo rápido
Si (ahora % 200 < 100) {}
digitalWrite (13, bajo);
} else {}
digitalWrite (13, HIGH);
} / / Si
} / / Si
} / / lazo
Esta función se llamará cuando se pulsa el botón 1 vez y les ha pasado algún tiempo.
void myClickFunction() {}
Si (nextAction == ACTION_NONE)
nextAction = ACTION_ON;
otra cosa
nextAction = ACTION_NONE;
} / / myClickFunction
Esta función se llamará cuando se pulsa el botón 2 veces en un corto plazo.
void myDoubleClickFunction() {}
Si (nextAction == ACTION_ON) {}
nextAction = ACTION_SLOW;
} else if (nextAction == ACTION_SLOW) {}
nextAction = ACTION_FAST;
} else if (nextAction == ACTION_FAST) {}
nextAction = ACTION_ON;
} / / Si
} / / myDoubleClickFunction
Final