Enkel EEPROM modul för Arduino eller andra microcontroller



EEPROMs komma till hands om du vill lagra vissa uppgifter utan att förlora den. Många mikrokontrollers komma med vissa interna EEPROM, men eftersom EEPROMs har ett ändligt (men stort) antal skriver innan de börja bli felaktig, min anal glans karaktär alltid haft problem med att använda det interna EEPROM.
Det finns andra skäl för varför du kanske vill använda en extern EEPROM: data inloggning som du bara vill byta en EEPROM snarare än att läsa upp din mikrokontroller i fältet.
Hur som helst, jag ville bara dela en enkel 5 minuters bygga EEPROM modul som är lite enklare än en tidigare jag publicerade.
BOM
1 x 24LC256 EEPROM (eller andra storlek)
2 x 4 k 7 motstånd
stripboard 5 remsor av 8
8-pin DIL IC socket (valfritt)

Jag använder en 24LC256. Det är en 256 kiloBIT EEPROM så i själva verket endast 32 kiloBYTE EEPROM i min traditionella sätt att tänka. Dessa är inte dyrt. Kan fås för runt 80 ct USD.
Även om styrelsen kan också användas för mindre EEPROMS, som en 24C 32, skulle jag avråda från att. Om det är vad du behöver, köpa en 50 ct DS1307 RTC modul som inkluderar en 24C 32 (vilket är faktiskt 4kByte).

Hur som helst, 24LC256 är en I2C EEPROM, vilket är ganska standard och som utnyttjar lätt
Pins A0, A1 och A2 Välj I2C adresser, (A0 = pin1, A1 = pin1, A2 = pin3).
Kampanjen är följande

1010A2A1A0x

Om du ansluter stift A0, kommer A1, A2 till GND I2C adress alltså 1010000 = 0x50 hexadecimalt.
Om du ansluter dem alla till Vcc man 1010111 = 0x57.
Som 0x50 är en adress som används ofta, beslöt jag att ansluta A2 och A1 till marken och A0 till Vcc, vilket ger 0x51. Det gjorde också designen en tadd enklare.
Stift 7 är "WriteProtect" PIN-koden som måste dras hög för ReadOnly och låg för läsning/skrivning. Självklart anslutit jag den till marken.
Dra upp motstånd är båda 4k 7
Du kommer att hitta många EEPROM bibliotek i Arduino Playground jag tenderar att använda följande kod för att läsa och skriva:

void writeData (int enhet, unsigned int addr, byte data)
skriver en byte data 'data' till chipet på I2C adress "enhet",
i minnesplatsen 'Lägg till'
{
om (addr > 65535)
addr = addr | B00001000;
Wire.beginTransmission(device);
Wire.write((int)(addr >> 8)); vänster-en del av pekaren adress
Wire.write((int)(addr & 0xFF)); och rätt
Wire.write(data);
Wire.endTransmission();
Delay(10);
}
byte readData (int enhet, unsigned int Lägg)
läser en byte av data från minnet plats 'Lägg till' i chip på I2C adress "enhet"
{
byte resultatet; värdet som returneras
Wire.beginTransmission(device); dessa tre rader ställa pekaren
placera i EEPROM
Wire.write((int)(Add >> 8)); vänster-en del av pekaren adress
Wire.write((int)(Add & 0xFF)); och rätt
Wire.endTransmission();
Wire.requestFrom (enhet, 1); nu får de data-byten...
resultat = Wire.read();
returnera resultat; och returnera den till följd av funktionen readData
}

Särskilda anmärkningar om använder 24LC1025
Denna styrelse kan också användas för större EEPROMS, men... om du använder det för 24LC1025, måste du göra en liten anpassning. Med detta chip knytas A2 måste till Vcc för att det ska fungera.

24LC1025 har en inre adressering gränsen begränsning som är uppdelad i två segment av 512K bitar. Block Välj bit "B0" att kontrollera åtkomst till varje segment.

Adressing bestäms av 1010B0A1A0R /-W där den "Block Välj bit används för att ta itu med lägst eller högre 512k blockera chip har således 2 olika adresser. med A0A1 val som i min bräda är de:
1010101 = 0x55
1010001 = 0x51

För minnet är tillgång från 0..65535 I2C adressen för minneschip 0x51. Om du vill komma åt minnet mellan 65536..131071 är Chip adressen 0x55

Du kan inte skriva över 65535..65536 byte gränsen med bryta operationen i två anropa samtal. En chip 0x51, den andra till chip 0x55.

Relaterade Ämnen

3 kanal-Dimmer/fader för Arduino eller andra microcontroller

I ett tidigare instructable jag fram en enkel AC TRIAC-fader/dimmer som kan styras med en Arduino. I olika reaktioner jag fick, uttryckte ett antal personer sitt intresse för en 3 kanalfadern RGB. Men eftersom jag inte har sett några resultat av dess...

Hur man mäter AC nuvarande med Hall effekt Sensor med Arduino eller andra gemensamma Microcontrollers

Vänligen se ett nytt enklare tillvägagångssätt härMål: Detta Instructable visar hur att göra en gränssnittet box som, när skarvas i en förlängningssladd, tillåter gemensamma mikrokontroller som Arduino att mäta AC nuvarande som DC spänning signal pro...

Styra en Furby med Arduino (eller andra mikrokontroller)

Miljoner Dollar Furby: Vi kan bygga upp honom. Vi har tekniken.Fortsatte från den tidigare Instructable där vi censurerade Furbys primitiva hjärnan, är det nu dags att ersätta det med något större.Detta Instructable kommer detalj hur man installerar...

En billigare ESP8266 WiFi sköld för Arduino och andra micros

Uppdatering: 19 maj 2016Rev 14 i detta projekt reviderar bibliotek och kod ska fungera med ESP8266.com IDE plug-in V2.2Uppdatering: 17 December 2105Rev 11 i detta projekt rensar upp andra försök anslutningar om den redan är ansluten. Använder också d...

En trådlös Smart Home (var: hem simulator och larm med Arduino eller Atmega328 (Uppdaterad maj 2016))

Obs: det nu är en android bluetooth kontroll app ibble för detta projektObs: Även om det började som ett projekt simulera min närvaro i hemmet, det har vuxit till ett smart hem, därav titeln jag detta InstructableNär folk är på semester, eller ibland...

Lätt, reversibel Motor Control för Arduino (eller någon mikrokontroller)

detta projekt använder bara tre huvudkomponenter framåt och bakåt kontrollera att för en enda motor. Du kan enkelt gränssnitt det till en Arduino eller någon annan mikrokontroller.Det är så enkelt - du kan tråd det upp "fri form" utan ett kretsk...

DIY Arduino eller "Den DIY-Duino"

här hela guiden finns också på min hemsida påhttp://www.theparsley.com/Arduino/DIY/För att citera Arduino webbplats:"Arduino är en öppen källkod elektronik prototyping plattform baserad på flexibel, lätt att använda maskinvara och programvara. Den är...

Fyra kanal 'Fake TV' med Arduino eller Attiny

Medan jag jobbade på en "hemma" simulator bilaga larmsystem, en av de saker jag ville göra är att ha en TV på och från tid till annan ändra kanal. För att jag hade en IR-Led ingår i projektet och det fungerade bra.Men TV är energi guzzlers och i...

Relä modul för Arduino

Jag hoppas ni alla är bekanta med reläer (om inte kontrollera detta), i enkla ord detta är typ av växlar där om vi klarar vissa volt (enligt reläets inspänning betyg) genom spolen terminaler då Nej och COM stiften kommer att bli ansluten dvs fungerar...

Jorden världen roterar med Arduino eller Raspberry Pi kontrollerade Stepper Motor

Detta instructable beskriver hur du uppgraderar din världen till en motoriserad version. Det ser otroligt bättre på hyllan när det sakta roterar, och någon demonstration med dina barn (att förklara den dag/natt cykeln eller årstiderna) vinner i intre...

Lägga till EL wire till en kappa eller andra plagg

som upplysta kostymdesigner, jag får många frågor från människor som vill veta hur man gör sin egen EL wire dräkter. Jag har inte tid att hjälpa alla individuellt, så jag tänkte jag skulle konsolidera mitt råd till en instructable. Förhoppningsvis hj...

Hur man gör en lätt och elegant tabell centrum bit för jul (eller andra händelser)

att köpa en Juldekoration för bord för mindre än 20€ är i dag nästan ett omöjligt uppdrag, så varför inte skapa din egen dekoration?Så jag kommer att visa dig hur man gör detta mycket enkel, men mycket elegant, dekoration, steg för steg, med bilder s...

Snabb Digital termometer med billiga USB till TTL omvandlare och DS18B20 - utan Arduino eller Raspberry Pi

I min tidigare instructable jag gav en introduktion till Digital termometer med DS18B20 och ESP8266 nodemcu ombord med SPI OLED-skärm och programmering använder Arduino IDE. Det krävs kunskaper i programmering, grundläggande elektronik och krävs lite...

Custom Nike Roshes (eller andra skor)

Tack för att kolla min instructable! Jag vill börja med en ursäkt för en dålig kvalitet foton. De var alla skott på en DSLR men jag tog massor av bilder så jag var tvungen att komprimera dem ner för att kunna ladda upp dem alla.Detta är en super i dj...

Tvätta ull eller andra fibrer för spinning.

Ull och andra animaliska fibrer kan vara knepigt. Om du gör det fel du får en glopping våt massa av filt. Inget kul alls och potentiellt kostsamma om inte ett slöseri med tid och ansträngning. Vissa fibrer är lättare än andra att tvätta och är mer to...

Nonieskalans sensorer och Arduino (eller Teensy) för loggning av Data

låt oss titta på hur man samlar in data från nonieskalans pedagogiska sensorer med en Arduino-kompatibel microcontroller utveckling ombord.Om du behöver bara att anslutas en sond med en dator och vill att allt ska fungera, bör du nog köpa en Vernier...

Med IFTTT för att skapa kartan Live Foto från din iPhone (eller andra enheter)

Detta är en steg för steg guide att ta en bild med din iPhone (eller andra enheter som stöds), skicka bilden till ett google-kalkylark, och migrera data till ett Google Fusion bord, och slutligen producera en karta över där bilden togs. (Obs: denna t...

Göra en låda att förvara dina komponenter (eller andra saker)

/ * formatmallsdefinitioner * / bord. MsoNormalTable {mso-stil-namn: "Tabell Normal"; mso-tstyle-rowband-storlek: 0; mso-tstyle-colband-storlek: 0; mso-stil-noshow:yes; mso-stil-förälder: ""; MSO-stoppning-alt: 0 cm 5.4pt 0 cm 5.4pt; M...

Hur man gör en enkel origami modulära rose!

Det här är en steg för steg handledning om hur man gör en enkel origami modulära steg. Njut av: D!...