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

Para su Project Clock Arduino, primero agregue uno de los pulsadores y una de las resistencias, que se utiliza como insumo para incrementar las horas de alarma. Las obras de botón permitiendo + 5V que se aplicarán a Pin 7 cuando está presionado.

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 HIGH (+ 5V).

imagen0.jpg

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

Ahora agregue el segundo interruptor pulsador y la resistencia, lo que incrementa los minutos. Debe ser conectado al pin digital de 8.

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

En la posición izquierda, mantiene + 5V en el pin digital de 10. En la posición derecha, mantiene + 5V en el pin digital de 10. En el centro, no tiene sentido, y los dos de los pines digitales se conectan únicamente al carril de tierra .

La lectura de estos pines, puede determinar si el reloj es Alarma Ajuste Modo (pin 6 es ALTO), Modo Armado alarma (Pin 10 es alta), o simplemente en el modo de tiempo de reproducción (sin conexión- Pin Pin 6 y 10 son bajos).

image1.jpg

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

...DateTime ahora boolean displayAlarmSet = falsos // Si estamos en el modo o la demostración de alarma espectáculo establecido modeboolean alarma = falsos // Si la alarma está actualmente happeningboolean armada = falsos // Si la alarma está armado o notint alarmHrs = 12 // Puede establecer 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 alarma, que se utiliza en el UpdateDisplay () función, un poco más tarde. Puede utilizar el interruptor deslizante para cambiar el valor de esta variable.

los " alarma " variable de un seguimiento de si es o no la alarma está sucediendo, para que pueda sonar la sirena piezoeléctrica, si es necesario.

También es necesario hacer un seguimiento de cuándo activar 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, así como los dos estados que se pueden establecer mediante el interruptor deslizante, tiene cuatro entradas. Así, necesita cuatro pines digitales para leerlos. Se utilizan para la entrada, por lo que necesita para estar habilitado en el configurar() parte de su código. También utiliza el resonador para la salida, más tarde, pero se puede añadir ahora, para agregar el siguiente código:

// La entrada del usuario para configurar la alarma TIMECONST int alarmSetPin = 6 // Se utiliza para cambiar a la alarma establecido modeconst int incrementAlarmHrsPin = 7- // Se utiliza para incrementar las horas de alarma en alarma establecidos modeconst int incrementAlarmMinsPin = 8 // Se utiliza para incrementar el minutos de alarma en 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, SALIDA) -

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 constantes.

Ha conectado el interruptor deslizante al pin 6 y el pin 10 de manejar bien el establecimiento de la alarma o armar a que se apague. Conectó los pulsadores a Pin 7 y Pin 8. Cada una controla por separado incrementando las horas y los minutos.

Sólo se puede incrementar al alza. De lo contrario, o bien necesita 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 entrada con el pinMode () función.




» » » » Cómo agregar un interruptor de entrada y botones para su proyecto reloj arduino