Innehållsförteckning:
Video: Lägga till en 24LC256 EEPROM till Arduino Due: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Arduino due saknar en eeprom. Denna instruerbara lägger till en och låter dig lagra värden i icke -flyktigt minne som överlever en arduino -firmwareuppdatering.
Steg 1: Breadboarding
Det finns några riktigt bra instruktioner här: https://www.hobbytronics.co.uk/arduino-external-eepromJag har precis följt dem. Fotot visar kretskortet. stiften 1 till 4 och stift 7 är jordade. stift 8 är anslutet till 3.3V -matningen på rätt kort. De gula (stift 6) och vita (stift 5) ledningarna anslutna till i2c SDA (data) och SCL (klocka) stiften på kortet (numrerade 21 och 20).
Steg 2: Kodtid
Här är några kodavsnitt som jag använder i mina skisser. För det första, inkludera trådbibliotekets rubriker någonstans nära toppen av din skiss: / * Använd 24LC256 EEPROM för att spara inställningar * / #include Lägg sedan till några funktioner för att läsa och skriva byte från EEPROM (jag bryr mig bara om enskilda byte men det finns en sidskrivningsfunktion i chipet också). Observera att det finns en makrodefinition på 0x50.. detta är adressen till chipet på i2c -bussen (du kan ansluta mer än en i2c -sak på en i2c -buss och välja vilken du vill prata med genom att ändra adressen). / * Dessa två funktioner hjälper oss att skriva till 24LC256 EEPROM -chip */ #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 skriv: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); fördröjning (5); } byte EEPROM_read (osignerad 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); fördröjning (5); returnera data; } Du kan avmarkera serierna Serial.print (…) om du vill se lite felsökning. I arduinos setup () -funktion startar du trådbiblioteket och kan läsa in initialvärden. Här läste jag i två byte (flaggor och max_cc), två ord (lean_min och lean_max) och en rad ord sd_max [3]: // läs värden sparade i EEPROM Wire.begin (); flaggor = 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)); för (int j = 0; j <3; j) {sd_max [j] = word (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } Här är koden som skriver dem i EEPROM: EEPROM_write (0, flaggor); 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)); för (int j = 0; j <3; j) {EEPROM_write (6 j*2, lowByte (sd_max [j])); EEPROM_write (7 j*2, highByte (sd_max [j])); } Det är verkligen det.
Steg 3: Wire It Up
Koppla in den på någon veroboard för att skruva in i ett hölje och de jobb som gjorts.
Rekommenderad:
Lägga till nya bibliotek till KICAD: 6 steg
Lägga till nya bibliotek till KICAD: KiCad är en gratis mjukvarupaket för elektronisk designautomation (EDA). Det underlättar utformningen av scheman för elektroniska kretsar och deras konvertering till PCB -konstruktioner. Den har en integrerad miljö för schematisk fångst och PCB -layout
Lägga till en Snabbladdningsfunktion till en Powerbank: 5 steg (med bilder)
Lägga till en Snabbladdningsfunktion till en Powerbank: I det här projektet kommer jag att visa dig hur jag modifierade en vanlig powerbank för att minska den löjligt långa laddningstiden. Längs vägen kommer jag att prata om powerbank -kretsen och varför batteriet i min powerbank är lite speciellt. Låt oss få st
Lägga till en strömgränsfunktion till en Buck/Boost -omvandlare: 4 steg (med bilder)
Lägga till en strömgränsfunktion till en Buck/Boost -omvandlare: I det här projektet kommer vi att titta närmare på en gemensam buck/boost -omvandlare och skapa en liten, extra krets som lägger till en strömgränsfunktion till den. Med den kan buck/boost -omvandlaren användas precis som en variabel strömförsörjning för laboratoriebänkar. Le
Lägga till radiomottagare till hemmaljudsystem: 3 steg
Lägga till radiomottagare till hemmaljudsystem: Numera använder vi internetradio knappt vanlig (antenn?) Radio. Jag skulle säga att det är den bästa tiden att ha bra gammal pålitlig radio tillgänglig hemma och lyssna på bra musik och Corona-nyheter :) Jag använder PC-högtalare som mitt främsta hemmaljudsystem
Lägga till anpassade kort till Arduino IDE: 3 steg
Lägga till anpassade kort till Arduino IDE: Version 1.6.4 av Arduino IDE introducerade officiellt stöd för att lägga till arduino -kompatibla kort från tredje part till Arduino Board Manager. Detta stöd för tillägg är en bra nyhet, eftersom det tillåter användare att snabbt lägga till anpassade brädor med bara ett klick