Πίνακας περιεχομένων:
Βίντεο: Το ενσωματωμένο EEPROM του Arduino σας: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Σε αυτό το άρθρο θα εξετάσουμε την εσωτερική EEPROM στους πίνακες Arduino. Τι είναι ένα EEPROM που μερικοί από εσάς μπορεί να λέτε; Το EEPROM είναι μια ηλεκτρικά διαγραφόμενη προγραμματιζόμενη μνήμη μόνο για ανάγνωση.
Είναι μια μορφή μη πτητικής μνήμης που μπορεί να θυμάται πράγματα με την απενεργοποιημένη ισχύ ή μετά την επαναφορά του Arduino. Η ομορφιά αυτού του είδους μνήμης είναι ότι μπορούμε να αποθηκεύσουμε δεδομένα που παράγονται μέσα σε ένα σκίτσο σε πιο μόνιμη βάση.
Γιατί να χρησιμοποιήσετε την εσωτερική EEPROM; Για καταστάσεις όπου τα δεδομένα που είναι μοναδικά για μια κατάσταση χρειάζονται μια πιο μόνιμη κατοικία. Για παράδειγμα, η αποθήκευση του μοναδικού σειριακού αριθμού και της ημερομηνίας κατασκευής ενός εμπορικού έργου που βασίζεται σε Arduino-μια λειτουργία του σκίτσου θα μπορούσε να εμφανίσει τον σειριακό αριθμό σε μια οθόνη LCD ή τα δεδομένα θα μπορούσαν να διαβαστούν ανεβάζοντας ένα «σκίτσο υπηρεσίας». Or μπορεί να χρειαστεί να μετρήσετε ορισμένα συμβάντα και να μην επιτρέψετε στον χρήστη να τα επαναφέρει-όπως ένα χιλιομετρητή ή μετρητή κύκλου λειτουργίας.
Βήμα 1: Τι είδους δεδομένα μπορούν να αποθηκευτούν;
Οτιδήποτε μπορεί να αναπαρασταθεί ως byte δεδομένων. Ένα byte δεδομένων αποτελείται από οκτώ bits δεδομένων. Ένα bit μπορεί να είναι είτε ενεργοποιημένο (τιμή 1) είτε απενεργοποιημένο (τιμή 0) και είναι ιδανικό για την αναπαράσταση αριθμών σε δυαδική μορφή. Με άλλα λόγια, ένας δυαδικός αριθμός μπορεί να χρησιμοποιεί μόνο μηδενικά και ένα για να αντιπροσωπεύει μια τιμή. Έτσι το δυαδικό είναι επίσης γνωστό ως "βάση-2", καθώς μπορεί να χρησιμοποιήσει μόνο δύο ψηφία.
Πώς μπορεί ένας δυαδικός αριθμός μόνο με τη χρήση δύο ψηφίων να αντιπροσωπεύει έναν μεγαλύτερο αριθμό; Χρησιμοποιεί πολλά και μηδενικά. Ας εξετάσουμε έναν δυαδικό αριθμό, ας πούμε 10101010. Δεδομένου ότι αυτός είναι ένας αριθμός βάσης-2, κάθε ψηφίο αντιπροσωπεύει το 2 στην ισχύ του x, από x = 0 και μετά.
Βήμα 2:
Δείτε πώς κάθε ψηφίο του δυαδικού αριθμού μπορεί να αντιπροσωπεύει έναν αριθμό-10. Έτσι ο δυαδικός αριθμός παραπάνω αντιπροσωπεύει 85 στη βάση-10-η τιμή 85 είναι το άθροισμα των τιμών βάσης-10. Ένα άλλο παράδειγμα - το 11111111 στο δυαδικό ισοδυναμεί με 255 στη βάση 10.
Βήμα 3:
Τώρα κάθε ψηφίο σε αυτόν τον δυαδικό αριθμό χρησιμοποιεί ένα «bit» μνήμης και οκτώ bits κάνουν ένα byte. Λόγω των εσωτερικών περιορισμών των μικροελεγκτών στους πίνακες Arduino, μπορούμε να αποθηκεύσουμε μόνο αριθμούς 8-bit (ένα byte) στο EEPROM.
Αυτό περιορίζει την δεκαδική τιμή του αριθμού να πέσει μεταξύ μηδέν και 255. Στη συνέχεια, εναπόκειται σε εσάς να αποφασίσετε πώς μπορούν να αναπαρασταθούν τα δεδομένα σας με αυτό το εύρος αριθμών. Μην το απογοητεύετε - οι αριθμοί που είναι διατεταγμένοι με τον σωστό τρόπο μπορούν να αντιπροσωπεύουν σχεδόν τα πάντα! Υπάρχει ένας περιορισμός που πρέπει να προσέξουμε - πόσες φορές μπορούμε να διαβάσουμε ή να γράψουμε στην EEPROM. Σύμφωνα με τον κατασκευαστή Atmel, το EEPROM είναι καλό για 100.000 κύκλους ανάγνωσης/εγγραφής (δείτε το φύλλο δεδομένων).
Βήμα 4:
Τώρα γνωρίζουμε τα bits και τα byte μας, πόσα byte μπορούν να αποθηκευτούν στον μικροελεγκτή του Arduino; Η απάντηση ποικίλλει ανάλογα με το μοντέλο του μικροελεγκτή. Για παράδειγμα:
- Πίνακες με Atmel ATmega328, όπως Arduino Uno, Uno SMD, Nano, Lilypad κ.λπ. - 1024 byte (1 κιλομπάιτ)
- Πίνακες με Atmel ATmega1280 ή 2560, όπως η σειρά Arduino Mega - 4096 bytes (4 kilobytes)
- Πίνακες με Atmel ATmega168, όπως το αρχικό Arduino Lilypad, το παλιό Nano, Diecimila κ.λπ. - 512 byte.
Εάν δεν είστε σίγουροι, ρίξτε μια ματιά στο ευρετήριο υλικού Arduino ή ρωτήστε τον προμηθευτή του σκάφους σας. Εάν χρειάζεστε περισσότερο χώρο αποθήκευσης EEPROM από αυτόν που είναι διαθέσιμος στον μικροελεγκτή σας, σκεφτείτε να χρησιμοποιήσετε ένα εξωτερικό I2C EEPROM.
Σε αυτό το σημείο καταλαβαίνουμε τώρα τι είδους δεδομένα και πόσα μπορούν να αποθηκευτούν στο EEPROM του Arduino μας. Τώρα είναι καιρός να το κάνουμε πράξη. Όπως συζητήθηκε προηγουμένως, υπάρχει ένας πεπερασμένος χώρος για τα δεδομένα μας. Στα ακόλουθα παραδείγματα, θα χρησιμοποιήσουμε έναν τυπικό πίνακα Arduino με το ATmega328 με 1024 byte αποθήκευσης EEPROM.
Βήμα 5:
Για να χρησιμοποιήσετε το EEPROM, απαιτείται βιβλιοθήκη, οπότε χρησιμοποιήστε την παρακάτω βιβλιοθήκη στα σκίτσα σας:
#include "EEPROM.h"
Τα υπόλοιπα είναι πολύ απλά. Για να αποθηκεύσουμε ένα κομμάτι δεδομένων, χρησιμοποιούμε την ακόλουθη συνάρτηση:
EEPROM.write (a, b);
Η παράμετρος a είναι η θέση στο EEPROM για την αποθήκευση του ακέραιου (0 ~ 255) δεδομένων β. Σε αυτό το παράδειγμα, έχουμε 1024 byte αποθήκευσης μνήμης, οπότε η τιμή a είναι μεταξύ 0 και 1023. Για να ανακτήσετε ένα κομμάτι δεδομένων είναι εξίσου απλό, χρησιμοποιήστε:
z = EEPROM.read (α);
Όπου το z είναι ακέραιος για την αποθήκευση των δεδομένων από τη θέση EEPROM a. Τώρα για να δείτε ένα παράδειγμα.
Βήμα 6:
Αυτό το σκίτσο θα δημιουργήσει τυχαίους αριθμούς μεταξύ 0 και 255, θα τους αποθηκεύσει στο EEPROM και μετά θα τους ανακτήσει και θα τους εμφανίσει στη σειριακή οθόνη. Η μεταβλητή EEsize είναι το ανώτατο όριο του μεγέθους EEPROM, οπότε (για παράδειγμα) αυτό θα είναι 1024 για Arduino Uno ή 4096 για Mega.
// Arduino εσωτερική επίδειξη EEPROM
#περιλαμβάνω
int zz; int EEsize = 1024; // μέγεθος σε byte του EEPROM του πίνακα σας
void setup ()
{Serial.begin (9600); randomSeed (analogRead (0)); } void loop () {Serial.println ("Γράφοντας τυχαίους αριθμούς …"); για (int i = 0; i <EEsize; i ++) {zz = random (255); EEPROM.write (i, zz); } Serial.println (); για (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("θέση EEPROM:"); Serial.print (a); Serial.print ("περιέχει"); Serial.println (zz); καθυστέρηση (25)? }}
Θα εμφανιστεί η έξοδος από τη σειριακή οθόνη, όπως φαίνεται στην εικόνα.
Ορίστε λοιπόν, ένας άλλος χρήσιμος τρόπος αποθήκευσης δεδομένων με τα συστήματά μας Arduino. Αν και δεν είναι το πιο συναρπαστικό σεμινάριο, είναι σίγουρα χρήσιμο.
Αυτή η ανάρτηση σας έφερε το pmdway.com - τα πάντα για κατασκευαστές και λάτρεις των ηλεκτρονικών ειδών, με δωρεάν παράδοση σε όλο τον κόσμο.
Συνιστάται:
Η μέτρηση του καρδιακού ρυθμού σας βρίσκεται στην άκρη του δακτύλου σας: Προσέγγιση φωτοπληθυσμογραφίας για τον προσδιορισμό του καρδιακού ρυθμού: 7 βήματα
Η μέτρηση του καρδιακού ρυθμού σας βρίσκεται στην άκρη του δακτύλου σας: Προσέγγιση φωτοπληθυσμογραφίας για τον προσδιορισμό του καρδιακού ρυθμού: Ο φωτοπληθυσμογράφος (PPG) είναι μια απλή και χαμηλού κόστους οπτική τεχνική που χρησιμοποιείται συχνά για τον εντοπισμό αλλαγών στον όγκο αίματος σε μια μικροαγγειακή κλίνη ιστού. Χρησιμοποιείται κυρίως μη επεμβατικά για την πραγματοποίηση μετρήσεων στην επιφάνεια του δέρματος, συνήθως
ESP32 Φροντιστήριο Bluetooth - Πώς να χρησιμοποιήσετε το ενσωματωμένο Bluetooth του ESP32: 5 βήματα
ESP32 Μαθήματα Bluetooth | Πώς να χρησιμοποιήσετε το ενσωματωμένο Bluetooth του ESP32: Γεια σας παιδιά, επειδή ο πίνακας ESP32 συνοδεύεται από WiFi & Bluetooth και τα δύο αλλά για τα περισσότερα έργα μας συνήθως χρησιμοποιούμε μόνο Wifi, δεν χρησιμοποιούμε Bluetooth. Έτσι σε αυτά τα εγχειρίδια θα δείξω πόσο εύκολη είναι η χρήση Bluetooth του ESP32 & Για τα βασικά σας έργα
Εγκατάσταση του Raspbian στο Raspberry Pi 3 B χωρίς HDMI - Ξεκινώντας με το Raspberry Pi 3B - Ρύθμιση του Raspberry Pi σας 3: 6 βήματα
Εγκατάσταση του Raspbian στο Raspberry Pi 3 B χωρίς HDMI | Ξεκινώντας με το Raspberry Pi 3B | Ρύθμιση του Raspberry Pi 3: Όπως γνωρίζετε μερικοί από εσάς, οι υπολογιστές Raspberry Pi είναι φοβεροί και μπορείτε να αποκτήσετε ολόκληρο τον υπολογιστή μόνο σε έναν μικρό πίνακα. Το Raspberry Pi 3 Model B διαθέτει τετραπύρηνο 64-bit ARM Cortex A53 χρονισμένο στα 1,2 GHz. Αυτό θέτει το Pi 3 περίπου 50
Καθαρισμός του συστήματος ψύξης του φορητού σας υπολογιστή: 3 βήματα (με εικόνες)
Καθαρισμός του συστήματος ψύξης του φορητού σας υπολογιστή: Ο κύριος υπολογιστής μου είναι hp zv5000 - χρησιμοποιεί δύο σωλήνες θερμότητας με ψύκτρα και δύο ανεμιστήρες για να ψύξει τον επεξεργαστή. Μέσω της χρήσης, αυτοί οι θερμοσίφωνες (χαλκός;) και οι σωλήνες συλλέγουν αρκετή σκόνη μειώνοντας την ψυκτική ικανότητα του μηχανήματος. Αν δεν έχετε
Χρήση του PSP ως Joystick του υπολογιστή και στη συνέχεια έλεγχος του υπολογιστή σας με το PSP: 5 βήματα (με εικόνες)
Χρήση του PSP ως Joystick του υπολογιστή και στη συνέχεια έλεγχος του υπολογιστή σας με το PSP: Μπορείτε να κάνετε πολλά ωραία πράγματα με το PSP homebrew και σε αυτό το εκπαιδευτικό πρόγραμμα θα σας μάθω πώς να χρησιμοποιείτε το PSP σας ως χειριστήριο για παιχνίδια, αλλά υπάρχει επίσης ένα πρόγραμμα που σας επιτρέπει να χρησιμοποιείτε το joystick ως ποντίκι. Εδώ είναι η μητέρα