Sommario:
Video: Aggiungere una EEPROM 24LC256 ad Arduino Due: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
L'arduino due manca di eeprom. Questo istruibile ne aggiunge uno e ti consente di memorizzare i valori in una memoria non volatile che sopravviverà a un aggiornamento del firmware arduino.
Passaggio 1: breadboard
Ci sono alcune ottime istruzioni qui: https://www.hobbytronics.co.uk/arduino-external-eeprom Le ho appena seguite. La foto mostra il circuito breadboard. i pin da 1 a 4 e il pin 7 sono messi a terra. il pin 8 è collegato all'alimentazione a 3,3 V sulla scheda due. I fili giallo (pin 6) e bianco (pin 5) collegati ai pin i2c SDA (dati) e SCL (orologio) sulla scheda due (numerati 21 e 20).
Passaggio 2: codice ora
Ecco alcuni frammenti di codice che uso nei miei schizzi. Innanzitutto, includi le intestazioni della libreria Wire da qualche parte vicino alla parte superiore del tuo schizzo: /* Usa EEPROM 24LC256 per salvare le impostazioni */ #include Quindi aggiungi alcune funzioni per leggere e scrivere byte dall'EEPROM (mi interessa solo i singoli byte ma c'è un funzione di scrittura della pagina anche nel chip). Nota che c'è una definizione macro di 0x50.. questo è l'indirizzo del chip sul bus i2c (puoi collegare più di un oggetto i2c su un bus i2c e selezionare con quale vuoi parlare cambiando l'indirizzo). /* Queste due funzioni ci aiutano a scrivere sul chip 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("Scrittura EEPROM: addr: "); //Serial.print(addr); //Serial.print(" "); //Serial.println(data); ritardo(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(data); ritardo(5); restituire i dati; } Puoi decommentare le righe Serial.print(…) se vuoi vedere qualche output di debug. Nella funzione arduinos setup() si avvia la libreria wire e si possono leggere i valori iniziali. Qui leggo in due byte (flag e max_cc), due parole (lean_min e lean_max) e un array di parole sd_max[3]: // leggo i valori salvati nella EEPROM Wire.begin(); flags=EEPROM_read(0); max_cc=EEPROM_read(1); lean_min=word(EEPROM_read(3), EEPROM_read(2)); lean_max=word(EEPROM_read(5), EEPROM_read(4)); for(int j=0;j<3;j) { sd_max[j]=word(EEPROM_read(7 j*2), EEPROM_read(6 j*2)); } Ecco il bit di codice che li scrive nella 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])); } Questo è davvero tutto.
Passaggio 3: collegalo
Collegalo a una veroboard per avvitarlo in un recinto e il lavoro è fatto.
Consigliato:
Come creare e inserire una tabella e aggiungere colonne e/o righe aggiuntive a quella tabella in Microsoft Office Word 2007: 11 passaggi
Come creare e inserire una tabella e aggiungere colonne e/o righe aggiuntive a quella tabella in Microsoft Office Word 2007: hai mai avuto molti dati con cui stai lavorando e hai pensato a te stesso… "come posso fare tutto di questi dati ha un aspetto migliore ed è più facile da capire?" In tal caso, una tabella in Microsoft Office Word 2007 potrebbe essere la tua risposta
Come aggiungere una serratura di metallo ai tuoi Joycon: 8 passaggi
Come aggiungere una serratura di metallo ai tuoi Joycon: Per fare questo progetto ho usato questo prodotto https://www.amazon.es/dp/B07Q34BL8P?ref=ppx_pop_mo…ma ci sono molti altri prodotti che potresti acquistare e potresti o non potrebbe essere più economico a seconda di dove vivi per i prezzi di spedizione. In questo istruibile
Come aggiungere una batteria ricaricabile al multimetro [HAcked]!!: 9 passaggi
Come aggiungere una batteria ricaricabile al multimetro [HAcked]!!: Il multimetro è un ottimo strumento quando sei un appassionato di elettronica o un professionista, ma è un compito molto noioso cambiare la batteria e, a volte, se lo lasci acceso abbastanza molto tempo (hai appena bevuto troppo e hai dimenticato di spegnere il met
Come aggiungere una libreria esterna ad Arduino: 3 passaggi
Come aggiungere una libreria esterna ad Arduino: La libreria fornisce funzioni aggiuntive per lo schizzo che abbiamo realizzato. Queste funzioni possono aiutarci a rendere gli schizzi più facili. Ci sono molte librerie che possiamo usare. Libreria predefinita di Arduino IDE o libreria esterna creata da qualcuno o da una comunità. In questo
Come aggiungere un indicatore a una mappa CRPSHARE (CommunityWalk): 20 passaggi
Come aggiungere un indicatore a una mappa CRPSHARE (CommunityWalk): questa guida ti guiderà attraverso l'aggiunta di un indicatore a una mappa CRPSHARE. Queste mappe sono ospitate da CommunityWalk e sono alimentate dalla tecnologia delle mappe di Google. Avrai bisogno di un account CommunityWalk (gratuito) per contribuire alle mappe CRPSHARE - ottenendo un