H Δομή του sketch
Ένα τυπικό πρόγραμμα Arduino έχει την παρακάτω δομή:
Στην αρχή του προγράμματος δηλώνουμε τα ονόματα και τους τύπους των μεταβλητών:
- boolean (λογική δυαδική τιμή)
- char (προσημασμένος χαρακτήρας 8 ψηφίων)
- unsigned char (μη προσημασμένος χαρακτήρας 8 ψηφίων)
- byte (μη προσημασμένος χαρακτήρας 8 ψηφίων)
- int (προσημασμένος ακέραιος αριθμός 16 ψηφίων)
- unsigned int (μη προσημασμένος ακέραιος αριθμός 16 ψηφίων)
- word (μη προσημασμένος ακέραιος αριθμός 16 ψηφίων)
- long (προσημασμένος ακέραιος αριθμός 32 ψηφίων)
- unsigned long (μη προσημασμένος ακέραιος αριθμός 32 ψηφίων)
- float, double (αριθμός κινητής υποδιαστολής απλής ακρίβειας)
- String (αντικείμενο αλφαριθμητικού με χρήσιμες μεθόδους). Ως αλφαριθμητικό μπορεί να θεωρηθεί και ο πίνακας χαρακτήρων.
Υπάρχουν δυο ειδικές συναρτήσεις που είναι μέρος του κάθε sketch του Arduino οι οποίες είναι η setup() και η loop(). Και οι δυο συναρτήσεις πρέπει να περιλαμβάνονται στο sketch, ακόμα και αν δεν περιέχουν κάτι και να είναι κενές.
Η setup() καλείται μια φορά, όταν το sketch ξεκινά ή όποτε κάνει επαναφορά (reset) η πλατφόρμα Arduino. Σε αυτήν γίνονται οι αρχικοποιήσεις των μεταβλητών, η ρύθμιση της κατάστασης των ακίδων (pins) με τη συνάρτηση pinMode() και η προετοιμασία των βιβλιοθηκών. Με την pinMode(pin, mode), οι ακίδες (pins) μπορούν να ρυθμιστούν είτε ως είσοδοι (mode=INPUT), είτε ως έξοδοι (mode=OUTPUT), όμως από προεπιλογή είναι ρυθμισμένες ως είσοδοι.
Αντιθέτως, η συνάρτηση loop() καλείται ξανά και ξανά, επιτρέποντας έτσι στο πρόγραμμα να ανταποκριθεί σε εξωτερικά ερεθίσματα. Σε αυτήν τοποθετούμε το κυρίως πρόγραμμα.