Reamintim faptul că un program minimalist de Arduino este format din 2 funcții: setup() și loop().
voidsetup()
Rulează o singură dată atunci când placa Arduino (re)pornește
Are rol de inițializare / pornire parametri și obiecte
voidloop()
Rulează după setup() „la infinit”, adică până la oprirea alimentării plăcii Arduino
De obicei în această funcție sunt cuprinse majoritatea instrucțiunilor
Structura avansată
1. Declarare
Înainte de void setup()
Se poate pune o descriere a programului aici
Aici includem bibliotecile (libraries) de care ne vom folosi
Tot aici stabilim ce conectăm și pe care pini. Recomandăm pentru pini folosirea instrucțiunii #define (sintaxa: #define „nume” „pin”)
Aici declarăm variabilele globale (care sunt cunoscute de tot programul, nu numai de anumite zone/funcții unde au fost declarate)
2. void setup()
Inițializăm canalele de comunicații (serial sau cu diverse module)
Stabilim ce roluri au pinii (digitali)
Executăm orice instrucțiune (sau set de instrucțiuni) ce trebuie rulate la pornirea plăcii Arduino sau care trebuie executate o singură dată
3. void loop()
Aici executăm programul propriu zis
Pentru programele ce utilizează udf-uri (user-defined-functions), de aici pot fi apelate anumite funcții ce trebuie repetate
4. Funcții definite de utilizator (udf-urile)
Aici scriem funcțiile create de noi
Acestea pot fi apelate de pe parcursul întregului program
În funcție de program, funcțiile create de utilizator pot interacționa cu componentele fizice, cu variabile sau cu alte funcții
Exemplu de program Arduino
intled=13;//pe acest pin vom conecta led-ulvoidsetup(){//stabilim ca pinul selectat pentru led va alimenta în exterior si nu va primi curent din exteriorpinMode(led,OUTPUT);}voidloop(){digitalWrite(led,HIGH);//alimentăm pinul led cu 5V (se recomandă rezistor de 220Ω)delay(1000);//așteptăm 1 secundă = 1000 milisecundedigitalWrite(led,LOW);//oprim leduldelay(1000);//așteptăm 1 secundă = 1000 milisecunde}