Cómo hacer una bici-luz controlada por Arduino (4 / 7 paso)

Paso 4: Configuración de la física debouncer

Como mostramos en la anterior cantidad de código, queremos utilizar un botón que viene en el puerto digital 2, que es interrupción puerto 0 (sí, es confuso) como una interrupción, que básicamente significa que dejará de arduino en sus pistas si se cumple una cierta condición.

configurar botón
int buttonInt = 0; el pin 2 es de interrupción 0

attachInterrupt (buttonInt, incrementProgram, RISING);

Esa línea de código significa que queremos el pin indicado por buttonInt (pin digital 2) para funcionar como una interrupción. Queremos llamar a la función incrementProgram, whenver experimenta un flanco ascendente. Un flanco ascendente significa simplemente un lugar donde la tensión Salta muy pronto (por ejemplo, cuando un botón termina una conexión a 5 voltios)

Vamos a utilizar la función incrementProgram (mostrada abajo) para cambiar el programa actual que se está ejecutando el Arduino.

void incrementProgram() {}
Serial.Print("pressed!");
Si (currentProgram == (NUMBER_OF_PROGRAMS - 1)) {}
currentProgram = 0;
}
Else {}
currentProgram = currentProgram + 1;
}
}

¿Recuerda estas líneas?
#define NUMBER_OF_PROGRAMS 6

para cambiar entre programas
volátiles int currentProgram = 0;

¿Hacen un poco más sentido ahora? la razón que hay que añadir la palabra clave volátil al programa actual es porque queremos saber el arduino que este número se cambiará regularmente y que esto es una cosa normal que no debe flipar sobre.

El problema con esto es que cuando es presionado un botón, realmente devuelto arriba una abajo un poco (muy rápidamente) antes colocaba en su valor final. Para eliminar mucho de esto rebotar y suavizar la transición que vamos a usar un circuito RC como un filtro de paso bajo que va en gran parte a las muy rápidas "rebotes". La constante de tiempo de este particular circuito RC es de 10 ms, que es generalmente más lento que un humano puede presionar un botón, y entonces esas señales deberían ser inafectadas.

Puesto que son invertir más desencadenantes de Schmidt, la mitad izquierda del diagrama de circuito de muestra un botón que realmente pasará de 5 voltios a 0 voltios cuando se presiona. Sin embargo, tenemos esta interrupción en un pin digital y la naturaleza exacta de la rebotando en impredecible. Para solucionar este problema que vamos a utilizar un disparador Schmidt como un convertidor de analógico a Digital básico, tomando nuestro lento movimiento cambio de alto a bajo en un salto desde baja a alta, enviando un flanco ascendente, que debe desencadenar nuestra interrupción.

El esquema utiliza un disparador Schmidt muy particular, y suya puede ser diferente. Revise la hoja de datos para ver exactamente cómo debería funcionar, pero la puesta en marcha se muestra es muy común.

Vout debe ser conectado al pin digital 2.

Artículos Relacionados

Cortina controlada por Arduino

Cortina controlada por Arduino

En este nuevo proyecto, combinación electrónica y mecánica y había hecho un rodillo cortina controlada por Arduino.¡ Disfrute de hacer!Paso 1: Planificación del circuitoPara este circuito deberá:1 potenciómetro rotatorio2. Arduino Uno3. 12V adaptador
Hombre de papel: una máquina creada por Arduino y NFC.

Hombre de papel: una máquina creada por Arduino y NFC.

Hombre de papel es una máquina compuesta por Arduino, Escudo de NFC, impresora térmica y una cáscara de papercraft , hombre de hierro.Gracias al escudo de la NFC, puede directamente enviados mensajes desde tu móvil al hombre de papel, y el hombre de
Toma web controlada por Arduino

Toma web controlada por Arduino

Hice una toma Web controlada por Taiwán clonado Arduino, que se basa por Arduino Pro Mini y ESP8266-1, el sitio oficial de este clon es: Webduino = x Arduino WebPodemos programar por simple HTML, CSS y JavaScript, también tiene medios de formación en
Cómo hacer una sonda de osciloscopio de Arduino

Cómo hacer una sonda de osciloscopio de Arduino

este instructabe le mostrará cómo hacer una sonda de osciloscopio de arduino para estos vínculos, osciloscopio de un pobre y un osciloscopio de múltiples canales para arduino /Paso 1: Materiales y componentes Herramientassoldadura de hierrode la sold
Hacer una simple luz USB

Hacer una simple luz USB

que he adquirido recientemente un "gama alta" estación de soldadura por lo que me encuentro disfrutando de soldadura últimamente. Dicho esto, siempre de soldadura necesita buena iluminación. Casi siempre tengo mi ordenador a mi lado cuando estoy
RGB LED luz nocturna controlada por Arduino

RGB LED luz nocturna controlada por Arduino

necesitan una luz nocturna para mis hijos y quería algo más que el enchufe normal. Querían que podrían escoger el color de y que le cambian de color.Fácil - RGB LED, un Arduino y un PWM!Escoger el color fue el tema. Me decidí por la solución de un bo
Bunn-e-card - cómo hacer una tarjeta animada protagonizada por sus mascotas. Creer une e-carte de voeux personnalisee

Bunn-e-card - cómo hacer una tarjeta animada protagonizada por sus mascotas. Creer une e-carte de voeux personnalisee

divertirse creando una tarjeta personalizada que se puede enviar a través de internet o subir a su sitio favorito.Necesitas una mascota o mascotas, algo que les guste comer y una cámara sobre un trípode o mesa. El video explica cómo he creado esta ta
Hacer una calabaza de Halloween por uno mismo-equilibrio Robot

Hacer una calabaza de Halloween por uno mismo-equilibrio Robot

Calabaza es un símbolo típico de Halloween. Que siempre quisiste hacer una calabaza de a pie.Aquí les mostraré mi trabajo de utilizar un Robot de Self-balancing para moverse una calabaza brillante.Paso 1: preparación Lista de materiales principales:1
Hacer una pistola de aire por debajo de $5

Hacer una pistola de aire por debajo de $5

esta es una guía sobre cómo hacer una pistola de aire de una pistola de Nerf.Paso 1: Materiales y herramientas Materiales:-Un arma de Nerf viejo-Un tubo de bolígrafo BIC-Un Nerf balaHerramientas:-Un par de tijeras-Pegamento gorilaPaso 2: El tubo de l
Cómo hacer una tortuga de juguete por Seth

Cómo hacer una tortuga de juguete por Seth

Cómo hacer una tortuga de juguete de maderaPaso 1: Reúna sus materialesHerramientas que necesarias:1. Sierra de cinta2. taladro de columna3. brocas de perforación4. lijadora de banda5. tabla router con ronda sobre pedacito6. gafas de protecciónSumini
Dirigible de hidrógeno controlada por Arduino-Radio

Dirigible de hidrógeno controlada por Arduino-Radio

detalles de la construcción del dirigible control remoto construí. Aquí está un breve vídeo de su vuelo:El dirigible está controlada por un transmisor en el suelo, operado por un humano. Hay tres control palancas: una para cada motor y para el servo
Aire acondicionado web controlada por Arduino

Aire acondicionado web controlada por Arduino

HolaLa alta temperatura de este verano, me hacen pensar en este proyecto. Pueden ser similares en internet, pero no encontré.Este proyecto está basado en arduino y se ejecuta bien en tableros más grandes que UNO, que tiene memoria no tanto. Con esto
Casa inteligente controlada por Arduino

Casa inteligente controlada por Arduino

Este instructivo fue escrito por el evangelista PubNub Ian Jennings . Historia de Ian camina a través de su proceso de construcción de un modelo de casa inteligente controlado por Arduino desde cero.--En septiembre, nuestro fundador Stephen y yo está
Escáner Rgb Led Pwm lámpara controlada por Arduino Nano

Escáner Rgb Led Pwm lámpara controlada por Arduino Nano

Reciclado escáner rgb led lámpara pwm controlado por Arduino NanoPaso 1: Resultado FinalEsto es lo que obtienes si sigues este instructable.Paso 2: Buscar una impresoraBusque un hp roto todo en una impresora. (Otras marcas también pueden tener las pi