Το Arduino είναι μία ηλεκτρονική πλακέτα, ανοιχτού κώδικα και υλικού, βασισμένη σε εύχρηστο υλικό και λογισμικό. Είναι σχεδιασμένη για εκμάθηση φίλων της τεχνολογίας ώστε κάποιος να μπορεί σχετικά εύκολα και γρήγορα να δημιουργήσει ηλεκτρονικές κατασκευές μαθαίνοντας προγραμματισμό και ηλεκτρονικά ταυτόχρονα. Η καρδιά του συστήματος είναι ένας προγραμματιζόμενος μικροελεγκτής (microcontroller) οποίος μπορεί να αλληλεπιδρά με το φυσικό περιβάλλον μέσω διάφορων αισθητήρων σε σύγκριση με τους παραδοσιακούς προσωπικούς υπολογιστές, που ουσιαστικά περιορίζονται στο εικονικό περιβάλλον. Πρόκειται για μία πλατφόρμα “physical computing” (υπολογισμός φυσικού κόσμου) που μας επιτρέπει να λαμβάνουμε σήματα από διάφορους ψηφιακούς ή αναλογικούς εισόδους ( πχ αισθητήρες) και να ελέγχουμε διάφορες άλλες εξόδους (πχ μηχανές, λάμπες, ασύρματα module επικοινωνίας κλπ)
Τα projects που βασίζονται στο Arduino μπορούν να λειτουργούν αυτόνομα ή να αλληλεπιδρούν με λογισμικό υπολογιστή. Οι πλακέτες μπορούν να συναρμολογηθούν από τον ίδιο τον χρήστη ή να α
γοραστούν έτοιμες. Το περιβάλλον ανάπτυξης λογισμικού με ανοιχτό κώδικα είναι διαθέσιμο δωρεάν για να το κατεβάσετε.
Η γλώσσα προγραμματισμού Arduino είναι μια υλοποίηση της Wiring, μιας παρόμοιας πλατφόρμας για “φυσικούς υπολογισμούς” που βασίζεται στο περιβάλλον προγραμματισμού πολυμέσων Processing. Η γλώσσα αυτή παρουσιάζει σχεδόν τις ίδιες εντολές με την C++ και πρακτικά δεν θα βρείτε διαφορές όσοι είχαν προγραμματίσει παλαιότερα με την C++ .
Υπάρχουν πολλοί μικροελεγκτές και πλατφόρμες για να φτιάξει διάφορες εφαρμογές κανείς . Η πλατφόρμα Arduino όμως απλοποιεί τη διαδικασία εργασίας με μικροελεγκτές και έχει φυσικά ορισμένα πλεονεκτήματα σε σύγκριση με άλλες, ειδικά για εκπαιδευτικούς, φοιτητές και ερασιτέχνες:
Χαμηλό κόστος – Οι πλακέτες Arduino είναι σχετικά φθηνές σε σύγκριση με άλλες πλατφόρμες. Το Arduino Uno που είναι το κλασικό Arduino που μπορεί να ξεκινήσει κανείς. Eχει κόστος περίπου στα 10 – 30 € ανάλογα με την έκδοση.
Cross-platform – Το λογισμικό Arduino λειτουργεί σε Windows, Macintosh OSX και Linux. Οι περισσότεροι μικροελεγκτές περιορίζονται στα Windows. Απλό και κατανοητό περιβάλλον προγραμματισμού – Το περιβάλλον του Arduino είναι κατάλληλο τόσο για αρχάριους όσο και για έμπειρους χρήστες. Το Arduino βασίζεται στο περιβάλλον προγραμματισμού Processing, γεγονός που είναι πολύ βολικό για εκπαιδευτικούς, καθώς οι φοιτητές που προγραννατίζουν με C++ θα είναι εξοικειωμένοι και με το Arduino.
Λογισμικό επεκτάσιμο και με ανοιχτό κώδικα – Το λογισμικό Arduino δημιουργήθηκε έτσι ώστε να μπορεί να επεκταθεί από προχωρημένους χρήστες. Η γλώσσα μπορεί να ενισχυθεί με βιβλιοθήκες σε C++. Όσοι θέλουν να κατανοήσουν τις τεχνικές λεπτομέρειες μπορούν να μεταβούν στη γλώσσα AVR C, στην η οποία βασίζεται η C++. Έτσι, υπάρχει η δυνατότητα εισαγωγής κώδικα από AVR-C μέσα σε προγράμματα Arduino.
Υλικό επεκτάσιμο και με ανοιχτά κυκλώματα – Οι μικροελεγκτές ATMega328, ATMEGA8 και ATMEGA168 αποτελούν τη βάση του Arduino. Τα κυκλώματα των modules δημοσιεύονται με άδεια Creative Commons, πράγμα που σημαίνει ότι έμπειροι μηχανικοί μπορούν να δημιουργήσουν τις δικές τους εκδόσεις των modules, επεκτείνοντάς τα ή βελτιώνοντάς τα. Ακόμα και οι απλοί χρήστες μπορούν να δημιουργήσουν δικά τους πρωτότυπα για εξοικονόμηση χρημάτων και καλύτερη κατανόηση της λειτουργίας τους.
