Γνωριμία με την πλακέτα Arduino nano

Γνωριμία με την πλακέτα Arduino nano

Το arduino nano είναι μια πλακέτα μικροελεγκτή που αναπτύχθηκε από την εταιρεία Arduino και βασίζεται στο μικροελεγκτή ATMEGA328P. Το Arduino nano χρησιμοποιείται ευρέως σε κατασκευές ρομποτικής, αυτοματισμούς και εφαρμογές Internet of Things (IoT).

Κύρια Χαρακτηριστικά του Arduino Nano

  • Microcontroller: ATmega328p
  • Τάση λειτουργίας: 5V
  • Τάση εισόδου: 7-12V
  • Τάση εισόδου (όριο): 6-20V
  • Digital I/O Pins: 14 (εκ των οποίων 6 περιέχουν PWM  εξόδους)
  • Analog Input Pins: 8
  • DC ένταση ρεύματος I/O Pin: 40 mA
  • DC ένταση ρεύματος για 3.3V Pin: 50 mA
  • Flash Memory: 32 KB εκ των οποίων 0,5 KB χρησιμοποιείται από τον bootloader
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Clock Speed: 16 MHz

Γενικά

Η καρδιά του Arduino Nano είναι φυσικά ένας μικροεπεξεργαστής. Αυτός είναι το «μυαλό» του Arduino και είναι προγραμματιζόμενος ώστε να ελέγχει τα 14 ψηφιακά input/output pins και τα 8 αναλογικά που υπάρχουν πάνω στην πλακέτα ανάπτυξης. Δια μέσου αυτών των 22 pins γίνονται όλες οι διασυνδέσεις με εξωτερικά στοιχεία (κινητήρες, LEDs, LCD οθόνες κλπ) και αισθητήρες (Ultrasonic, θερμόμετρα, accelometers κ.α).

Στην πλακέτα ανάπτυξης υπάρχει μια θύρα mini USB. Μέσω αυτής γίνεται η μεταφορά δεδομένων από αυτήν προς κάποια άλλη συσκευή, συνήθως έναν υπολογιστή, και το αντίστροφο. Ωστόσο, η κύρια χρήση στα αρχικά στάδια εκμάθησης είναι η μεταφορά του προγράμματος από τον υπολογιστή στον μικροεπεξεργαστή αλλά και η οπτικοποίηση (μέσω της σειριακής οθόνης του arduino IDE) των δεδομένων που απορρέουν από την λειτουργία της συσκευής μετά από το προγραμματισμό.

Ψηφιακοί και αναλογικοί ακροδέκτες του Arduino uno

Το Arduino nano έχει 14 ψηφιακούς ακροδέκτες οι οποίοι μπορούν να τεθούν ως είσοδοι ή ως έξοδοι με τις κατάλληλες εντολές. Λειτουργούν στα 5 Volts και έχουν την δυνατότητα να παρέχουν ή να καταβυθίζουν ένταση της τάξεως των 40mA. Σε κάθε pin υπάρχει εσωτερικά ένας Pull-up αντιστάτης στα 20-50KΩ. Επιπλέον, έχει 8 αναλογικούς ακροδέκτες Εισόδου. Αυτοί μπορούν να διαβάσουν αναλογικές τιμές όπως η τάση μιας μπαταρίας κτλ και να τις μετατρέψουν σε έναν αριθμό από 0-1023. Η μέτρηση της τάσης γίνεται από προεπιλογή από 0 έως 5 volts. Εκτός αυτού, 6 εκ των 14 ψηφιακών ακροδεκτών οι D3, D5, D6, D9, D10 και D11 έχουν την δυνατότητα να προγραμματιστούν ώστε να λειτουργούν ως αναλογικές Έξοδοι.

Κάποιοι ακροδέκτες έχουν συγκεκριμένες λειτουργίες.

  •  Σειριακή Λειτουργία: Οι ακροδέκτες 0 (RX) και 1 (TX) χρησιμοποιούνται για λήψη (RX) και εκπομπή (TX) TTL σειριακών δεδομένων.
  •  Εξωτερικές Διακοπές: 2 και 3. Αυτοί οι ακροδέκτες μπορούν να ενεργοποιούν διακοπές αν ανιχνευθεί παλμός χαμηλής τάσης. Με την συνάρτηση attachInterrupt(). , 1.
  •  PWM: Οι ακροδέκτες 3, 5, 6, 9, 10, και 11 παρέχουν Έξοδο 8-bit PWM με την συνάρτηση analogWrite().
  •  SPI: Οι ακροδέκτες 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) επιτρέπουν σειριακή επικοινωνία με το πρωτόκολλο SPI.
  •  I2C: Οι ακροδέκτες A4 (SDA), A5 (SCL) επιτρέπουν σειριακή επικοινωνία με το πρωτόκολλο I2C
  • LED 13: Στον ακροδέκτη 13 συνδέεται ένα LED το οποίο ανάβει όταν ο ακροδέκτης έχει τιμή HIGH. 

Σειριακή Θύρα

Χρησιμοποιείται για την επικοινωνία μεταξύ της πλατφόρμας Arduino και ενός υπολογιστή ή με άλλες συσκευές. Επομένως, όλες οι πλακέτες έχουν τουλάχιστον μια σειριακή θύρα. Επικοινωνεί με τις ψηφιακές ακίδες 0 (RX) και 1 (TX), καθώς και με τον υπολογιστή μέσω USB. Έτσι, εάν χρησιμοποιείται αυτή η λειτουργία(USB), δεν μπορούν ταυτόχρονα να χρησιμοποιηθούν οι ακίδες 0 και 1 για ψηφιακή είσοδο ή έξοδο.

 Αξίζει να αναφερθεί ότι  στο περιβάλλον IDE του Arduino, υπάρχει ενσωματωμένη σειριακή οθόνη (serial monitor) που μπορεί να χρησιμοποιηθεί για να απεικονίζει δεδομένα που αποστέλλονται από την πλακέτα Arduino.

Βασικές μνήμες

Οι πλατφόρμες Arduino διαθέτουν τρείς βασικές μνήμες:

  •  Flash memory (32 Kbytes) στην οποία τοποθετείται κάθε φορά το πρόγραμμα που πρόκειται να εκτελεστεί καθώς και ο φορτωτής εκκίνησης (bootloader) που διευκολύνει την διαδικασία του προγραμματισμού της πλατφόρμας.
  •  SRAM memory (στατική μνήμη τυχαίας προσπέλασης των 2 KBytes) η οποία χρησιμοποιείται για την προσωρινή αποθήκευση των στατικών και των μεταβλητών δεδομένων του προγράμματος που εκτελείται.
  •  ΕEPROM memory (1 Kbytes) στην οποία αποθηκεύονται οι τιμές των μεταβλητών όταν η πλατφόρμα σβήσει(OFF). Χρησιμοποιείται για την αποθήκευση ρυθμίσεων και άλλων παραμέτρων ανάμεσα στα Reset του Arduino.

Η μνήμη Flash και η μνήμη ΕEPROM είναι μη πρόσκαιρες μνήμες  (δηλ. τα δεδομένα διατηρούνται μετά την απενεργοποίησης της τροφοδοσίας). Η μνήμη SRAM είναι πρόσκαιρη μνήμη και οι πληροφορίες χάνονται όταν διακόπτεται η τροφοδοσία.

Επειδή η μνήμη SRAM δεν είναι πολύ μεγάλη, αν γεμίσει, το πρόγραμμα μπορεί να αποτύχει με απροσδόκητο τρόπο. Μπορεί να φαίνεται ότι φορτώνει με επιτυχία, αλλά δεν τρέχει, ή τρέχει με λάθη. Για να ελεγχθεί εάν αυτό συμβαίνει, μπορούν να μειωθούν τα σχόλια ή οι σειρές ή άλλες δομές δεδομένων στο πρόγραμμα (χωρίς να αλλάξει ο κώδικας). Εάν λειτουργεί με επιτυχία στη συνέχεια, κατά πάσα πιθανότητα έχει εξαντληθεί η SRAM. Ένας τρόπος για να αντιμετωπιστεί αυτό το πρόβλημα είναι αν υπάρχουν πίνακες αναζήτησης ή άλλοι μεγάλοι πίνακες, τότε μπορεί να χρησιμοποιηθεί ο μικρότερος τύπος δεδομένων που είναι αναγκαίος για να αποθηκευτούν οι τιμές που χρειάζονται.

Τροφοδοσία

 Το Arduino Nano τροφοδοτείται, είτε από εξωτερική τροφοδοσία είτε απευθείας από την θύρα USB του υπολογιστή. H επιλογή της πηγής γίνεται αυτόματα από το αναπτυξιακό. Ως εξωτερική τροφοδοσία ορίζεται είτε μια μπαταρία, είτε τροφοδοτικό 7-12 volts. Η εξωτερική τροφοδοσία συνδέεται στους ακροδέκτες του Arduino Vin και GND όπου τοποθετούνται ο θετικός πόλος και ο αρνητικός αντίστοιχα.

Η πλακέτα μπορεί να λειτουργήσει με εξωτερική πηγή από 6 έως 20 Volts. Αν ωστόσο τροφοδοτηθεί με λιγότερα από 7 Volt τα pin εξόδου 5Volt δεν θα καταφέρουν να εξάγουν τάση 5 Volts. Αντίθετα, αν δώσουμε πάνω από 12 Volts θα υπερθερμανθεί ο σταθεροποιητής τάσης στην πλακέτα και ενδεχομένως να καταστραφεί. Συνεπώς, μια ιδανική τάση είναι τα 9 Volts.

Οι ακροδέκτες τροφοδοσίας είναι οι εξής:

VIN: Ακροδέκτης για 7-12 volts τάση. Συνήθως εδώ συνδέεται μια εξωτερική πηγή τροφοδοσίας.

5V: Ακροδέκτης σταθεροποιημένης τάσης 5Volt. Μπορεί να τροφοδοτήσει εξωτερικές συσκευές του κυκλώματος που δεν έχουν μεγάλες απαιτήσεις σε ρεύμα.

3V3: Μπορεί να τροφοδοτήσει εξωτερικές συσκευές του κυκλώματος με τάση 3,3 volts. Μέγιστη ένταση ρεύματος 50mA.

GND: Ακροδέκτες γείωσης.