To Arduino είναι μία πλατφόρμα η οποία μας βοηθάει να προγραμματίζουμε μικροελεγκτές γρήγορα και αρκετά εύκολα καθώς υπάρχουν πολλά δείγματα κώδικα (βιβλιοθήκες) για τις περισσότερες εφαρμογές.
To arduino είναι μία πλακέτα η οποία αποτελείται από έναν κοινό μικροελεγκτή (π.χ Atmel AVR) η οποία έχει εισόδους, εξόδους, για να συνδέεται με περιφερειακά όπως led, κινητήρες, διακόπτες, ρελέ, μπουτόν κτλ.
Όλη αυτή η φιλοσοφία μας βοηθάει να υλοποιούμε αυτοματισμούς.
Ουσιαστικά αυτό που κάνει ιδιαίτερο το arduino και ευρέως διαδεδομένο είναι ό,τι ο κώδικας γράφεται σε γλώσσα wiring (γλώσσα c/c++ με βιβλιοθήκες γραμμένες σε c/c++) ο οποίος συντάσσεται στο ειδικά διαμορφωμένο περιβάλλον για να φορτώνονται άμεσα οι εφαρμογές (Arduino software) και να επικοινωνούν οι πλακέτες arduino, μερικές αναφέρονται παρακάτω.
Υπάρχουν διάφορες εκδόσεις Arduino που διαφέρουν ως προς τις δυνατότητες και ως προς το μέγεθος όπως: το arduino nano, το arduino mini pro, arduino uno, arduino mega, arduino yun κτλ.
Θα αναφέρουμε ενδεικτικά μερικές εφαρμογές που μπορούμε να υλοποιήσουμε.
Στο arduino μπορούμε:
- Να συνδέσουμε led και να ανάβουν διαδοχικά με χρονοκαθυστέρηση ή με οποιοδήποτε συνδυασμό επιθυμούμε, όπως έχουμε ορίσει από το πρόγραμμα.
- Να συνδέσουμε μπουτόν και όταν τα πιέσουμε ο μικροελεγκτής (arduino) να υλοποιεί διαδικασία που έχουμε ορίσει.
Για παράδειγμα όταν πιέσουμε το μπουτόν 1 να ανάψει το τρίτο led, όταν πιέσουμε το δεύτερο μπουτόν να ανάψουν όλα τα leds που έχουμε συνδεδεμένα στην πλακέτα κτλ.
- Να συνδέσουμε ρελέ για τον έλεγχο ηλεκτρικών φορτίων όπως λάμπες, κινητήρες κτλ. Παλαιότερα για να υλοποιήσουμε αυτοματισμούς χρησιμοποιούσαμε ρελέ (ηλεκτρομαγνητικούς διακόπτες, δηλαδή ένα πηνίο που όταν διεγερθεί έλκει ή απωθεί κάποια επαφή ή συνδυασμό επαφών) και για το κύκλωμα ισχύος και για το κύκλωμα ελέγχου. Το κύκλωμα ελέγχου αποτελεί τον τρόπο που θα ενεργοποιούνται και απενεργοποιούνται τα φορτία (χρονοκαθυστερήσεις, σειρά ενεργοποίησης κτλ.) διαδικασία περίπλοκη, χρονοβόρα, με αυξημένο κόστος και χωρίς δυνατότητα παραμετροποίησης και τροποποίησης λειτουργίας στο μέλλον.Την υλοποίηση του κυκλώματος ελέγχου με ρελέ, χρονικά, πολλές βοηθητικές επαφές έχουν αντικαταστήσει τα plc (programmable logic controller) στην βιομηχανία, που ουσιαστικά πρόκειται για μονάδες πλακετών από μικροελεγκτές με απομονωμένες εισόδους (opto isolated inputs) για τοποθέτηση αισθητήρων, εξόδους εντολών και εξόδους που οδηγούν ρελέ (για ψηφιακά φορτία) ή ακόμη και αναλογικές εξόδους (triac, τρανζίστορ κτλ) για ρύθμιση στροφών κινητήρων, μεταβολή φωτεινότητας λαμπτήρων (dimming) κτλ.Η διαδικασία που υλοποιείται σε ένα PLC μπορεί να υλοποιηθεί και με ένα arduino απλώς τα plc χρησιμοποιούνται στην βιομηχανία γιατί υπάρχει πληθώρα πρωτοκόλλων (modbus, profibus κτλ) με τα οποία συνδέονται και επικοινωνούν περιφερειακά καθώς και εποπτικά συστήματα (scada).Από την παραπάνω περιγραφή συμπεραίνουμε πως τα PLC, οι μικροελεγκτές, το arduino στην προκειμένη περίπτωση και γενικότερα τα ενσωματωμένα συστήματα ( embedded systems) έχουν αντικαταστήσει τα ρελέ, τα χρονικά, και τις πολλές βοηθητικές επαφές στο κύκλωμα ελέγχου οποιουδήποτε αυτοματισμού.
Το κύκλωμα ισχύος αποτελείται από το φορτίο (λαμπτήρας, κινητήρας κτλ) που είναι συνδεδεμένο “πάνω” στο ρελέ του οποίου το πηνίο διεγείρεται – ενεργοποιείται από το κύκλωμα ελέγχου.
Εν κατακλείδι ένα αυτοματισμός αποτελείται από το κύκλωμα ελέγχου που πλέον υλοποιείται με “embedded” συστήματα τα οποία επικοινωνούν με το κύκλωμα ισχύος που αποτελείται από ρελέ για ψηφιακά φορτία “άνοιγμα – κλείσιμο” ή triacs, mosfets, thyristors για αναλογική ρύθμιση εξόδου κτλ.
- Να συνδέσουμε οθόνη η οποία εμφανίζει μηνύματα που έχουμε ορίσει ή και να εμφανίζει την διαδικασία στην οποία έχει προγραμματιστεί ο μικροελεγκτής. πχ. “άναψε το πρώτο led”, “μόλις πιέσατε το μπουτόν 1”, “το δεύτερο led θα ανάψει σε 5 δευτερόλεπτα” κτλ.
- Να συνδέσουμε αισθητήρες που καταγράφουν την φωτεινότητα, την θερμοκρασία , την υγρασία από το περιβάλλον κτλ.
- Να συνδέσουμε RTC ( real time clock) μονάδα που παρέχει πληροφορία ώρας και ημερομηνίας με καταχωρημένο ημερολόγιο με ενσωματωμένη μπαταρία που εξασφαλίζει την αδιάλειπτη λειτουργία της μονάδας σε περίπτωση διακοπής της παροχής ρεύματος έτσι ώστε να μεταφέρεται έγκυρα και αναλλοίωτα η πληροφορία.
- Να συνδέσουμε μονάδα κάρτας μνήμης που να αποθηκεύει τα δεδομένα που έχουν καταγραφεί από τους αισθητήρες.
Παράδειγμα εμφάνισης: “ημερομηνία: 15/2/2015, ώρα: 13:45, φωτεινότητα: 90%, θερμοκρασία:20oC, υγρασία: 60%).
Η παραπάνω περιγραφή, αποτελεί την εφαρμογή καταχώρησης πληροφοριών (data logger).
- Να συνδέσουμε μονάδα δικτύου ethernet, wifi ακόμη και να υλοποιήσουμε server για να παρακολουθούμε απομακρυσμένα την διαδικασία (τηλεμετρία) καθώς και να την ελέγχουμε (απομακρυσμένος έλεγχος).
- Να συνδυάσουμε όλα τα παραπάνω (ενδεικτικά) παραδείγματα σε ένα project.