Stap 5: Microcontroller code en algoritme gebruikt!!
Wanneer de microcontroller wordt aangedreven van het leest de eeprom voor herstel van alle geprogrammeerde sensomate waarden en apparaat staten die of welk apparaat ON/OFF de laatste was tijd de macht is mislukt. Dan na herstel, Lees alle lezingen van de sensor en dienovereenkomstig te verwerken in betekenisvolle waarden. Daarna de microcontroller controleert de sensor lezingen tegen de geprogrammeerde sensomate waarden en turns ON/OFF de toestellen dienovereenkomstig. De controle van brand vóórkomen en LPG lek wordt hier gedaan in deze hoofdlus alleen. Als er een teken van brand of LPG lek, de microcontroller automatisch alle apparaten uitgeschakeld en open de deur om de uitlaatgassen en noodsituaties cricality te verminderen. De slaapstand is ook hier verwerkt in deze lus. Als de slaapstand is geactiveerd en beweging wordt gedetecteerd of iemand de deur openen, wordt het alarm wordt gestart en de gebruiker waarschuwen.
In de tweede lus draait de microcontroller timer0 in interrupt modus en ongeveer elke 1,5 seconden het bijwerken van het LCD-scherm voor sensor-waardes en valt bestuurlijk gezien onder apparaat. De aanwezigheid van de Bluetooth-verbinding is ook hier weergegeven. Ook stuurt de microcontroller de gecodeerde systeemstatus in een tekenreeks serieel naar de bluetooth UART als de koppeling aanwezig is. Het gebeurt elke 0.8 seconde ongeveer. Deze lus wordt oneindig herhaald als die van de hoofdlus.
De derde sectie programma's de seriële ontvangen volledige interrupt en aldus wanneer een seriële commando is ontvangen van de android client, het hier verwerkt en bediening van de opdracht. Dit is opnieuw een oneindige procedure en microcontroller houdt op de komst van nieuwe opdracht sensing.
De transmissie en de ontvangst van de opdrachten van en naar de android client gebeurt wholesomely in ASCII-code.