Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define Def_tempo 5000 // Define o tempo de espera, após pressionar o botão
- #define Def_NumBotao 10 // Define o numero do GPIO, para receber o sinal do botão
- #define Def_NumBotao_2 11 // Número do pino do botão ETAPA 3
- #define Def_NumBotao_3 12 // Número do pino do botão ETAPA 3
- unsigned long botao_millis; // armazenar o millis() no insante.
- bool chave_menu; // Variável responsável por (des)ativar o menu
- bool chave_menu_old; // Armazena o valor de "chave_menu"
- int Variavel_de_dados;
- void setup() { // Função de inicialização
- Serial.begin(115200); // Inicializa o monitor serial, a 115200
- pinMode(Def_NumBotao, INPUT); // Define "Def_NumBotao" como "entrada" (input)
- pinMode(Def_NumBotao_2, INPUT); // Define o pino como entrada
- pinMode(Def_NumBotao_3, INPUT); // Define o pino como entrada
- }
- void loop() {
- if (digitalRead(Def_NumBotao) == HIGH) { // Verifica se o botão ESTÁ pressionado
- if (millis() - botao_millis >= Def_tempo) { // Verifica se o valor atual do tempo, menos o tempo salvo, é igual a "def_tempo"
- // Serial.println("Botão Pressionado por 5 segundos ou mais"); // Em caso positivo, imprime.
- // =================================================
- // início da área onde a mágica irá acontecer
- // =================================================
- if (chave_menu == chave_menu_old) { // Se chave_menu for igual a chave_menu_old, habilita a mudança de "chave_menu"
- if (chave_menu == 0) { // Se chave_menu for igual a 0
- chave_menu = 1; // chave_menu será igual a 1
- } // fecha o "if"
- else if (chave_menu == 1) { // Se chave_menu for igual a 1
- chave_menu = 0; // chave_menu será igual a 0
- } // fecha o "else if"
- Serial.print("chave_menu ="); // imprime o TEXTO "chave_menu ="
- Serial.println(chave_menu); // IMPRIME, o valor da VARIÁVEL "chave_menu"
- // ============================================
- // Fim da área, onde a mágica acontece.
- // ============================================
- }
- }
- }
- else { // Caso o botão NÃO ESTEJA PRESSIONADO //
- botao_millis = millis(); // Salva o valor atual do tempo
- chave_menu_old = chave_menu; // Iguala o valor de chave_menu_old ao chave_menu
- }
- }
- void menu_ativo() {
- if (digitalRead(Def_NumBotao_2) == HIGH) { // se o "Def_NumBotao_2" foi pressionado
- Variavel_de_dados = Variavel_de_dados + 1;
- }
- else if (digitalRead(Def_NumBotao_3) == HIGH) { // se o "Def_NumBotao_3" foi pressionado
- Variavel_de_dados = Variavel_de_dados - 1;
- }
- Serial.print("MENU ATIVO ---- ");
- Serial.print("Variavel_de_dados = ");
- Serial.println(Variavel_de_dados);
- }
Advertisement
RAW Paste Data
Copied
Advertisement