Γνωριμία με το Arduino IDE

Εγκατάσταση Arduino IDE

Στην πλαφορμα Arduino γράφεις τον κώδικα σου μέσα στο περιβάλλον Arduino IDE. Για να εγκαταστήσεις το περιβάλλον Arduino IDE στον προσωπικό σου υπολογιστή, πήγαινε στον ιστότοπο του Arduino και συγκεκριμένα στον www.arduinο.cc Από την εμφανιζόμενη ιστοσελίδα, βρες την κατάλληλη εφαρμογή, από όπου θα κατεβάσεις το σχετικό λογισμικό, για να εγκαταστήσεις το Arduino IDE.

Γνωριμία με το Arduino IDE

Όπως φαίνεται στο σχήμα το Arduino IDE μοιάζει σαν επεξεργαστή κειμένου. Το περιβάλλον IDE χωρίζεται σε τρεις κύριες περιοχές: 1] περιοχή εντολών 2] εισαγωγή κειμένου 3] περιοχή μηνυμάτων

Η περιοχή κειμένου Η περιοχή κειμένου είναι στο μέσο του παραθύρου της εφαρμογής IDE. Σε αυτή την περιοχή γράφεις τον κώδικά που θέλεις να ανεβάσεις. Το όνομα του τρέχοντος sketch εμφανίζεται στην μπάρα στην πάνω αριστερή περιοχή κειμένου. Θα γράφεις το πρόγραμμα σου εδώ όπως σε οποιοδήποτε επεξεργαστή κειμένου.

Η περιοχή μηνυμάτων Το παράθυρο μηνυμάτων, εμφανίζεται στο κάτω μέρος της εφαρμογής IDE και είναι αυτό που εμφανίζεται στην μαύρη περιοχή. Τα μηνύματα που εμφανίζονται είναι διάφορων τύπων. Αυτά περικλείουν τα μηνύματα λαθών, επικύρωσης, μηνύματα κατάστασης κ.ά.

Περιοχή εντολών που φαίνοται όπως στο σχήμα, περιλαμβάνει την μπάρα τίτλου, τα στοιχεία μενού και τα εικονίδια εντολών. Η μπάρα τίτλου απεικονίζει το όνομα του sketch, όπως επίσης τον αριθμό έκδοσης του IDE. Κάτω είναι μια σειρά από επιλογές μενού (Αρχείο, Επεξεργασία, Σχέδιο, Εργαλεία και βοήθεια) καθώς επίσης από κάτω τα εικονίδια εντολών.

Οι επιλογές μενού

Όπως σε κάθε επεξεργαστή μπορείς να κάνεις κλικ σε κάθε επιλογή για κάθε στοιχείο του μενού για να εμφανιστούν διάφορες επιλογές.

Αρχείο περιέχει επιλογές για να αποθηκεύσεις, να φορτώσεις ή να εκτυπώσεις το sketch καθώς επίσης να φορτώσεις παραδείγματα sketch για άνοιγμα.

Επεξεργασία περιέχει τις συνηθισμένες εντολές της αντιγραφής, επικόλλησης και διαγραφής όπως υπάρχουν σε κάθε επεξεργαστή κειμένου.

Σχέδιο περιέχει συναρτήσεις που ελέγχουν το πρόγραμμα πριν το αναβάσεις στο Arduino.

Εργαλεία περιέχει μια ποικιλία από συναρτήσεις, όπως και εντολές, για να επιλέξεις τον τύπο Arduino που χρησιμοποιείς και την USB πόρτα στην οποία είναι συνδεμένος.

Βοήθεια περιέχει συνδέσμους που οδηγούν σε ποικιλία κειμένων, καθώς επίσης απεικονίζει την έκδοση του IDE.

Τα εικονίδια εντολών

Κάτω από το μενού με τις εντολές υπάρχουν έξι εικονίδια. Με την άκρη του ποντικιού μόλις τα δείξουμε εμφανίζουμε το όνομα του. Τα εικονίδια από αριστερά προς τα δεξιά είναι τα ακόλουθα:

Επικύρωση κάνοντας κλικ σε αυτό το εικονίδιο για να δεις αν το sketch είναι έγκυρο για ανέβασμα και δεν περιέχει προγραμματιστικά λάθη.

Ανέβασμα κάνε κλικ σε αυτό το εικονίδιο για να επικυρώσεις το sketch και μετά να το ανεβάσεις στην πλακέτα Arduino.

Δημιουργία: κάνε κλικ σε αυτό το εικονίδιο για να δημιουργήσεις ένα καινούργιο sketch σε νέο παράθυρο.

Άνοιγμα: κάνε κλικ σε αυτό το εικονίδιο για να ανοίξεις ένα ήδη αποθηκευμένο sketch.

Αποθήκευση: κάνε κλικ σε αυτό το εικονίδιο για να αποθηκεύσεις ένα ήδη ανοικτό sketch. Αν το sketch δεν έχει όνομα θα χρειαστεί να το ονομάσεις.

Σειριακό Μόνιτορ: κάνε κλικ σε αυτό το εικονίδιο για να ανοίξεις ένα παράθυρο στον προσωπικό σου υπολογιστή για να στέλνεις ή να λαμβάνεις δεδομένα ένα μεταξύ του Arduino και του περιβάλλοντος IDE. Στην κάτω δεξιά της περιοχής μηνυμάτων θα δεις το όνομα πλακέτας Arduino καθώς επίσης τον τρόπο σύνδεσης USB.

Το πρώτο σας sketch στο Arduino IDE:

Σε αυτήν την ενότητα θα κάνετε το LED που βρίσκεται ενσωματωμένο στην πλακέτα Arduino και συνδεδεμένο στον ακροδέκτη 13 να αναβοσβήνει περιοδικά. Ας ανεβάσουμε τον ακόλουθο κώδικα και μετά θα εξηγήσουμε πως δουλεύει.

/*
Arduino Blink LED sketch
by Yiannis created 25/6/20
*/
void setup()
{
    pinMode(13, OUTPUT); set dogital pin 13 aw output.
}
void loop()
{   
    digitWrite(13, HIGH); // turn on digital pin 13
	delay(1000); //pause for one second
	digitalWrite(13, LOW); // turn off digital pin 13
	delay(1000); //pause for one second
}

Πριν το τρέξεις θα χρειαστεί να το αποθηκεύσεις: Αρχείο > Αποθήκευση ως… Εισήγαγε ένα όνομα για το sketch και μετά κάνε κλικ στο ΟK.

Για να δεις αν έχεις κάνει λάθη ή όχι, πάτησε το εικονίδιο “επικύρωση”. Αν δεν βγάζει μήνυμα λάθους μπορείς να πατήσεις το εικονίδιο “ανέβασμα” για να ανέβει ο κώδικας σου στο Arduino. Αν δεν μπορεί να ανέβει ο κώδικας σου, βεβαιώσου ότι στην επιλογή Εργαλεία>Πλακέτα, έχετε επιλέξει την σωστή πακέτα και στην επιλογή θύρα>COM1 έχετε επιλέξει τη σωστή θύρα σύνδεσης.

Ας δούμε πως δουλεύει ο κώδικας

Τα σχόλια είναι κείμενο που προσθέτουν σημειώσεις ή επεξήγηση πάνω στο κώδικα που γράφεται. Μόλις το IDE συναντήσει σχολεια στο sketch απλώς τα αγνοεί.

Για να προσθέσουμε σχόλια στο πρόγραμμα απλά εισάγουμε διπλό slash πριν από τα σχόλια και με αυτό τον τρόπο το IDE αγνοεί το κείμενο από το διπλό slash έως το τέλος της γραμμής.

Παράδειγμα:  pinMode(13, OUTPUT); set dogital pin 13 as output.

Για να εισάγουμε σχόλια που περιλαμβάνουν κείμενο περισσότερο της μιας γραμμής, εισάγουμε τους χαρακτήρες /* στην αρχή του σχολείου και στο τέλος του σχολείου τοποθετούμε τους χαρακτήρες */

/*
Arduino Blink LED sketch
by Yiannis created 25/6/20
*/

Συναρτήσεις που αποτελείται ένα sketch Arduino.

Κάθε πρόγραμμα για το Arduino αποτελείται από δυο συναρτήσεις και συγκεκριμένα: void setup() { … }. Οι εντολές μέσα στο μπλοκ εκτελούνται μια φορά, ενώ η συνάρτηση void loop() { .. } όπου οι εντολές μέσα στο μπλοκ εκτελούνται επαναλαμβανόμενα ξανά και ξανά.

Στο μπλοκ κώδικα:

void setup()
{
    pinMode(13, OUTPUT); set dogital pin 13 as output.
}

Η εντολή: pinMode(13, output); Είναι μια συνάρτηση ενσωματωμένη στο περιβάλλον IDE, που θέτει τον ακροδέκτη 13 σαν έξοδο. Παρατηρήστε ότι στο τέλος νιας εντολής, τοποθετούμε ένα ελληνικό ερωτηματικό, και έπειτα ξεκινά η γραμμή σχολίων.

Το μπλοκ εντολών στο εσωτερικό της συνάρτησης void(){ } επαναλαμβάνεται ξανά και ξανά:

void loop()
{   
    digitWrite(13, HIGH); // turn on digital pin 13
    delay(1000); //pause for one second
    digitalWrite(13, LOW); // turn off digital pin 13
    delay(1000); //pause for one second
}

Οι εντολές στο εσωτερικό της συνάρτησης εκτελούνται ξανά και ξανά. Η συνάρτηση:

digitalWrite(13, HIGH); // Turn on digital pin 13

Θέτει τον ακροδέκτη 13 σε λογικό high με αποτέλεσμα να ανάβει το LED του Arduino που είναι εσωτερικά συνδεμένο με το πίν 13. Η συνάρτηση:

delay(1000); // pause for one second

προκαλεί καθυστέρηση 1000ms = 1s. Όμοια η συνάρτηση:

digitalWrite(13, LOW);  // turn off digital pin 13

σβήνει το εσωτερικό LED. Μετά ακολουθεί μια καθυστέρηση 1000ms με την εντολή: delay(1000); Αυτό το μπλοκ κώδικα εκτελείται κατ’ επανάληψη με αποτέλεσμα το LED να αναβοσβήνει.

Επικύρωση του κώδικα σας

Όταν επικυρώνεις το sketch σου, βεβαιώσου ότι όλα όσα έγραψες είναι σύμφωνα όπως το Arduino καταλαβαίνει. Για να επικυρώσεις το πρόγραμμα σου κάνε κλικ στο εικονίδιο της επικύρωσης και περίμενε για λίγο.

Κατά τη διάρκεια της επικύρωσης παρατηρείς το παράθυρο μηνυμάτων. Αν εμφανιστεί το μήνυμα: “Done compling” αυτό σημαίνει ότι ο κώδικας είναι έτοιμος να φορτωθεί στο Arduino. Συνήθως στο πρόγραμμα σας υπάρχουν λάθη με αποτέλεσμα να βγαίνουν “κόκκινα μηνύματα” στο παράθυρο μηνυμάτων.

Για παράδειγμα αν αφαιρέσουμε το ελληνικό ερωτηματικό πριν από την τελευταία αγκύλη κατά την επικύρωση θα εμφανιστεί μήνυμα λάθους και συγκεκριμένα το εξής: “expected ‘j’ before ‘}’ token”

Για να ανέβει στο Arduino ο κώδικας πρέπει να είναι επικυρωμένος. Συγκεκριμένα, κάνοντας κλικ στο εικονίδιο “επικύρωση” και στην περίπτωση που δεν έχουμε προγραμματιστικά λάθη, θα εμφανίζονται μηνύματα άσπρου χρώματος στο παράθυρο μηνυμάτων. Αν δεν είναι επικυρωμενο ο κώδικας μας, αυτό σημαίνει ότι υπάρχουν προγραμματιστικά λάθη που η περιγραφή τους φαίνεται με κόκκινο χρώμα.

Ανέβασμα του κώδικα σας στη πλακέτα Arduino

Μετά που καταφέρεις να επικυρώσεις τον κώδικα, μπορείς να τον ανεβάσεις στη πλακέτα Arduino. Μάλιστα το IDE επικυρώνει ξανά τον κώδικα σας και μετά τον ανεβάζει στο Arduino που είναι συνδεμένος στην θήρα USB. Ελέγξτε από το μενού: Εργαλεία>πλακέτα αν είναι επιλεγμένος ο σωστός τύπος Arduino και από το μενού Εργαλεία>θύρα αν το Arduino είναι συνδεμένο στη σωστή θύρα.

Αν ο κώδικας σας καταφέρει να ανέβει στο Arduino δεν σημαίνει ότι ο κώδικας σας είναι σωστός. Για παράδειγμα, αν σε ένα ακροδέκτη π.χ. πιν 10 έχουμε συνδέσει μια πηγή τάσης 5V και με τον κώδικα μας κάνουνε αυτό τον ακροδέκτη σαν έξοδο 0V π.χ. με την εντολή digitalWrite(10, LOW); η οποία είναι προγραμματιστικά σωστή τότε θα έχουμε βραχυκύκλωμα με την καταστροφή αυτού του πιν.

Αν θέλεις τα τροποποιήσεις αργότερα τον κώδικα σου, για παράδειγμα αν θέλεις να ρυθμίσεις το χρόνο παύσης μέσα στην εντολή καθυστέρησης, απλά άλλαξε το χρόνο καθυστέρησης σε 250, με την ακόλουθη αλλαγή

delay(250); //pause for a quarter of one second

Τροποποίησε την ανάλογη εντολή στο πρόγραμμα και ανέβασε ξανά τον κώδικα. Το LED θα αναβοσβήνει πιο γρήγορα κατά το ένα τέταρτο του δευτερολέπτου.