Arduino intermedio: Entradas y salidas (2 / 9 paso)

Paso 2: Botón de Arduino contra rebotes

Continuando con el botón contra rebotes que introduje en mi Instructable pasado, podremos millis() debounce botones sin utilizar delay():

En este código, he agregado algunas nuevas variables de almacenamiento de información:

Boolean debouncedState = bajo;
int debounceInterval = 20;
timeOfLastButtonEvent largo sin signo = 0;

debouncedState almacena el estado debounced actual del botón, esto es el estado en que estamos absolutamente que el botón esté. Por el contrario, currentState y lastState almacenan las mediciones actuales y pasadas que hicimos del botón, pero no nos dicen el estado del botón con certeza porque pueden ser afectados por botón de charla.

debounceInterval es la cantidad de ms para esperar el botón pin resolver antes de que sabemos con certeza qué estado. Yo soy mi último ejemplo había utilizado 1ms, aquí estoy utilizando 20ms.

timeOfLastButtonEvent es similar a timeOfLastLedEvent en el bosquejo pasado, da un tiempo para comparar con currentTime, por lo que podemos contar cuántos segundos han pasado desde la primera detección de una prensa del botón.

Restablecemos la timeOfLastButtonEvent cada vez currentState no es igual a lastState:

Si (currentState! = lastState) {}

timeOfLastButtonEvent = currentTime;

}

Una vez que ha pasado suficiente tiempo sin necesidad de reiniciar timeOfLastButtonEvent, sabemos que el botón se ha establecido en un estado debounced:

currentTime - timeOfLastButtonEvent > debounceInterval

Entonces podemos actualizar el estado almacenado debounce actual si ha cambiado y si es así, desencadenar un evento de acuerdo con el nuevo estado debounce:

Si (currentState! = debouncedState) {}

debouncedState = currentState;

Si (debouncedState == HIGH) {}

Serial.println("pressed");

} else {}

Serial.println("Released");

}

}

Artículos Relacionados

Luces activadas por la entrada y salida

Luces activadas por la entrada y salida

Este proyecto es un prototipo. He construido un proyecto que utiliza dos sensores ultrasónicos para monitor de entrada y salida de una persona a través de un pasillo o una puerta. el sentido de dos sensores ultrasónicos para cambios en la distancia.
Entrada y salida nudo y lazo pulsera

Entrada y salida nudo y lazo pulsera

este tutorial le mostrará cómo hacer un brazalete de paracord de estilo "entrada y salida". Hasta que me imagino que esto no es realmente el comienzo... vaya al paso 1 para el comienzo mostrar cómo se hace la parte interior.
Arduino Due entrada guitarra de ADC y DAC salida mezclador

Arduino Due entrada guitarra de ADC y DAC salida mezclador

esta es la secuela a mi instructable que ofrece un circuito de entrada de señales generadas por una guitarra en el arduino due ADC.[Actualizado el 26 de enero de 2014 - el esquema ha cambiado... ver notas a continuación.]Este instructivo describe el
Arduino: Envío de salida Digital

Arduino: Envío de salida Digital

En esta lección usted será conectar un Arduino con un solo LED y una resistencia de 560 Ohm entonces código y cargar el firmware que escribe secuencial comandos para hacer el parpadeo del LED de encendido/apagado. Se trata de 'Hola, mundo' de Arduino
Realmente simple interruptor audio (2 entradas, 1 salida)

Realmente simple interruptor audio (2 entradas, 1 salida)

este es un proyecto desarrollado durante el "Taller de Inventos" (AKA agosto construcción de noche), patrocinado por Instructables y Jameco, que algunos de los componentes de este instructable.Es un caso que tiene una entrada de audio y dos sali
Vernier sensores y Arduino (o Teensy) para registro de datos

Vernier sensores y Arduino (o Teensy) para registro de datos

veamos cómo recopilar datos de sensores educativos Vernier con una Junta de desarrollo de microcontrolador Arduino-compatible.Si sólo necesita una sonda con un equipo de interfaz y quieres que todo funcione, probablemente debe comprar un Vernier Go!
Wii Nunchuck como controlador de propósito general a través de la placa Arduino

Wii Nunchuck como controlador de propósito general a través de la placa Arduino

Fondo:He hecho un uno mismo-equilibrio monopatín eléctrico que se dirige con un Wii Nunchuck usando el joystick de pulgar en la parte superior o por inclinación izquierda o derecha, dependiendo de cuál de los dos botones en el extremo están siendo pr
Fundamentos de Arduino 101

Fundamentos de Arduino 101

El propósito de este instructable es introducir el bosquejo escrito fundamentos a los recién llegados al mundo de Arduino. Se pretende ser una guía de principiantes que incluye explicación detallada de las declaraciones básicas y funciones. La mayorí
El olor del éxito

El olor del éxito

el olor del éxito es un objeto conectado de Internet que emite un soplo de perfume cada vez que te un retweet.Hackear un apagado el estante ambientador automático, conectado a un Arduino y programado para ser controlada a través de procesamiento. El
Cómo conectar un Sensor de entrada de Audio y salida

Cómo conectar un Sensor de entrada de Audio y salida

un sensor es uno de un componente básico para la captura de medio físico. Usted puede conseguir el cambio de luz con la fotocélula CDS, usted puede medir el espacio con un sensor de distancia y puede captar su movimiento con un acelerómetro.Ya hay va
Cómo conectar un pulsador con entrada de Audio y salida de

Cómo conectar un pulsador con entrada de Audio y salida de

un botón es uno de un componente básico para la captura de su acción. Dinámicamente puede presionar un botón para hacer algo.Ya hay varias forma de usar los botones en sus proyectos (e.g. hacking ratón y teclado o Arduino, gainer, MCK). Esta forma al
Entradas extras para Arduino con un teclado

Entradas extras para Arduino con un teclado

El Arduino es quizás la cosa más fresca en la tierra. Hay muchos tipos, el Uno, la Mega, el Pro, Pro Mini, etc. etc..Pero una cosa que a menudo puede ser un problema es que sólo tienes un número limitado de entradas y salidas. Hay muchas soluciones p
Plugduino - controlador de salida de 120 voltios basados en Arduino

Plugduino - controlador de salida de 120 voltios basados en Arduino

dar su Arduino 120 voltios patada en los pantalones!Arduino es una gran herramienta para todo aquel interesado en aprender programación de microcontrolador, pero después de parpadear un LED, ¿cuál es siguiente? Este proyecto permite su Arduino aparat
Cómo conectar un Fader con entrada de Audio y salida de

Cómo conectar un Fader con entrada de Audio y salida de

un fader es un componente básico para la mesa de mezclas. Puede controlar dinámicamente su origen con el movimiento de un fader.Ya hay varias forma de usar los botones en sus proyectos (e.g. hacking ratón y teclado o Arduino, gainer, MCK). Esta forma