Stap 2: Software
De code is niet complex. Er zijn de gebruikelijke functies gevonden in de Arduino schets. Er zijn ook sommige preprocessor richtlijnen verklaren sommige magische getallen en waardoor een debug vs operationele compileren van de code.
De Setup-functie vooruitgangsbalk de zin en de output pinnen evenals de globale variabelen.
De loop-functie voert het operationele werk. De hoofdtekst van de functie van de lus wordt alleen uitgevoerd voor elke 50 MS om te bieden een stabiele basis voor de rest van de code. Op de 50 MS perioden de reed switch staat is monster met behulp van de gedefinieerde SENSE_PIN digitale ingang. (digitale pin 2). Als de reed switch rietschakelaar wordt aangegeven dat de deur is afgesloten dan geen andere belangrijke actie wordt ondernomen anders dan opnieuw instellen van de periode.
Bij de gelegenheid waar de reed switch rietschakelaar geeft aan dat de deur openstaat dan is de ingang-teruggestuurd. Dat wil zeggen, moet de deur registreren als open voor 5 of meer opeenvolgende monsters, voordat eventuele verdere actie wordt ondernomen.
Zodra de sensor-ingang heeft-stuiterde dan de totale tijd dat de deur is al open is opgenomen.
Met behulp van een opeenvolging van tests voor verschillende perioden wordt een reeks piepjes van verschillende lengtes en cijfers uitgevoerd.
De eerste pieptoon treedt op wanneer de deur wordt geopend. Andere aan 15 seconden en dan weer op 30 seconden. Vervolgens elke 30 seconden nadat die tot 3 minuten is verstreken. Er is een pieptoon op 4 minuten. Op vijf minuten is er een pieptoon en vervolgens de deur monitor geeft en stille gaat want het is duidelijk dat de dader niet meer aanwezig is of niet schelen.
De pieptonen worden geproduceerd door een functie genaamd buzz(), die een set 1000Hz toon van een opgegeven duur en een bepaald aantal keren genereert. De Toon is verzonden op BUZZER_PIN die in dit geval is ingesteld op digitale uitgang 7.
Een pieptoon cyclus gewenst kan echt worden geprogrammeerd. Een lichte wijziging van de code kan ook verschillende piep tonen produceren.
De tijdwaarneming in deze software is bij benadering. Er zijn vertragingen in werking telkens als een pieptoon optreedt. Echter de projectmonitoring is een deur in plaats van de tijd voor de 100m vrije slag zwemmen op de Olympische benadert dus volstaan voor het doel.