Επέκταση με Shield
ΠΕΡΙΓΡΑΦΗ
Τα shield είναι ολοκληρωμένες πλακέτες που είναι σχεδιασμένες ώστε να κουμπώνουν πάνω στο Arduino προεκτείνοντας την λειτουργικότητά του. Τα shield είναι σαν τα περιφερειακά ενός ΗΥ: επεκτείνουν τις δυνατότητές του. Τα shield είναι σχεδιασμένα ώστε αφού κουμπωθούν πάνω στο Arduino να προωθούν τις υποδοχές του στην ανώτερη πλακέττα (το shield) ώστε να μπορείτε να συνδέσετε επιπλέον τα δικά σας εξαρτήματα ή να κουμπώσετε και επόμενο shield

Εικόνα 1-3: Arduino με δύο shield
Μερικά από τα πιο δημοφιλή shield που κυκλοφορούν στο εμπόριο για το Arduino είναι:

Εικόνα 1-4: Arduino Ethernet shield
Ethernet shield: Δίνει στο Arduino την δυνατότητα να δικτυωθεί σε ένα LAN ή στο internet μέσω ενός τυπικού καλωδίου Ethernet. Βασίζεται σε ολοκληρωμένο κύκλωμα ελεγκτή δικτύου [Ethernet controller] που υλοποιεί το πρωτόκολλο Ethernet. Ενσωματώνει υποδοχής κάρτας μνήμης micro-SD. Μπορεί να υλοποιήσει ακόμα και Web server! Συνήθως χρησιμοποιούνται οι εξής δύο ελεγκτές: W5100 και ENC28J60 . Προσφάτως κυκλοφόρησε το Arduino Ethernet που ενσωματώνει τον ελεγκτή δικτύου αλλά το κόστος του είναι σχετικά υψηλό.
WiFi shield: Όμοιο με το Ethernet shield, χωρίς φυσικά το καλώδιο.
XBee: Μονάδα ασύρματου πομποδέκτη. http://en.wikipedia.org/wiki/XBee
Διάφορα shield οθόνης: Προσθέτουν οθόνη στο Arduino. Κυκλοφορούν από απλές οθόνες τύπου calculator μέχρι OLED touchscreen υψηλής ανάλυσης τύπου iPhone.
Wave shield: Δίνει στο Arduino την δυνατότητα να παίζει ήχους/μουσική από κάρτες SD.
Διάφορα Motor Shield: Σας επιτρέπουν να οδηγήσετε εύκολα μοτέρ διάφορων τύπων (απλά DC, servo, stepper κ.λπ.) από το Arduino.
ProtoShield: Μια προσχεδιασμένη πλακέτα πειραματισμού και ανάπτυξης προτύπων κατασκευών (“προτυποποίησης”) στις διαστάσεις του Arduino και τρύπες για εξαρτήματα, που μας βοηθάει να φτιάξουμε το δικό μας shield.

Εικόνα 1-5: Arduino me Ethernet shield
Φυσικά, το κάθε shield χρησιμοποιεί ορισμένους από τους πόρους συνδεσιμότητας του Arduino και έτσι δεν μπορείτε να συνδέσετε απεριόριστα shield. Μάλιστα κάποια shield μπορεί να μην είναι συμβατά μεταξύ τους γιατί χρησιμοποιούν τα ίδια pin του Arduino για επικοινωνία μ’ αυτό. Επίσης, επειδή κάποια shield δεν προωθούν τις συνδέσεις του Arduino (όπως π.χ. οι οθόνες οι οποίες δεν έχουν νόημα αν τις καλύψετε από πάνω με ένα επόμενο shield), υπάρχουν ειδικά extender shield που κουμπώνουν στο Arduino και δίνουν την δυνατότητα σε δύο άλλα shield να κουμπώσουν πάνω τους, λειτουργώντας σαν πολύπριζα. Όπως και για το ίδιο το Arduino, το βασικό πλεονέκτημα των shield δεν είναι τόσο το προφανές πλεονέκτημα του έτοιμου hardware όσο ότι συνοδεύονται συνήθως από έτοιμες βιβλιοθήκες που σας επιτρέπουν να προγραμματίζετε τα sketch σας σε high level.
Έτσι, λόγου χάρη, δεν χρειάζεται να διαβάζετε datasheet ή να γίνετε ηλεκτρονικός για να συνδέσετε και να λειτουργήσετε ένα GPS module πάνω στο Arduino. Απλά συνδέετε το shield, εγκαθιστάτε τη βιβλιοθήκη που το συνοδεύει και χρησιμοποιείτε μια έτοιμη συνάρτηση -του στυλ getLocation- για να πάρετε το γεωγραφικό στίγμα και να το επεξεργαστείτε περαιτέρω στο sketch σας.
Τα shield σας λύνουν τα χέρια όταν θέλετε να δημιουργήσετε εύκολα ένα πραγματικά πρακτικό project. Αυτός είναι και ο λόγος που δεν συνιστάται η αγορά κάποιας έκδοσης του Arduino που δεν είναι 100% συμβατή με τα shield. Σημειώστε ότι το Arduino Mega είναι συμβατό με τα περισσότερα shield που έχουν κυκλοφορήσει για το Arduino αλλά όχι με το Ethernet Shield, το οποίο είναι ένα αρκετά σημαντικό μειονέκτημα για όσους θέλουν να φτιάξουν εφαρμογές με πρόσβαση στο Internet ή σε κάποιο άλλο δίκτυο.
Για κάποιον που θέλει να φτιάξει τη δική του κατασκευή ή ένα εμπορικό προϊόν βασισμένο στον μικροελεγκτή ATMega, τα shield και όλα τα περιφερειακά που μπορεί να συνδέσει στο Arduino μέσω μιας πλακέττας πειραματισμών [breadboard], είναι ένα ενδιάμεσο στάδιο. Όταν καταλήξουμε στο τελικό πρότυπο, το επόμενο βήμα είναι η κατασκευή μιας δικής μας πλακέττας που θα ενσωματώνει μόνο τα εξαρτήματα που χρειαζόμαστε.

Εικόνα 1-6: Arduino UNO με οθόνη LCD πάνω σε breadboard
Από τις ανεπίσημες εκδόσεις, το Freeduino 1.16 και το Seeeduino βασίζονται στο Diecimila οπότε ισχύουν οι ίδιες διαφορές που έχει αυτό με το Duemilanove. Το Freeduino είναι ακριβής κλώνος του Diecimila, ενώ το Seeeduino είναι μια βελτιωμένη έκδοση του Diecimila με κύρια διαφορά την προσθήκη 2 επιπλέον pin αναλογικής εισόδου.