Cómo agregar un interruptor y los botones de entrada a su proyecto de reloj arduino

Para su proyecto Arduino reloj, primero se agrega uno de los interruptores de botón y una de las resistencias, que se utiliza como entrada para incrementar las horas de alarma. Las obras de pulsador, al permitir + 5V a ser aplicados al pin 7 cuando se presiona.

Cuando la corriente fluye a través del interruptor, se encuentra con la resistencia, y en su lugar toma la vía más fácil a tierra a través Pin 7 (hay conexiones a tierra internamente, dentro del microcontrolador ATmega328 IC). Lectura Pin 7 con la digitalRead () la función devuelve un valor de ALTO (+ 5V).

Cuando no está presionado, PIN 7 está conectado a través del resistor a GND, a través del carril de suelo. La lectura de PIN 7 con el digitalRead () la función devuelve un valor de LOW (0V).

Ahora añadir el segundo conmutador de botón pulsador y la resistencia, que incrementa los minutos. Debe ser conectado al pin digital de 8.

Video: Video Tutorial Arduino: Led RGB y Pulsadores

Por último, añadir el interruptor deslizante, que tiene tres posiciones y dos resistencias. Se puede ver que las conexiones eléctricas del interruptor deslizante son muy similares a los dos pulsadores. Sino porque es un control deslizante, se queda en la posición de que lo pones en.

En la posición izquierda, se mantiene + 5V en el pin digital de 10. En la posición derecha, se mantiene + 5V en el pin digital de 10. En el centro, no tiene sentido, y ambos de los pines digitales solamente están conectados al carril de tierra .

Video: Programar un pulsador con Arduino

La lectura de estos pines, puede determinar si el reloj es de alarma Modo de Ajuste (pin 6 es ALTO), el modo de armado de alarma (pin 10 es alto), o simplemente en el modo Time Display (sin conexión- Pin Pin 6 y 10 son bajos).

Ahora añadir el código necesario para leer y responder al hardware. Es necesario unas pocas variables para almacenar el estado del sistema y realizar un seguimiento de cuándo disparar la alarma. En la sección de declaración de variables, agregue el código siguiente:

...DateTime ahora-booleano displayAlarmSet = falsos // Si estamos en el modo de alarma o mostrar mostrar la hora establecida modeboolean de alarma = falsos // si la alarma está actualmente happeningboolean armada = falsos // si la alarma está armado o notint alarmHrs = 12 // Es posible ajustar la hora de alarma en el código, hereint alarmMins = 00-

La variable displayAlarmSet le permite cambiar entre mostrar la hora del reloj o mostrar la hora de la alarma, que se utiliza en el updateDisplay () función, un poco más tarde. Se puede utilizar el interruptor deslizante para cambiar el valor de esta variable.

La variable “alarma” comprueba si la alarma está ocurriendo actualmente, por lo que se puede hacer sonar la sirena piezoeléctrica, si es necesario.

También es necesario hacer un seguimiento de cuándo disparar la alarma. Esto se hace con dos números enteros, alarmHrs y alarmMins. Si desea ajustar la hora de alarma desde el software y no de los botones, se puede establecer que al cambiar el valor de partida de estas variables.

Contando los dos pulsadores, y los dos estados que se pueden establecer mediante el interruptor deslizante, que tiene cuatro entradas. Por lo tanto, se necesitan cuatro pines digitales para leerlos. Se utilizan para la entrada, por lo que necesita ser activado en el preparar() parte de su código. También utilizará la sirena piezoeléctrica para la salida, más tarde, pero se puede añadir ahora, para que agregue el código siguiente:

// La entrada del usuario para fijar la alarma TIMECONST int alarmSetPin = 6- // Se utiliza para cambiar a la alarma establecer modeconst int incrementAlarmHrsPin = 7- // utiliza para incrementar las horas de alarma en alarma establecidos modeconst int incrementAlarmMinsPin = 8- // utiliza para incrementar la minutos de la alarma de la alarma establecen modeconst int piezoPin = 9 // Se utiliza para el piezoeléctrico sounderconst int alarmArmedPin = 10 // Utilice para activar la alarma para que suene ... setup () {... lcd.clear () - / / Set varios pines para la entrada y outputpinMode (alarmSetPin, iNPUT) -pinMode (incrementAlarmHrsPin, iNPUT) -pinMode (incrementAlarmMinsPin, iNPUT) -pinMode (alarmArmedPin, iNPUT) -pinMode (piezoPin, OUTPUT) -

Tenga en cuenta, los puntos suspensivos (...) indican el código que agregó anteriormente - no hay necesidad de repetir eso aquí. Hay cinco nuevos números enteros, que manejan los pines de entrada. Estos no cambian a lo largo del programa por lo que son número entero Las constantes.

Ha conectado el interruptor deslizante al pin 6 y el pin 10 para manejar cualquiera de ajustar la alarma o armar a que se vaya fuera. Ha conectado el interruptores de botón a las patillas 7 y 8. Cada uno controla por separado incrementar las horas y los minutos.

Sólo se puede incrementar al alza. De lo contrario, o bien necesita más botones adicionales para disminuir horas y minutos o una manera de cambiar entre incremento y decremento, que se complica innecesariamente. Por último, estos pines son utilizados para la entrada, por lo que se tienen que establecer explícitamente que se utilizará para la entrada con el pinMode () función.

Artículos Relacionados