Super teclado Simple de Arduino (la manera dura) (7 / 8 paso)

Paso 7: La codificación para arriba - configuración y lazo

/ / Aquí configuramos cómo los pernos (entrada/salida) de la función, iniciar la pantalla LCD y señalar que
PIN. que tenemos el servo conectado. Nosotros también comenzará con el servo en 0 grados.

void setup() {}
pinMode (button1, entrada);
pinMode (button2, entrada);
pinMode (button3, entrada);
pinMode (button4, entrada);
pinMode (button5, entrada);
pinMode (rojo, salida);
pinMode (verde, salida);
LCD.Begin(16,2);
lcd.setCursor(0,0);
LCD.Print (": Introduzca Código:");
Serial.Begin(9600);     / / Para depuración. Ver visualmente el pulsar un botón.
myservo.Attach(9);
myservo.Write(0);
}

Empezar por leer el estado de los pines.

void loop() {}
estado1 = digitalRead(button1);
state2 = digitalRead(button2);
state3 = digitalRead(button3);
state4 = digitalRead(button4);
state5 = digitalRead(button5);

Si el estado del botón no es igual a su anterior estado (1 = alto, 0 = bajo), que básicamente
¿los medios, fue sólo presionado o liberado? Si el estado del botón es alta (1)
aumentamos la cuenta de ese botón.

Si (estado1! = prev1) {}
Delay(10);
Si (estado1 == HIGH) {}
count1 ++;
}
/ / Nota de la delay(10). Esto es importante. Facilita un debounce. Los botones tienen un intert
bounciness. Usted no puede sentir, pero cuando usted presiona un botón, a veces hace
Póngase en contacto con más de una vez, y el Arduino verá como prensas múltiples. El retraso
se detiene el programa durante 10 milisegundos, lo que permite el botón de "resolver" y luego
se reanuda. 10 milisegundos deben ser lo suficientemente largos, pero ya ajuste si es necesario.

Else {}
}

Lo hacemos para cada botón.

Si (state2! = prev2) {}
Delay(10);
Si (state2 == HIGH) {}
count2 ++;
}
Else {}
}

Si (state3! = prev3) {}
Delay(10);
Si (state3 == HIGH) {}
count3 ++;
}
Else {}
}

Si (state4! = prev4) {}
Delay(10);
Si (state4 == HIGH) {}
count4 ++;
}
Else {}
}

Si (state5! = prev5) {}
Delay(10);
Si (state5 == HIGH) {}
count5 ++;
}
Else {}
}

Esto le ayudará a realizar un seguimiento de qué tipo de acciones van con
los botones. Cuando se pulsa el botón, no coincide con su estado
es el estado anterior, lo que indica un cambio. Aquí establecemos la anterior
Estado a la situación actual, para que el momento que presione o
liberación, el Arduino lo sabe y actúa en consecuencia.


prev1 = estado1;
prev2 = state2;
prev3 = state3;
prev4 = state4;
prev5 = state5;

Luego nos cuenta hasta cómo muchas veces cada botón se presionó.

totalCount = count1 count2 count3 + count4 + count5;

/ / Este es donde escribe un asterisco ("*") a la pantalla cada vez que se presiona un botón.

para (filas = 0; filas < totalcount; filas + 1) {}
lcd.setCursor(rows,1);
LCD.Print("*");
filas ++;
}

"filas" es donde el cursor es (de izquierda a derecha) en la pantalla LCD.
Cada vez que se pulsa un botón, aumentamos "filas" por uno, y
establecer como la posición del cursor. Hacemos esto hasta cierto punto (5)
porque eso es cuántos dígitos están en nuestra combinación.


/ / Ahora, si nuestro totalcount alcanza 5, vamos a empezar viendo cómo muchas veces
cada botón se presionó. Si coincide con lo que nuestro combo predeterminado...

Si (totalcount == 5) {}
Si (count1 == 2 & & count2 == 0 & & count3 == 1 & & count4 == 2 & & count5 == 0) {}
LCD.Clear();
LCD.Print ("código aceptado");  / / Código aceptado!
myservo.Write(90);            / / se mueve el servo a 90 grados, como si abrir una puerta.
digitalWrite (verde, alto);   / / verde equivale a bueno, así el verde LED está en

Asegúrese de que el piloto rojo que permanece apagado si no el derecho del código la primera vez
digitalWrite (rojo, baja);
count1 = 0;   / / Reset todos los conunters 0, comenzando el proceso otra vez.
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
totalCount = 0;
Delay(10000);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print (": Introduzca Código:");   Y estamos en el principio.
myservo.Write(0);
digitalWrite (verde, baja);
}
else if (count1! = 2 & & count2! = 0 & & count3! = 1 & & count4! = 2 & & count5! = 0 & & totalcount == 5) {}
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("código rechazados");   / / Este y la parte de abajo donde si la cuenta de cada botón de
digitalWrite (rojo, alto); / / no es igual a la cuenta predeterminada, o si es mayor que la cantidad de
digitalWrite (verde, baja); //and el número de Prensas total es igual a 5 (lo que indica que un 5 dígitos
count1 = 0; / / combinación entró pero está mal) y luego el código es rechazado. Rechazado!
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
totalCount = 0;
Delay(5000);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print (": Introduzca Código:");
digitalWrite (rojo, baja);
}
else if (count1 > 2 & & count2 > 0 & & count3 > 1 & & count4 > 2 & & count5 > 0 || totalcount == 5) {}
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("código rechazados");
digitalWrite (rojo, alto);
digitalWrite (verde, baja);
count1 = 0;
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
totalCount = 0;
Delay(5000);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print (": Introduzca Código:");
digitalWrite (rojo, baja);
}
}
}

Artículos Relacionados

Grúa hidráulica super fuerte simple por FEJV

Grúa hidráulica super fuerte simple por FEJV

Este instructable muestra cómo construir una grúa de puente hidráulico super fuerte simple usando un trozo de smalle de MDF, un par de tornillos y arandelas y dos jeringas.La grúa puede ser ya sea 3D impreso, lasercut o cortar a mano usando herramien
Cómo usar cualquier relé con tu arduino la manera segura

Cómo usar cualquier relé con tu arduino la manera segura

Este instructable le mostrará cómo utilizar cualquier relé nuevo o usado con tu ARDUINO la manera correcta y segura, si compras una placa de relé de preasymbled para tu arduino con todos los componentes en él no es el tutorial que buscas. Este instru
3D simple impreso Arduino Robot

3D simple impreso Arduino Robot

¿Quién no quiere construir un robot? Como un niño, yo soñaba con construir robots. Ahora, cualquier persona de cualquier edad con un poco de conocimiento puede construir un robot sencillo! Voy a mostrar cómo hacerlo.El RobotEste robot tiene un chasis
LOS PRINCIPIANTES SUPER SENCILLO ROBOT II (ARDUINO UNO VER.)

LOS PRINCIPIANTES SUPER SENCILLO ROBOT II (ARDUINO UNO VER.)

Este ' ible es basado en mi muy popular SUPER simples principiantes ROBOT ' ible. Después de muchas, muchas peticiones para proporcionar una versión actualizada de Arduino, aquí es!He creado este Instructable y su predecesor, por la absoluta n00by ro
Táctil teclado / controlador con Arduino y el proceso del juego

Táctil teclado / controlador con Arduino y el proceso del juego

este instructable describe de una manera rápida y sencilla para crear un teclado táctil o un controlador de juegos con-cartón,-papel de aluminio,- y un Arduino.También proporciona los códigos de Arduino y el proceso para comenzar a jugar inmediatamen
Polígrafo simple con Arduino

Polígrafo simple con Arduino

Un polígrafo es comúnmente conocido como un detector de mentiras. Realmente, detecta muy contentos de cómo una persona es. No son infalibles (y no son admisibles en la corte de los Estados Unidos), pero son divertidas y una buena manera de aprender s
Super bollos simples

Super bollos simples

Scones de chispas de Chocolate rápido y fácilEsta es una receta super sencilla para bollos de chocolate chip. Sólo tarda unos 30 minutos desde el inicio hasta el final y es fácil y divertido lo suficiente como para hacer con niños. Primero empecé a h
¿Arduino: una manera más fácil de trabajar con siete exhibiciones de segmento

¿Arduino: una manera más fácil de trabajar con siete exhibiciones de segmento

tener programación código de apuro para el siete segmento de muestra? Bien hicieron los 4511 para facilitar las cosas un montón. Qué el 4511 es toma un valor entrada binaria de 4 dígitos (unos y ceros) y la convierte en un valor decimal en un display
Sensor de proximidad infrarrojo simple con Arduino

Sensor de proximidad infrarrojo simple con Arduino

Hola chicos! En este instructable yo te enseño como hacer un sensor de proximidad muy simple usando infrarrojos LEDs y Arduino.Después de varias veces tratando de optimizarlo, finalmente surgió algo que es bastante sencillo e preciso. Al igual que mi
Adaptador simple para Arduino

Adaptador simple para Arduino

Aquí está una manera simple y barata para obtener su energía de arduino.Este instructable uso solamente "tres cosas" y puede ser acabado ~ 1 hora:-1. conector (para Arduino Uno, es el conector de alimentación de 2,1 mm)https://www.Arduino.CC/en/
Super etiquetas simples para mascotas

Super etiquetas simples para mascotas

Este es mi primer instructivo para que todo no sea perfecto.Tenga en cuenta que mi primer idioma no es inglés.Se trata de una etiqueta de nombre super sencillo para tu mascota. Tarda menos de 5 minutos para hacer (no como proceso de sequía) y creo qu
Música con Arduino, la manera fácil

Música con Arduino, la manera fácil

Ya hay maneras de hacer un Arduino reproducir música mediante un zumbador, y funcionan muy bien. Sin embargo, tienes que escribir cada canción o efecto de sonido en C, y la puesta a punto puede tomar mucho tiempo.Así que si tienes que crear un montón
Monitor de tiempo simple utilizando Arduino + Ubuntu

Monitor de tiempo simple utilizando Arduino + Ubuntu

Bueno, hace un año, empecé a pensar en cómo el tiempo de seguimiento. Utilizando la forma simple, precisa como como es necesario y posible acceder desde cualquier lugar mediante internet. La propuesta es medir la temperatura (celsius), humedad (%) y
18dof simple Hexapod, Arduino nano (opcionalmente con el chip maestro)

18dof simple Hexapod, Arduino nano (opcionalmente con el chip maestro)

Hola,Aquí es un simple hexápodo que se puede construir a mano muy rápidamente. El diseño mecánico no es grande, pero es mucho en el beso (Mantenlo simple estúpido) estilo y debe ser factible en un fin de semana para los constructores de novicio a med