Si, è strano, quel delay è all'interno del loop quindi dovrebbe eseguirlo ogni volta, boh

Parlando del programma, ho letto che una volta pronto si salva all'interno di Arduino che quindi, per essere usato scollegato dalla porta usb, deve essere alimentato a parte.
Io credo che messo in una scatoletta col suo bell'alimentatore e qualche relay di potenza per gli alti carichi, possa essere usato un pò per tutto, dalle luci al rabbocco automatico, al raffreddamento, ecc.