Dobrý den,
jestli myslíte subprogram jako samostatný malý program, tak s tím na Arduinu neuspějete. Běh více programů najednou neumí. Vše musíte napsat do jednoho programu.
Vaším řešením bude spíše hezčí struktura tohoto programu. Na to se hodí mít program rozdělený do funkcí podle toho, jakou činnost vykonávají.
Takto si program rozdělíte do logických celků, které budete volat v rámci funkce loop. Tedy naznačím:
Kód: Vybrat vše
void setup(){}
void loop(){
fce1();
if(fce2()) fce3();
else fce5(fce4());
}
void fce1(){...}
boolean fce2(){...}
void fce3(){...}
int fce4(){...}
void fce5(int x){..}
O funkcích jsem psal zde:
https://arduino.cz/uzivatelsky-definovane-funkce-2/
Pokud byste chtěl, aby tyto funkce běžely zdánlivě souběžně, jsou způsoby, jak toho dosáhnout, ale už je to celkem pokročilé. Píše o tom třeba Petr Stehlík na blogu:
http://joysfera.blogspot.cz/2015/03/tas ... duinu.html V případě, který popisujete by to ale nemělo být potřeba.