Πίνακας περιεχομένων:
Βίντεο: Προσθήκη 24LC256 EEPROM στο Arduino due: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Στο arduino δεν υπάρχει eeprom. Αυτό το εκπαιδευτικό προσθέτει ένα και σας επιτρέπει να αποθηκεύσετε τιμές σε μη πτητική μνήμη που θα επιβιώσουν από μια ενημέρωση υλικολογισμικού arduino.
Βήμα 1: Breadboarding
Υπάρχουν μερικές πολύ καλές οδηγίες εδώ: https://www.hobbytronics.co.uk/arduino-external-eeprom Μόλις τις ακολούθησα. Η φωτογραφία δείχνει το κύκλωμα του breadboarded. οι ακίδες 1 έως 4 και ο πείρος 7 είναι γειωμένοι. Ο πείρος 8 είναι συνδεδεμένος με την τροφοδοσία 3.3V στον οφειλόμενο πίνακα. Τα κίτρινα (pin 6) και τα λευκά (pin 5) καλώδια συνδέονται με τις καρφίτσες i2c SDA (δεδομένα) και SCL (ρολόι) στον οφειλόμενο πίνακα (αριθμημένοι 21 και 20).
Βήμα 2: Χρόνος κωδικού
Ακολουθούν μερικά αποσπάσματα κώδικα που χρησιμοποιώ στα σκίτσα μου. Πρώτον, συμπεριλάβετε τις κεφαλίδες της βιβλιοθήκης Wire κάπου κοντά στην κορυφή του σκίτσου σας: / * Χρησιμοποιήστε το 24LC256 EEPROM για να αποθηκεύσετε τις ρυθμίσεις * / #include Στη συνέχεια προσθέστε μερικές λειτουργίες για ανάγνωση και εγγραφή byte από το EEPROM (με ενδιαφέρουν μόνο τα μεμονωμένα byte, αλλά υπάρχει δυνατότητα εγγραφής σελίδας και στο τσιπ). Σημειώστε ότι υπάρχει μακροεντολή 0x50.. αυτή είναι η διεύθυνση του τσιπ στο δίαυλο i2c (μπορείτε να συνδέσετε περισσότερα από ένα πράγματα i2c σε ένα δίαυλο i2c και να επιλέξετε σε ποια θέλετε να μιλήσετε αλλάζοντας τη διεύθυνση). / * Αυτές οι δύο συναρτήσεις μας βοηθούν να γράψουμε στο τσιπ 24LC256 EEPROM */ #define EEPROM_ADDR 0x50 void EEPROM_write (unsigned int addr, byte data) {int rdata = data; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.write (rdata); Wire.endTransmission (); //Serial.print("EEPROM write: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println (δεδομένα); καθυστέρηση (5)? } byte EEPROM_read (unsigned int addr) {byte data = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Wire.requestFrom (EEPROM_ADDR, 1); if (Wire.available ()) data = Wire.read (); //Serial.print("EEPROM read: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println (δεδομένα); καθυστέρηση (5)? επιστροφή δεδομένων? } Μπορείτε να αποσυνδέσετε τις γραμμές Serial.print (…) εάν θέλετε να δείτε κάποια έξοδο εντοπισμού σφαλμάτων. Στη λειτουργία εγκατάστασης arduinos () ξεκινάτε τη βιβλιοθήκη καλωδίων και μπορείτε να διαβάσετε σε αρχικές τιμές. Εδώ διαβάζω σε δύο byte (σημαίες και max_cc), δύο λέξεις (lean_min και lean_max) και έναν πίνακα λέξεων sd_max [3]: // διαβάζω τιμές αποθηκευμένες στο EEPROM Wire.begin (); σημαίες = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = λέξη (EEPROM_read (3), EEPROM_read (2)); lean_max = λέξη (EEPROM_read (5), EEPROM_read (4)); για (int j = 0; j <3; j) {sd_max [j] = λέξη (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } Ακολουθεί ένα κομμάτι κώδικα που τα γράφει στο EEPROM: EEPROM_write (0, σημαίες). EEPROM_write (1, max_cc); EEPROM_write (2, lowByte (lean_min)); EEPROM_write (3, highByte (lean_min)); EEPROM_write (4, lowByte (lean_max)); EEPROM_write (5, highByte (lean_max)); για (int j = 0; j <3; j) {EEPROM_write (6 j*2, lowByte (sd_max [j])); EEPROM_write (7 j*2, highByte (sd_max [j])); } Αυτό είναι πραγματικά.
Βήμα 3: Συνδέστε το
Συνδέστε το σε κάποιο χαρτόνι για να βιδωθεί σε ένα περίβλημα και οι εργασίες έχουν γίνει.
Συνιστάται:
Προσθήκη Aux στο Sonos χρησιμοποιώντας Raspberry Pi: 26 βήματα (με εικόνες)
Προσθήκη Aux στο Sonos χρησιμοποιώντας Raspberry Pi: Πάντα με γοήτευε το Raspberry Pi αλλά ποτέ δεν είχα πραγματική ανάγκη για ένα μέχρι τώρα. Έχουμε τρία εξαρτήματα Sonos στο σπίτι μας: Ένα Play 5 στο σαλόνι, ένα Play 3 στο υπνοδωμάτιο και ένα Sonos CONNECT: AMP που τροφοδοτεί εξωτερικά ηχεία στα
Προσθήκη νέων βιβλιοθηκών στο KICAD: 6 βήματα
Προσθήκη νέων βιβλιοθηκών στο KICAD: Το KiCad είναι μια δωρεάν σουίτα λογισμικού για αυτοματοποίηση ηλεκτρονικού σχεδιασμού (EDA). Διευκολύνει τον σχεδιασμό σχηματικών για ηλεκτρονικά κυκλώματα και τη μετατροπή τους σε σχέδια PCB. Διαθέτει ενσωματωμένο περιβάλλον για σχηματική λήψη και διάταξη PCB για
Τροποποίηση στο Left Handed DSLR Holder του Bertus52x11. (με προσθήκη λαβής στο στόμα): 4 βήματα
Τροποποίηση στο αριστερόχειρο κάτοχο DSLR του Bertus52x11. (με προσθήκη στόματος): Νωρίτερα σήμερα το bertus52x11 δημοσίευσε την πιο έξυπνη ιδέα. Απευθύνεται σε άτομα που χρησιμοποιούν μόνο το αριστερό τους χέρι - μόνιμα ή χρονικά. Η αρχική του ιδέα ήταν να προσθέσει ένα γάντζο αντίχειρα στον σύνδεσμο τρίποδου από κάτω, επιτρέποντας στην κάμερα να κρατηθεί
RaspberryPi 3/4 Extension Board για προσθήκη επιπλέον δυνατοτήτων στο Raspberry Pi: 15 βήματα (με εικόνες)
Πίνακας επέκτασης RaspberryPi 3/4 για προσθήκη επιπλέον δυνατοτήτων στο Raspberry Pi: γνωρίζουμε ότι το raspberry pi 3/4 δεν διαθέτει ενσωματωμένο ADC (μετατροπέα αναλογικού σε ψηφιακό) και RTC (ρολόι πραγματικού χρόνου), οπότε σχεδιάζω ένα PCB που περιέχει 16 κανάλι 12bit ADC, RTC, μονάδα SIM7600 4G, κουμπιά, ρελέ, τροφοδοσία USB, έξοδο 5V, τροφοδοσία 12V
Προσθήκη προσαρμοσμένων πινάκων στο Arduino IDE: 3 βήματα
Προσθήκη προσαρμοσμένων πινάκων στο Arduino IDE: Η έκδοση 1.6.4 του Arduino IDE παρουσίασε επίσημη υποστήριξη για την προσθήκη πινάκων συμβατών με arduino τρίτων στο Arduino Board Manager. Αυτή η υποστήριξη της προσθήκης είναι μια μεγάλη είδηση, επειδή επιτρέπει στους χρήστες να προσθέτουν γρήγορα προσαρμοσμένους πίνακες με ένα μόνο κλικ