Taula de continguts:
Vídeo: Afegir una EEPROM 24LC256 a l'Arduino Due: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
L’arduino degut no té eeprom. Aquesta instrucció n'afegeix un i us permet emmagatzemar valors en memòria no volàtil que sobreviurà a una actualització de microprogramari arduino.
Pas 1: Taulers de revisió
Hi ha algunes instruccions molt bones aquí: https://www.hobbytronics.co.uk/arduino-external-eeprom Acabo de seguir-les. La foto mostra el circuit de panells. els pins 1 a 4 i el pin 7 estan connectats a terra. el pin 8 està connectat al subministrament de 3,3 V del tauler degut. Els cables groc (pin 6) i blanc (pin 5) es connecten als pins SD2 (dades) i SCL (rellotge) i2c del tauler degut (numerats 21 i 20)).
Pas 2: temps de codi
Aquests són alguns fragments de codi que faig servir als meus esbossos. En primer lloc, incloeu les capçaleres de la biblioteca de filferro en algun lloc proper a la part superior del vostre esbós: / * Utilitzeu 24LC256 EEPROM per desar la configuració * / #include. A continuació, afegiu algunes funcions per llegir i escriure bytes de l'EEPROM (només em preocupen els bytes individuals, funció d’escriptura de pàgina al xip també). Tingueu en compte que hi ha una definició de macro de 0x50.. aquesta és l’adreça del xip al bus i2c (podeu connectar més d’un cos i2c en un bus i2c i seleccionar amb quin voleu parlar canviant l’adreça). / * Aquestes dues funcions ens ajuden a escriure al xip EEPROM 24LC256 * / #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(dades); retard (5); } byte EEPROM_read (int signr addr) {dades de bytes = 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 llegeix: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(dades); retard (5); retornar dades; } Podeu descomentar les línies Serial.print (…) si voleu veure una sortida de depuració. A la funció d'arduinos setup () s'inicia la biblioteca de cables i es pot llegir els valors inicials. Aquí he llegit en dos bytes (flags i max_cc), dues paraules (lean_min i lean_max) i una matriu de paraules sd_max [3]: // he llegit els valors guardats a l'EEPROM Wire.begin (); flags = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = paraula (EEPROM_read (3), EEPROM_read (2)); lean_max = paraula (EEPROM_read (5), EEPROM_read (4)); per a (int j = 0; j <3; j) {sd_max [j] = paraula (EEPROM_read (7 j * 2), EEPROM_read (6 j * 2)); } Aquí teniu el bit de codi que els escriu a EEPROM: EEPROM_write (0, flags); 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)); for (int j = 0; j <3; j) {EEPROM_write (6 j * 2, lowByte (sd_max [j])); EEPROM_write (7 j * 2, highByte (sd_max [j])); } Això és tot.
Pas 3: connecteu-lo
Connecteu-lo a un taulell per fixar-lo en un recinte i fer les feines.
Recomanat:
Afegir una pantalla digital a un receptor de comunicacions antic: 6 passos (amb imatges)
Afegir una pantalla digital a un receptor de comunicacions antic: una de les mancances de l’ús d’un equip de comunicacions més antic és el fet que el dial analògic no és molt precís. Sempre endevines la freqüència que reps. A les bandes AM o FM, generalment no és un problema perquè normalment
Com afegir una pantalla de tinta electrònica al vostre projecte: 12 passos (amb imatges)
Com afegir una pantalla de tinta electrònica al vostre projecte: molts projectes impliquen el control d'algun tipus de dades, com ara dades ambientals, sovint utilitzant un Arduino per al control. En el meu cas, volia controlar el nivell de sal del descalcificador. És possible que vulgueu accedir a les dades a través de la vostra xarxa domèstica
Afegir una funció de càrrega ràpida a un Powerbank: 5 passos (amb imatges)
Afegir una funció de càrrega ràpida a un Powerbank: en aquest projecte us mostraré com he modificat un powerbank comú per reduir el seu temps de càrrega ridículament llarg. Al llarg del camí parlaré del circuit del powerbank i de per què la bateria del meu powerbank és una mica especial. Anem a c
Afegir una línia a un Boombox amb un reproductor de cinta: 5 passos
Afegir una línia a un Boombox amb un reproductor de cinta: ** Igual que amb tots els instructius, us poseu el vostre article / salut / qualsevol cosa a les vostres mans quan ho intenteu. Tingueu en compte els voltatges alts de la placa principal, el soldador en calent, etc. Si teniu cura i paciència, obtindreu èxit. ** Th
Com afegir una biblioteca externa a Arduino: 3 passos
Com afegir una biblioteca externa a Arduino: la biblioteca proporciona funcions addicionals per a l'esbós que hem fet. Aquestes funcions ens poden ajudar a facilitar els esbossos. Hi ha moltes biblioteques que podem utilitzar. Biblioteca predeterminada o biblioteca externa d'Arduino IDE creada per algú o una comunitat. En aquest