Εισαγωγή στην πλατφόρμα Arduino

Στην ενασχόληση σου με τα ηλεκτρονικά, θα έχεις ακούσει σχετικά με το Arduino. Η πλατφόρμα Arduino όπως λέγεται, είναι ένα σύνολο όμοιων πλακετών, οι οποίες προγραμματίζονται με τον ίδιο τρόπο. Ας αναλύσουμε σχετικά. Συγκεκριμένα σε κάθε πλακέτα Arduino υπάρχει ένα σύνολο ακροδεκτών (πινς) για την είσοδο ή έξοδο σημάτων, τα οποία είναι τεχνολογίας ψηφιακής ή αναλογικής μορφής, τα οποία ελέγχονται από τον μικροελεγκτή της πλακέτας Arduino. Ο μικροελεγκτής διαμέσου ενός driver μπορεί να επικοινωνεί, με το πρωτόκολλο USB, με τον προσωπικό υπολογιστή για ανέβασμα κώδικα και μεταφορά δεδομένων.

Η πλακέτα Arduino τροφοδοτείται με τάση από την πόρτα USB, όπως το Arduino είναι συνδεμένο με το PC ή από εξωτερική είσοδο σταθερής τάσης VDC.

Πρέπει να επισημάνουμε ότι το υλικό είναι ανοικτού τύπου (open hardware), ενώ το λογισμικό της πλατφόρμας είναι επίσης ανοικτού τύπου (open software), που σημαίνει ότι ο χρήστης μπορεί να χειρίζεται και να τροποποιεί το υλικό καθώς επίσης και το λογισμικό, ελεύθερα χωρίς περιορισμούς και μπορεί να δημοσιεύει την εργασία του στο ίντερνετ.

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

Ο προγραμματισμός του του μικροελεγκτή της πλακέτας Arduino βασίζεται στο περιβάλλον προγραμματισμού Arduino IDE που τρέχει στον προσωπικό μας υπολογιστή.

Arduino IDE

Η πλατφόρμα Arduino αποτελείται από ένα σύνολο συμβατών πλακετών μεταξύ τους, αλλά με διαφορετικά χαρακτηριστικά, όπου μπορείς να επιλέξεις μια από αυτή που ταιριάζει καλύτερα στην εφαρμογή σου.

Arduino Uno

Ο κυρίαρχος της οικογένειας πλακετών Arduino είναι η πλακέτα Arduino Uno. H πλακέτα αυτή χρησιμοποιεί ένα μικροελεγκτή AVR και συγκεκριμένα τον ATmega328, με αποτέλεσμα να παρέχονται 14 ψηφιακές εισόδους ή εξόδους, 6 αναλογικές εισόδους και 6 αναλογικές εξόδους με την μέθοδο διαμόρφωσης παλμών.

Το κύκλωμα του Arduino Uno περιέχει ένα USB κονέκτορα για επικοινωνία με τον προσωπικό υπολογιστή, για ανέβασμα κώδικα και την τροφοδοσία της πλακέτας με τάση. Στο Arduino Uno, η τροφοδοσία της πλακέτας μπορεί να γίνει και από διαφορετικό κονέκτορα. Επίσης η πλακέτα Arduino Uno διαθέτει ένα μπουτόν για την επανεκκίνηση της λειτουργία του Arduino στην περίπτωση αν κάτι πάει στραβά..

Το μέγεθος και η διάταξη των ακροδεκτών του Arduino Uno έχει γίνει στάνταρτ. Έτσι στην αγορά μπορείς να βρεις τα λεγόμενα shields που κουμπώνουν πάνω στην πλακέτα Arduino Uno και μπορούν να κάνουν διάφορες λειτουργίες.

Arduino Due

Η πλακέτα Arduino Duo χρησιμοποιεί των υψηλών επιδόσεων επεξεργαστή 32-bit ARM Cortex – M3 αντί για τον στάνταρτ μικροελεγκτή ATmega328 που είναι ενσωματωμένος στο Arduino Uno, ο οποίος παρέχει πολύ υψηλή επεξεργαστική ισχύ σε σχέση με τον Atmega.

To Arduino Due παρέχει 54 ψηφιακές εισόδους ή εξόδους,, 4 σειριακές UART πόρτες. Επίσης περιέχει μεγαλύτερη μνήμη flash και συγκεκριμένα 512ΚΒ για την αποθήκευση του κώδικα καθώς επίσης μνήμη τύπου SRAM για την αποθήκευση δεδομένων.

Το Arduino Due χρησιμοποιεί την στάνταρτ διάταξη ακροδεκτών όπως το Arduino, άλλα επεκταμένη με μια κάθετη πινοσειρά στην δεξιά μεριά. Αυτό επιτρέπει σε ένα Due να χρησιμοποιεί shields σχεδιασμένα για το Arduino Uno.

Ανόμοια με τις υπόλοιπες πλακέτες Arduino, το Arduino Due εργάζεται στα 3,3V. Εφαρμόζοντας τάση μεγαλύτερη από 3,3V σε οποιοδήποτε πινς εισόδου/εξόδου θα κάνει ζημιά στην πλακέτα.

Arduino Leonardo

Το Arduino Leonardo χρησιμοποιεί τον μικροελεγκτή Atmega32u4, ο οποίος παρέχει 20 ψηφιακές εισόδου ή εξόδου, 7 αναλογικές εξόδου με την μέθοδο PWM και 12 αναλογικές εισόδους.

Το Arduino Leonardo έχει την ίδια διάταξη ακροδεκτών όπως το Uno αλλά με επιπρόσθετους ακροδέκτες για τις έξτρα εργασίες.

Ένα όμορφο χαρακτηριστικό του Arduino Leonardo είναι ότι μπορεί προσομοιώσει ένα πληκτρολόγιο και ένα ποντίκι όταν συνδεθεί με τον προσωπικό μας υπολογιστή χρησιμοποιώντας την USB πόρτα. Μπορείς να γράψεις κώδικα που αν τρέξει στο Arduino Leonardo θα είναι δυνατή η αποστολή σημάτων πληκτρολογίου και ποντικιού στο PC για διάφορους σκοπούς.

Arduino Mega

Το Arduino Mega σαν μέλος της οικογένειας Arduino είναι μια πλακέτα με τις περισσότερους, εισόδους / εξόδους, το οποίο παρέχει μεγαλύτερη λειτουργικότητα από ότι το Arduino Uno. Χρησιμοποιεί τον μικροελεγκτή ΑΤmega2560, έτσι το σύστημα παρέχει 54 ψηφιακές εισόδους ή εξόδους, 15 αναλογικές εξόδους με την μέθοδο PWM, 16 αναλογικές εισόδους και 4 UARTS για σειριακή επικοινωνία

Επειδή το Arduino Mega έχει την διάταξη ακροδεκτών όπως το Uno, άλλα επεκταμένη στο πίσω μέρος και αφού λειτουργούν με την ίδια τάση 5V τα shields που εργάζονται με το Arduino Uno μπορούν να χρησιμοποιηθούν και για το Arduino Mega.

Arduino Micro

To Arduino Micro είναι μια μικρών διαστάσεων πλακετών το οποίο παρέχει τη βασική λειτουργικότητα της οικογένειας Arduino. Χρησιμοποιεί τον ίδιο μικροελεγκτή Atmega32u4 όπως στο Arduino Leonardo. To Arduino Micro παρέχει 20 ψηφιακές εισόδους ή εξόδους, 7 αναλογικές εξόδους με την μέθοδο PWM και 12 αναλογικές εισόδους. Χρησιμοποιεί την λογική 5V στους ακροδέκτες και περιέχει ένα κρύσταλλο 16MHz.

Έχει μεγάλη ζήτηση λόγω των μικρών διαστάσεων και συγκεκριμένα 4,8cm μήκος και 1,77cm πλάτος αρκετά μικρό ώστε να μπορεί να χρησιμοποιηθεί σε οποιαδήποτε ηλεκτρονική εφαρμογή.

Χρησιμοποιεί μια micro USB πόρτα για να επικοινωνήσει με τον προσωπικό υπολογιστή ή να χρησιμοποιηθεί σαν προσομοιωτής πληκτρολογίου και ποντικιού όπως το Arduino Leonardo μπορεί.

Arduino Nano

To Arduino Nano είναι μια μικρού διαστάσεων πλακέτα της πλατφόρμας Arduino. Χρησιμοποιεί ένα μικροελεγκτή AVR και συγκεκριμένα τον Atmega328 σε συσκευασία SMD. Ενσωματώνει ένα driver δηλαδή ένα ειδικό ολοκληρωμένο κύκλωμα για να μπορεί να επικοινωνήσει με το PC μέσω ενός καλωδίου. Ο driver είναι ένα πρόσθετο εξωτερικό ολοκληρωμένο κύκλωμα, σε αντίθεση με τον μικροελεγκτή ATmega32u4 (Arduino Leonardo) που υπάρχει εσωτερικά στον μικροελεγκτή.

Το Arduino Nano τροφοδοτείται με τάση 5V από το καλώδιο USB ή από τάση 7 έως 12V στον κατάλληλο ακροδέκτη.

Το Arduino Nano περιέχει 14 ψηφιακές εισόδους ή εξόδους 6 αναλογικές εξόδους με την μέθοδο PWM και 8 αναλογικές εισόδους.

Arduino Yun

To Arduino Yun είναι μια ενδιαφέρουσα πλακέτα της πλατφόρμας Arduino που στο υλικό της περιλαμβάνει ένα AVR μικροελεγκτή τον ATmega32u4 μαζί με ένα επεξεργαστή Atheros τα οποία τρέχουν το λειτουργικό σύστημα Linux.

Τα δυο ολοκληρωμένα κυκλώματα επικοινωνούν κατευθείαν μαζί τους και έτσι ο AVR μικροελεγκτής μπορεί να περάσει δεδομένα στο σύστημα Atheros. To λειτουργικό σύστημα Linux, επίσης περιλαμβάνει μια πόρτα Ethernet και δυνατότητα Wi-Fi για εξωτερική επικοινωνία.

Arduino Ethernet

Η πλακέτα Arduino Ethernet συνδυάζει ένα μικροελεγκτή όπως εκείνου του Arduino Uno μαζί με μια ενσύρματη Ethernet πόρτα σε μια μονάδα Arduino. Αυτό το σύστημα επιτρέπει να έχεις πρόσβαση στην πλακέτα Arduino από μακρυά για να διαβάζεις δεδομένα ή να δώσεις εντολές στις εξόδους του Arduino.

Αναλυτικά με το Arduino Uno.

Με απλά λόγια το Arduino είναι ένα μικρό υπολογιστικό σύστημα που μπορεί να προγραμματιστεί από εσάς, έτσι ώστε να μπορεί να ελέγξει με τον επιθυμητό τρόπο τον περιβάλλον του με τις κατάλληλες τιμές στις εισόδους και εξόδους του. Ο βασικός τύπος είναι το Arduino Uno που έχει το μέγεθος την παλάμη του χεριού σας.

Με την πλατφόρμα Arduino μπορείτε να φτιάξετε εφαρμογές που μπορούν να ελέγξουν το χώρο γύρω σας. Το Arduino χρησιμοποιείται σε αμέτρητες εφαρμογες για τον ψηφιακό έλεγχο εισόδου και εξόδου . Η επικοινωνία γίνεται είτε ψηφιακα π.χ. display είτε αναλογικά π.χ. motors, που με το κατάλληλο πρόγραμμα Arduino μπορείτε να κάνετε το σύστημα να συμπεριφέρεται όπως θέλετε.

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

O USB κονέκτορας συνδέει την πλακέτα Arduino στο PC για τρεις λόγους: Για να τροφοδοτήσει την πλακέτα με τάση, να μεταφέρει τον κώδικα στον μικροελεγκτή και να στείλει ή να λάβει δεδομένα από το PC. Στα δεξιά διακρίνεται ο κονέκτορας τροφοδοσίας από όπου μπορείς να τροφοδοτήσεις το Arduino Uno με εξωτερική τάση.

Κάτω στο κέντρο της πλακέτας του Arduino USB διακρίνεται η καρδιά του Uno, ένας μικροελεγκτής. Αυτός είναι είναι ένας μικροσκοπικός υπολογιστής σε ένα κέλυφος που περιλαμβάνει ένα επεξεργαστή που εκτελεί τις εντολές του συστήματος, μνήμη SRAM όπου αποθηκεύονται τα δεδομένα και την μνήμη που αποθηκεύονται οι εντολές του προγράμματος

Το Arduino έχει δυο παράλληλες πινοσειρές όπου ένα τμήμα από αυτές παρέχει τις dc τάσεις ενώ οι υπόλοιπες παρέχει τις ψηφιακές ή αναλογικές τάσεις για είσοδο ή έξοδο. Η κάτω δεξιά πινοσιρά αποτελούν τις έξι αναλογικές εισόδους για να είναι εφικτή η μέτρηση αναλογικών σημάτων. Οι ακροδέκτες A4 και Α5 χρησιμοποιούνται από το I2C πρωτόκολλο.

Η πάνω πινοσειρά που ονομάζεται 0 έως 13 είναι οι ψηφιακές είσοδοι ή έξοδοι του Arduino Uno. Μπορούν να διαβάσουν ψηφιακά σήματα ή να παρέχουν ψηφιακές τάσεις. Τα πινς 0 και1 είναι γνωστά ως σειριακή πόρτα και μπορούν να χρησιμοποιηθούν στην επικοινωνία με την επικοινωνία με την USB πόρτα του προσωπικού μας υπολογιστή με ένα driver ενδιάμεσα. Οι ακροδέκτες που ονομάζονται με το σύμβολο ~ μπροστά από το όνομα του πιν χρησιμοποιούνται για την παραγωγή αναλογικών τάσεων με τη μέθοδο διαμόρφωσης παλμών

Όπως σε όλα τα υπολογιστικά συστήματα, αν κάτι παει στραβά, όπως μπορεί να συμβεί και στο Arduino μπορείς να το επανεκκινήσεις, το σύστημα με το μπουτόν RESET. Το μπουτόν RESET μπορείς να το βρεις και στο Arduino Uno και σε βοηθά να εκκινησεις το Arduino όταν το πρόγραμμα καταρρεύσει,

Ένα άλλο μεγάλο πλεονέκτημα του Arduino είναι η ευκολία που επεκτείνεται. Οι δύο σειρές ακροδεκτών στην πάνω και κάτω μεριά ακροδεκτών επιτρέπουν την σύνδεση shields όπως ονομάζονται, δηλαδή άλλες πλακέτες με ακροδέκτες που κουμπώνουν πάνω στο Arduino. Για παράδειγμα το shield της φωτογραφίας, είναι άλλη πλακέτα shield που περιλαμβάνει ένα ethernet interface που επιτρέπουν το Arduino να συνδέεται στο ιντερνετ.

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