Paso 2: Software
El código no es complejo. Existen las funciones habituales encontradas cualquier sketch de Arduino. También hay algunas directivas de preprocesador declarando algunos números de magia y permitiendo una compilación operacional del vs de la depuración del código.
La función setup() inicializa los pines de sentido y salida así como las variables globales.
La función loop() realiza el trabajo operativo. El cuerpo principal de la función de bucle se realiza sólo cada 50ms para proporcionar una base de tiempo estable para el resto del código. En los 50ms períodos el estado del interruptor reed es la muestra utilizando la entrada digital de SENSE_PIN definida. (pin digital 2). Si el interruptor de láminas indica que la puerta está cerrada entonces ninguna otra acción importante se toma que para restablecer el período de tiempo.
En la ocasión donde el interruptor indica que la puerta está abierta y la entrada es de rechazados. Es decir, la puerta tiene que registrarse como abrir para muestras de 5 o más sucesivas antes de toma cualquier acción posterior.
Se registra una vez la entrada del sensor ha de devuelto entonces el tiempo total de que la puerta ha sido abierta.
Mediante una sucesión de pruebas para varios períodos de tiempo se ejecuta una secuencia de pitidos de diferentes longitudes y números.
El primer sonido se produce cuando la puerta se abre. Otro en 15 segundos y luego otra vez en 30 segundos. Luego cada 30 segundos después de que hasta 3 minutos. Hay un sonido en 4 minutos. A los cinco minutos hay un pitido y luego el monitor de puerta abandona y va silencioso ya que es evidente que el autor no está presente o no le importa.
Las señales sonoras son producidas por una función llamada buzz(), que genera un conjunto tono de 1000Hz de una duración especificada y un número especificado de veces. El tono es enviado en BUZZER_PIN que en este caso salida digital 7.
Cualquier ciclo de la señal sonora deseada realmente podría ser programado. Una ligera modificación en el código también podría producir tonos de sonido diferentes.
La hora en este software es aproximada. Hay demoras en la operación cada vez que se produce un sonido. Sin embargo el proyecto está supervisando una puerta más que se aproxima a la hora de natación estilo libre de 100 m en los Juegos Olímpicos así son suficientes para el propósito.