Πίνακας περιεχομένων:

Arduino EEPROM Ρυθμίσεις Αρχικοποίηση: 5 Βήματα
Arduino EEPROM Ρυθμίσεις Αρχικοποίηση: 5 Βήματα

Βίντεο: Arduino EEPROM Ρυθμίσεις Αρχικοποίηση: 5 Βήματα

Βίντεο: Arduino EEPROM Ρυθμίσεις Αρχικοποίηση: 5 Βήματα
Βίντεο: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, Νοέμβριος
Anonim
Image
Image
Τι είναι το EEPROM
Τι είναι το EEPROM

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

Βήμα 1: Τι είναι το EEPROM;

Τι είναι το EEPROM
Τι είναι το EEPROM

Το EEPROM είναι ένας μικρός αποθηκευτικός χώρος μνήμης, οι τιμές του οποίου διατηρούνται ακόμη και όταν ο πίνακας Arduino είναι απενεργοποιημένος. Λειτουργεί σαν ένας μικροσκοπικός σκληρός δίσκος, ώστε να μπορείτε να αποθηκεύσετε τις παραμέτρους σας για την επόμενη φορά που θα ενεργοποιήσετε τη συσκευή. Ανάλογα με τον τύπο του πίνακα Arduino, θα έχετε διαφορετικό διαθέσιμο χώρο αποθήκευσης σε κάθε ένα, έτσι για παράδειγμα το Uno έχει 1024 byte, το Mega έχει 4096 byte και το LilyPad έχει 512 byte.

Είναι σημαντικό να σημειωθεί ότι όλα τα EEPROM έχουν περιορισμένο αριθμό κύκλων εγγραφής. Το Atmel καθορίζει ένα προσδόκιμο ζωής περίπου 100 000 κύκλων εγγραφής/διαγραφής για το EEPROM στο Arduino. Αυτό μπορεί να ακούγεται σαν πολλά γράμματα, αλλά μπορεί να είναι εύκολο να φτάσετε σε αυτό το όριο εάν διαβάζετε και γράφετε σε ένα βρόχο. Μόλις μια τοποθεσία έχει γραφτεί και διαγραφεί πάρα πολλές φορές, μπορεί να αρχίσει να γίνεται αναξιόπιστη. Ενδέχεται να μην επιστρέψει τα σωστά δεδομένα ή να επιστρέψει την τιμή από ένα γειτονικό bit.

Βήμα 2: Εισαγάγετε τη βιβλιοθήκη

Εισαγωγή της Βιβλιοθήκης
Εισαγωγή της Βιβλιοθήκης
Εισαγωγή της Βιβλιοθήκης
Εισαγωγή της Βιβλιοθήκης
Εισαγωγή της Βιβλιοθήκης
Εισαγωγή της Βιβλιοθήκης

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

Στο παράδειγμά μας, ο στόχος είναι να έχουμε μια σειρά ρυθμίσεων έτοιμη σε κάθε εκκίνηση του Arduino, οπότε ξεκινάμε καθορίζοντας τον πίνακα που θα χρησιμοποιήσουμε για την αποθήκευση και καθορίζοντας τις διευθύνσεις για κάθε μία από τις ρυθμίσεις που θέλουμε να αποθηκεύσουμε. Σε ένα τσιπ όπου έχουμε 1024 byte διαθέσιμα, οι τοποθεσίες διευθύνσεων θα είναι από 0 έως 1023.

Βήμα 3: Ορίστε τη σημαία αρχικοποίησης

Ορίστε τη σημαία αρχικοποίησης
Ορίστε τη σημαία αρχικοποίησης

Το κόλπο για την αρχική ρύθμιση των προεπιλεγμένων τιμών για τις ρυθμίσεις είναι να χρησιμοποιήσετε μία από τις διευθύνσεις ως δείκτη εάν οι ρυθμίσεις έχουν αρχικοποιηθεί ή όχι. Έχω χρησιμοποιήσει την τελευταία διεύθυνση διεύθυνσης για αυτό καθώς συχνά δεν χρησιμοποιείται για τίποτα άλλο. Η λειτουργία loadSettings θα ελέγξει πρώτα αυτήν τη θέση εάν η αποθηκευμένη τιμή είναι χαρακτήρας "T" και αν όχι, θα μεταβεί στη ρύθμιση, γράφοντας τις αρχικές τιμές για καθένα από αυτά. Μόλις τελειώσει, τώρα θα ορίσει την τιμή της τοποθεσίας όπου παρακολουθούμε τις αρχικοποιημένες ρυθμίσεις στον χαρακτήρα "T" και την επόμενη φορά που θα ενεργοποιήσουμε το Arduino, δεν θα κάνουμε πλέον εκκίνηση των τιμών, αλλά αντίθετα θα διαβάσουμε τα αποθηκευμένα δεδομένα σε η συστοιχία μας.

Βήμα 4: Ενημέρωση ρυθμίσεων

Ενημέρωση ρυθμίσεων
Ενημέρωση ρυθμίσεων

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

Βήμα 5: Απολαύστε

Απολαμβάνω!
Απολαμβάνω!
Απολαμβάνω!
Απολαμβάνω!

Ελπίζω ότι αυτό το Instructable ήταν χρήσιμο για εσάς και ότι καταφέρατε να μάθετε κάτι. Ο πηγαίος κώδικας είναι διαθέσιμος στη σελίδα μου στο GitHub και ο σύνδεσμος είναι παρακάτω. Εάν έχετε οποιεσδήποτε προτάσεις, αφήστε τις στα σχόλια και μην ξεχάσετε να εγγραφείτε στο κανάλι μου στο YouTube για περισσότερα παρόμοια βίντεο.

Συνιστάται: