1. Παρουσίαση του περιβάλλοντος Arduino IDE

Για την ανάπτυξη εφαρμογών με τις πλακέτες της πλατφόρμας Arduino, χρειάζεται κατάλληλο λογισμικό προσωπικού υπολογιστή, το ονομαζόμενο Arduino IDE (Integrated Development Environment) που χρησιμοποιείται για:

  • Ανάπτυξη κώδικα για το Arduino σε μια γλώσσα βασισμένη στη C/C++
  • Ανέβασμα του κώδικα στην πλακέτα Arduino μέσω της θύρας USB
  • Παρακολούθηση δεδομένων που συλλέγονται με την πλακέτα Arduino (π.χ. αισθητήρες) και προβολή τους μέσω του Serial Monitor, ενώ υπάρχει η δυνατότητα εμφάνισης τους σε γραφική μορφή.
  • Χρήση βιβλιοθηκών για εύκολο χειρισμό αισθητήρων, display, WiFi κ.ά. με την εύκολη εγκατάσταση και ενημέρωση των απαιτούμενων βιβλιοθηκών.
  • Επιτρέπει από εμάς την επιλογή της θύρας και της πλακέτας Arduino για το ανέβασμα κώδικα.

Για να εγκαταστήσουμε το περιβάλλον Arduino IDE στον προσωπικό μας υπολογιστή, ακολουθούμε τα ακόλουθα βήματα:

  1. Πηγαίνουμε στην επίσημη ιστοσελίδα του Arduino IDE https://www.arduino.cc/en/software
  2. Πλοηγούμαστε ως εξής: Downloads>Arduino IDE 2.3.6 > DOWNLOAD OPTIONS
  3. Κάνουμε κλικ στην επιλογή Windows Win 10 and newer, 64bits
  4. Επιλέγουμε CONTRIBUTE AND DOWNLOAD (δωρεά και κατέβασμα) είτε JUST DOWNLOAD (μόνο κατέβασμα)
  5. Αφού κατέβει το αρχείο  arduino-ide_2.3.6_Windows_64bit.exe το τρέχουμε.
  6. Δεχόμαστε τους όρους χρήσης και κάνουμε κλικ στο I Agree
  7. Επιλέγουμε τα επιθυμητά στοιχεία και κάνουμε κλικ στο NEXT
  8. Κάνουμε κλικ στο Install και μόλις ολοκληρωθεί η εγκατάσταση του περιβάλλοντος Arduino IDE κάνουμε κλικ στο Finish.

Για να αναπτύξουμε μια εφαρμογή με το Arduino IDE ανοίγουμε το Arduino IDE από το μενού Έναρξη. Αν χρειαστεί επιλέγουμε τη θύρα (COM) και τον τύπο πλακέτας (π.χ. Arduino Uno) από το μενού Tools > Board/Port.

Όπως φαίνεται στην ακόλουθη εικόνα, το Arduino IDE είναι όμοιο με ένα επεξεργαστή κειμένου αλλά με επιπρόσθετες δυνατότητες για την παραγωγή του κώδικα της εφαρμογή μας. Μπορούμε να γράφουμε τον κώδικα στην περιοχή κειμένου, να τον επικυρώνουμε και τελικά να τον ανεβάζουμε στην μνήμη προγράμματος του μικροελεγκτή, με την βοήθεια ενός μικρού προγράμματος (bootloader) που ήδη υπάρχει στη μνήμη flash του Arduino. Μόλις ολοκληρωθεί το ανέβασμα ο κώδικας τρέχει αυτόματα. Αυτή η διαδικασία προϋποθέτει ότι έχουμε δηλώσει στο περιβάλλον IDE τον τύπο Arduino που χρησιμοποιούμε και τη θύρα επικοινωνίας στο οποίο είναι διασυνδεμένη η πλακέτα Arduino.

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

  • New (Νέο): Δημιουργία νέου κενού sketch.
  • Open… (Άνοιγμα): Άνοιγμα υπάρχοντος sketch από τον υπολογιστή μας.
  • Open Recent (Άνοιγμα πρόσφατου): Γρήγορη πρόσβαση σε πρόσφατα ανοιγμένα sketches.
  • Sketchbook: Προβάλλει όλα τα αποθηκευμένα sketches στο φάκελο “Sketchbook”.
  • Examples (Παραδείγματα): Περιέχει έτοιμα παραδείγματα κώδικα για διάφορες βιβλιοθήκες και λειτουργίες του Arduino.
  • Close (Κλείσιμο): Κλείσιμο του τρέχοντος sketch.
  • Save/Save As …(Αποθήκευση): Αποθήκευση του sketch ή αποθήκευση με νέο όνομα.
  • Preferences (Προτιμήσεις): Πρόσβαση στις ρυθμίσεις του IDE, όπως επιλογή της γλώσσας, ενεργοποίηση ή απενεργοποίηση αυτόματης αποθήκευσης, ρυθμίσεις εμφάνισης του θέματος (φωτεινό ή σκοτεινό), διαχείριση των τοποθεσιών των sketchbooks και των βιβλιοθηκών.
  • Quit (Έξοδος): Κλείνει το Arduino IDE.

Στο Arduino IDE 2.x το μενού Edit (Επεξεργασία) παρέχει βασικές λειτουργίες για την επεξεργασία του κώδικα που γράφουμε. Οι συνήθεις επιλογές που περιλαμβάνονται στο μενού Edit είναι:

  • Undo (Αναίρεση): Αναίρεση της τελευταίας ενέργειας.
  • Redo (Επαναφορά): Επαναφορά της τελευταίας αναίρεσης.
  • Cut (Αποκοπή): Αποκοπή του επιλεγμένου κειμένου.
  • Copy (Αντιγραφή): Αντιγραφή του επιλεγμένου κειμένου.
  • Paste (Επικόλληση): Επικόλληση του περιεχομένου του προχείρου.
  • Select All (Επηλογή Όλων): Επιλογή όλου του κειμένου στο τρέχον αρχείο.
  • Go to Line… (Μετάβαση στη γραμμή…): Επιτρέπει στην απευθείας μετάβαση σε συγκεκριμένο αριθμό γραμμής.
  • Comment/Uncomment (Σχολιασμός/Αφαίρεση σχολιασμού): Προσθέτει ή αφαιρεί τα σύμβολα σχολίου // από τις επιλεγμένες γραμμές κώδικα.
  • Replace (Αντικατάσταση): Αναζήτηση και αντικατάσταση λέξεων ή φράσεων στον κώδικα
  • Increase Indent (Αύξηση εσοχής): Προσθέτει εσοχή (tab ή κενά) στις επιλεγμένες γραμμές, για καλύτερη αναγνωσιμότητα.
  • Decrease Indent (Μείωση εσοχής): Αφαιρεί εσοχή από τις επιλεγμένες γραμμές.
  • Find (Εύρεση): Ανοίγει ένα πλαίσιο αναζήτησης για τον εντοπισμό λέξεων ή φράσεων στον κώδικα.
  • Find Next / Previous: Πλοήγηση στα επόμενα ή προηγούμενα αποτελέσματα της αναζήτησης.

Στο Arduino IDE 2.x το μενού Sketch παρέχει βασικές λειτουργίες για τη διαχείριση και τον προγραμματισμό των sketches. Οι κύριες επιλογές που περιλαμβάνονται σε αυτό το μενού είναι:

  • Verify/Compile (Επαλήθευση/Μεταγλώττιση): Ελέγχει τον κώδικα για συντακτικά ή λογικά λάθη και τον μεταγλωττίζει χωρίς να τον ανεβάσει στην πλακέτα.
  • Upload (Ανέβασμα): Μεταγλωττίζει και ανεβάζει τον κώδικα στην επιλεγμένη πλακέτα Arduino μέσω της θύρας USB.
  • Upload Using Programmer (Ανέβασμα μέσω Προγραμματιστή): Ανεβάζει τον κώδικα χρησιμοποιώντας εξωτερικό προγραμματιστή, παρακάμπτοντας το bootloader.
  • Export Compiled Binary (Εξαγωγή Μεταγλωττισμένου Δυαδικού): Δημιουργεί και αποθηκεύει το μεταγλωττισμένο αρχείο .hex ή .bin στον φάκελο sketch.
  • Show Sketch Folder (Εμφάνιση Φακέλου Sketch): Ανοίγει τον φάκελο όπου είναι αποθηκευμένο το τρέχον sketch στον διαχειριστή αρχείων του συστήματος.
  • Include Library (Εισαγωγή Βιβλιοθήκης): Επιτρέπει την προσθήκη βιβλιοθήκης στο sketch, είτε από τις ενσωματωμένες είτε από εξωτερικές που έχουμε εγκαταστήσει.
  • Add File… (Προσθήκη αρχείου…): Εισάγει ένα εξωτερικό αρχείο στο sketch (π.χ. αρχείο .h, .cpp, εικόνα, δεδομένα).

Στο Arduino IDE 2.x το μενού Tools (εργαλεία) παρέχει βασικές ρυθμίσεις και επιλογές για τη διαχείριση της πλακέτας, της θύρας επικοινωνίας, του προγραμματιστή και άλλων παραμέτρων του έργου μας. Οι διαθέσιμες επιλογές ενδέχεται να διαφέρουν ανάλογα με την επιλεγμένη πλακέτα και τις εγκατεστημένες βιβλιοθήκες.

  1. Auto Format: Μορφοποιεί τον κώδικα για καλύτερη αναγνωσιμότητα (ευθυγραμμλισεις, αποστάσεις.
  2. Archive Sketch: Δημιουργεί ένα αρχείο .zip του τρέχοντος sketch. Χρήσιμο για αρχειοθέτηση ή αποστολή του έργου.
  3. Manage Libraries (Διαχείριση Βιβλιοθηκών): Με το Library Manager κάνουμε εγκατάσταση, ενημέρωση ή αφαίρεση βιβλιοθηκών οι οποίες επεκτείνουν τη λειτουργικότητα του Arduino IDE.
  4. Serial Monitor (Σειριακή Παρακολούθηση): Ανοίγει το Serial Monitor για προβολή δεδομένων από την σειριακή θύρα.
  5. Serial Plotter (Σειριακός Γραφικός Παρακολουθητής): Παρουσιάζει γραφικά τα δεδομένα από τη σειριακή θύρα σε πραγματικό χρόνο.
  6. Board (Πλακέτα): Επιλογή του τύπου της πλακέτας Arduino που χρησιμοποιούμε (π.χ. Arduino Uno, Nano, Mega). Η σωστή επιλογή είναι απαραίτητη για τη σωστή μεταγλώττιση και ανέβασμα του κώδικα.
  7. Port (Θύρα): Επιλογή της θύρας επικοινωνίας (π.χ. COM3) μέσω της οποίας το Arduino IDE επικοινωνεί με την πλακέτα. Αν δεν εμφανίζεται καμία θύρα, βεβαιώσου ότι η πλακέτα είναι σωστά συνδεδεμένη.
  8. Get Board Info: Παρέχει τεχνικές λεπτομέριες για την πλακέτα που είναι επιλεγμένη.
  9. Programmer (Προγραμματιστής): Επιλογή εξωτερικού προγραμματιστή για τον ανέβασμα του κώδικα ή το κάψιμο του bootloader. Αυτή η επιλογή είναι χρήσιμη όταν χρησιμοποιούμε εξωτερικούς προγραμματιστές όπως το “Arduino as ISP”. Σημείωση: η επιλογή αυτή μπορεί να μην εμφανίζεται αν δεν έχεις επιλέξει κατάλληλη πλακέτα ή αν υπάρχουν προβλήματα με την εγκατάσταση.
  10. Burn Bootloader (Κάψιμο Bootloader): Εγκαθιστά τον bootloader στην πλακέτα, επιτρέποντας τον ανέβασμα κώδικα μέσω USB. Απαιτείται η χρήση εξωτερικού προγραμματιστή και είναι χρήσιμη όταν η πλακέτα δεν έχει ήδη εγκαταστημένο bootloader.

Στο Arduino IDE 2.x, τα στρογγυλά εικονίδια που βρίσκονται κάτω από το μενού εντολών αποτελούν τη γραμμή εργαλείων (toolbar), προσφέροντας γρήγορη πρόσβαση σε βασικές λειτουργίες. Η διάταξη και η λειτουργία τους είναι η εξής:

  1. Verify (Επαλήθευση) Ελέγχει τον κώδικα για συντακτικά λάθη και τον μεταγλωττίζει χωρίς να τον ανεβάζει στην πλακέτα.
  2. Upload (Ανέβασμα) Μεταγλωττίζει και ανεβάζει τον κώδικα στην επιλεγμένη πλακέτα Arduino.
  3. Debug (Αποσφαλμάτωση) Ενεργοποιεί τον ενσωματωμένο αποσφαλματωτή για υποστηριζόμενες πλακέτες

Στο Arduino IDE 2.x η αριστερή πλευρά του παραθύρου περιλαμβάνει μια κάθετη γραμμή εργαλείων, γνωστή ως Activity Bar, η οποία παρέχει γρήγορη πρόσβαση σε βασικές λειτουργίες του IDE. Κάθε εικονίδιο λειτουργεί ως κουμπί εναλλαγής για την εμφάνιση ή απόκρυψη του αντίστοιχου πάνελ στην αριστερή πλευρά του παραθύρου. Τα εικονίδια της Activity Bar είναι τα ακόλουθα:

  1. Sketchbook: Ανοίγει το πάνελ με τα αποθηκευμένα sketches που έχουμε δημιουργήσει ή να δημιουργήσουμε ένα νέο έργο.
  2. Boards Manager: Επιτρέπει την εγκατάσταση ή ενημέρωση υποστήριξης για διάφορες πλακέτες Arduino και συμβατών.
  3. Library Manager: Διαχειρίζεται τις βιβλιοθήκες που χρησιμοποιούνται στα sketches, επιτρέποντας την εγκατάσταση, ενημέρωση ή αφαίρεση τους.
  4. Debug: Ενεργοποιεί το εργαλείο αποτελμάτωσης (debugger), το οποίο είναι διαθέσιμο για συμβατές πλακέτες και επιτρέπει τον εντοπισμό και τη διόρθωση σφαλμάτων στον κώδικα μας.
  5. Search: Παρέχει δυνατότητα αναζήτησης σε όλα τα αρχεία του sketch, με υποστήριξη για κανονικές εκφράσεις (regular expressions) και επιλογές αντικατάστασης.