Arduino - botón de doble función - largo corto Prensa prensa (sin demora) + Bonus (4 / 6 paso)

Paso 4: El Software en detalle parte 2

Ahora para el bucle de. Voy a descomponerlo poco a poco, para explicar lo que está sucediendo. Lo primero que hará el programa es leer el estado del botón. Esto nos dará el código a continuación y y nos permiten crear funciones para Estados no presionados y presionados, recordar que la función de pulsación corta pasa al soltar botón.

 if (digitalRead(button) == HIGH) { //Button pressed } else { //Button not pressed } 

En el botón sección, lo primero que vamos a hacer es probar el buttonActive variable, al montaje, esto es falso. Si esto es falso actualmente, esto significa que el programa detecta la tecla por primera vez. Esto es porque después de la lectura falso que inmediatamente ponemos a true y sólo soltando el botón puede establecer a false. También registramos el tiempo que primero se presionó el botón.

 if (buttonActive == false) { buttonActive = true; buttonTimer = millis(); } 

El siguiente paso dentro de la sección tecla, es prueba de cuánto hemos mantenido el botón para. Hacemos esto analizando el momento actual, restando la primera pulsación en milisegundos y compara eso con la cantidad de tiempo que desee hasta que se active la pulsación larga.

También comprobamos que el longPressActive booleana es falsa, porque una vez que hemos activado la función de pulsación larga fijaremos este valor booleano true stop repetir activación. Una vez hemos mantenido el botón el tiempo deseado, moverá de un tirón el estado de los boolean LED1State que a su vez moverá de un tirón el pin que el LED está conectado a alta o baja en consecuencia.

 if ((millis() - buttonTimer > longPressTime) && (longPressActive == false)) { longPressActive = true; LED1State = !LED1State; digitalWrite(LED1, LED1State); } 

Mudanza en el botón no pulsado sección del código. Lo primero vamos a comprobar es si el buttonActive booleano es true. Si se establece en true, el código es bucle por primera vez desde que se suelta el botón. Será entonces conjunto nuevo boolean a false para permitir que el código anterior para detectar el botón se presiona otra vez.

 if (buttonActive == true) { buttonActive = false; } 

En el if anterior declaración, como estamos detectando el primer bucle después de soltar el botón, a continuación vamos a comprobar si la función pulsación larga fue activada, que dará dos pasos posibles. Si se activó la pulsación larga simplemente estableceremos la longPressActive a false para permitir que el programa a largo Pulse de nuevo. Si no se activa, se tapa el estado de lo LED de segunda como lo hicimos con el primero.

 if (longPressActive == true) { longPressActive = false; } else { LED2State = !LED2State; digitalWrite(LED2, LED2State); } 

Artículos Relacionados

Tutorial de Arduino botón

Tutorial de Arduino botón

qué es más simple y más tonto que un botón, preguntar...Digo: detrás de un botón, pueden ocultar cosas inesperadas. Y dentro de un programa que hace varias cosas, el manejo de un botón puede ser complicado. Lo bueno es que se pueden construir interes
Carril de doble función: colgar cuadros y la iluminación indirecta

Carril de doble función: colgar cuadros y la iluminación indirecta

esta baranda de madera tiene dos funciones:1. permite colgar cuadros sin necesidad de martillar un clavo en la pared; y2. proporcione luz indirecta que ilumina el techo: iluminación de ambiente.El carril se ha fijado a la pared a aproximadamente 50 c
Guitarra Hero Arduino Bot.

Guitarra Hero Arduino Bot.

Resumen:La idea principal de este proyecto es bastante simple. Es para modificar un controlador Guitar Hero por lo que puede no sólo jugar en su el propios, pero también jugar perfectamente.Aquí está la primera canción que hice: "Cuando usted era jov
Módulos Arduino - L298N puente H doble controlador Motor

Módulos Arduino - L298N puente H doble controlador Motor

Guía de inicio rápido y sencillo para usar y explorar un módulo de controlador de Motor L298N doble puente H con un Arduino.El modelo en el ejemplo que estoy usando es de Ebay.Materiales necesarios:Módulo de controlador de Motor L298N doble puente H
Arduino botón activado tratar dispensador

Arduino botón activado tratar dispensador

para mi clase de Multimedia Digital final, creó un dispensador que se activa tirando de una cadena, que comienza un servo motor que hace girar una rueda para dispensar trata a mis loros del gris africano.Paso 1: Reunir los materialesMateriales que ne
Arduino: Software contra rebotes en función de la interrupción...

Arduino: Software contra rebotes en función de la interrupción...

Hi everybody!Recientemente estaba trabajando en un proyecto donde quería medir las RPM de una de las ruedas en mi coche, y de eso calcular la velocidad, realizar un seguimiento de la distancia de los Driven etc. con un Arduino.Quería usar un imán y u
Barato Arduino Bot

Barato Arduino Bot

Evita el obstáculo del Arduino ahora es popular en el campo del bricolaje. He hecho una utilizando componentes disponibles baratos.Espero que le entretendrá.Cosas que usted necesita:1. cualquier barato Arduino UNO R3 (clon)2 Adafruit Motor Shield v13
Arduino botón Blink

Arduino botón Blink

este es mi primer instructivo y espero que funciona para todos ustedes!Yo se se le enseña chicos hacer un circuito para que cuando se pulse el botón el LED se ilumina!Cosas necesarias9 cables del conector1 botón1 Arduinoresistencia de 1 10 k ohmios1
Arduino Control remoto Bot usando TV remoto

Arduino Control remoto Bot usando TV remoto

Se trata de un Arduino Bot de Control remoto que puede ser controlada mediante telecontrol ordinario.La característica principal de este proyecto es un receptor de infrarrojos TSOP1738, que nos permite utilizar los botones de un mando común.El mismo
Controlado por Arduino Bluetooth-bot

Controlado por Arduino Bluetooth-bot

este instructable le mostrará cómo convertir un viejo coche de R/C del juguete de la tienda ($1,50) en un robot controlado por bluetooth. Para hacer la conversión, usted necesitará un Arduino (cualquier tipo), un L298N 2 amp motor-controlador doble (
Cómo utilizar un botón - Arduino Tutorial

Cómo utilizar un botón - Arduino Tutorial

Pulsadores o interruptores conectan dos puntos en un circuito cuando se presionan. Este ejemplo se enciende un led cuando se presiona una vez el botón y apaga cuando se pulsa dos veces.En este tutorial aprenderás cómo utilizar 'bandera' variable para
BaW-Bot parte 1: Construir un Arduino en un tablero de

BaW-Bot parte 1: Construir un Arduino en un tablero de

Esta es la primera parte de nuestra fabricación de BaW-Bot (Bot de campanas y silbatos) – 5 Separe instructables que mire de diferentes tecnologías relacionadas con Arduino, combinan para crear un Bot con todas las campanas-y-silbidos.Parte 1: Constr
Controlador Arduino personalizado MIDI

Controlador Arduino personalizado MIDI

Hola y Bienvenidos a este instructable sobre cómo construir un controlador USB MIDI personalizado, barato y fácil, basado en Arduino. La mejor noticia: sólo tiene que conectar sin problemas con interfaces USB a MIDI, o herramientas de software como M
Guía de iniciación a Arduino

Guía de iniciación a Arduino

Después de algunos años de experimentar con Arduino, he decidido que ha llegado el momento de compartir el conocimiento que he adquirido. Así aquí va, una guía de Arduino, con los fundamentos desnudos para principiantes y algunas explicaciones más av