Eenvoudige EEPROM Module voor Arduino of andere microcontroller


EEPROMs van pas komen als u sommige gegevens opslaan wilt zonder verliezen. Vele microcontrollers komen met enkele interne EEPROM, maar zoals EEPROMs een eindige (hoewel zeer groot) aantal schrijft voordat hebben ze beginnen steeds defect, mijn anaal nulspanningsveilig karakter had altijd een probleem met het gebruik van die interne EEPROM.
Er zijn andere redenen ook waarom u zou willen gebruiken een externe EEPROM: gegevens inloggen die je gewoon wilt ruilen een EEPROM eerder dan moetend uw microcontroller in het veld voorgelezen.
Anyway, ik wilde alleen maar delen een eenvoudige 5 minuten bouwen EEPROM module die is een beetje eenvoudiger dan een voorafgaande die ik heb gepubliceerd.
Stuklijst
1 x 24LC256 EEPROM (of ander formaat)
2 x 4 k 7 weerstanden
klemmenstrook 5 strips van 8
8 pins DIL IC socket (optioneel)

Ik ben met behulp van een 24LC256. Dat is een 256 k EEPROM dus in feite alleen een 32 kiloBYTE EEPROM in mijn traditionele manier van denken. Deze zijn niet te duur. Annuleerteken zitten had voor ongeveer 80 ct USD.
Hoewel de Raad van bestuur kan ook worden gebruikt voor kleinere EEPROMS, zoals een 24C 32, zou ik adviseren tegen. Als dat is wat je nodig hebt, koop een 50 ct DS1307 RTC module met een 24C 32 (dus eigenlijk 4kByte).

Anyways, de 24LC256 is een I2C EEPROM, die is vrij standaard en welke maakt gebruik gemakkelijk
Pinnen A0, A1 en A2 Selecteer de I2C-adressen, (A0 = pin1, A1 = pin1, A2 = pin3).
De aanpak is als volgt

1010A2A1A0x

Als u verbinding maakt met pinnen A0, zal A1, A2 naar GND de I2C adres dus 1010000 = 0x50 in de hexadecimale notatie.
Als u verbinden met hen alle Vcc zullen het 1010111 = 0x57.
Als 0x50 een adres dat vaak wordt gebruikt is, besloten heb ik A2 en A1 verbinden met grond en A0 tot de Vcc, waardoor 0x51. Ook maakte het ontwerp een tadd eenvoudiger.
Pin 7 is de 'WriteProtect' pin die moet worden getrokken HIGH voor ReadOnly en laag voor lezen/schrijven. Uiteraard ik aangesloten op de grond.
De pull up weerstanden zijn beide 4k 7
U vindt vele EEPROM bibliotheken in de Arduino Playground ik ben geneigd te gebruiken de volgende code om te lezen en schrijven:

 void writeData(int device, unsigned int addr, byte data) // writes a byte of data 'data' to the chip at I2C address 'device', // in memory location 'add' { if ( addr > 65535 ) addr = addr | B00001000; Wire.beginTransmission(device); Wire.write((int)(addr >> 8)); // left-part of pointer address Wire.write((int)(addr & 0xFF)); // and the right Wire.write(data); Wire.endTransmission(); delay(10); } byte readData(int device, unsigned int add) // reads a byte of data from memory location 'add' in chip at I2C address 'device' { byte result; // returned value Wire.beginTransmission(device); // these three lines set the pointer // position in the EEPROM Wire.write((int)(add >> 8)); // left-part of pointer address Wire.write((int)(add & 0xFF)); // and the right Wire.endTransmission(); Wire.requestFrom(device, 1); // now get the byte of data... result = Wire.read(); return result; // and return it as a result of the function readData } 

Speciale notities als met behulp van de 24LC1025
Dit bord kan ook worden gebruikt voor grotere EEPROMS, maar... als je het gebruiken voor de 24LC1025, moet u een kleine aanpassing. Met deze chip worden A2 moet gekoppeld aan de Vcc daarvoor te bedienen.

De 24LC1025 heeft een interne adressering grens beperking is verdeeld in twee segmenten van 512K bits. Blok selecteren bit 'B0' toegang tot elk segment.

De aanpak wordt bepaald door 1010B0A1A0R /-W waarin de ' Blok selecteren bits wordt gebruikt om aan te pakken van de lagere of hogere 512k blokkeren de chip heeft dus 2 verschillende adressen. met de selectie van de A0A1 zoals in mijn boord zijn die:
1010101 = 0x55
1010001 = 0x51

Voor geheugen is toegang van 0..65535 de I2C adres voor de geheugen-Chip 0x51. Als u toegang wilt tot geheugen tussen 65536..131071 is het Chip-adres 0x55

U kunt niet schrijven over de grens van de byte 65535..65536 met het breken van de werking in twee write() oproepen. Een chip van 0x51, de andere naar chip 0x55.

Gerelateerde Artikelen

3-kanaals Dimmer/fader voor Arduino of andere microcontroller

3-kanaals Dimmer/fader voor Arduino of andere microcontroller

In een eerdere instructable heb ik voorgelegd een eenvoudige AC TRIAC fader/dimmer die kan worden gecontroleerd met een Arduino. In verschillende reacties die ik kreeg, belangstelling een aantal mensen hun in een 3-kanaals RGB-fader. Maar sinds ik ni
Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Update: 19 mei 2016Rev 14 van dit project herziet bibliotheken en code om te werken met de plug-in V2.2 ESP8266.com IDEUpdate: 17 December 2105Rev 11 van dit project schoont andere pogingen tot verbinding als het al is aangesloten. Maakt ook gebruik
Hoe te installeren en gebruiken van de JY-MCU Bluetooth-module voor Arduino

Hoe te installeren en gebruiken van de JY-MCU Bluetooth-module voor Arduino

Hallo, in dit instructable ik zal worden leer je hoe te installeren en gebruiken van de JY-MCU Bluetooth-module voor Arduino. Deze kleine module zal u laten controleren je arduino draadloos vanaf uw computer of telefoon. Laat start.Stap 1: Wire JY-MC
Relais Module voor Arduino

Relais Module voor Arduino

Ik hoop dat u al bekend bent met relais (zoniet check deze), in eenvoudige woorden die dit soort schakelaars waarin als we bepaalde volt (volgens Relais ingangsspanning ratings) via spoel terminals dan niet passeren en COM pinnen zullen krijgen aange
12VDC/220VAC Relais module voor Arduino (zelfgemaakte)

12VDC/220VAC Relais module voor Arduino (zelfgemaakte)

Hi er! Paar dagen geleden heb ik een kleine Relais module voor mijn Arduino. Het probleem was dat ik in mijn lokale elektronische onderdelen winkel, relais gecontroleerd door 12V in plaats van 5V, aangezien het is vereist door Arduino opgericht. Dus
Gemakkelijk, omkeerbare Motor controle voor Arduino (of een Microcontroller)

Gemakkelijk, omkeerbare Motor controle voor Arduino (of een Microcontroller)

dit project maakt gebruik van slechts drie hoofdcomponenten voor voorwaartse en omgekeerde bepalen voor een interne motor.  U kunt het gemakkelijk interface naar een Arduino of elke andere microcontroller.Het is zo eenvoudig - u kunt het draad van "f
De ESP8266 deel 1 - seriële WIFI Module voor Arduino

De ESP8266 deel 1 - seriële WIFI Module voor Arduino

Dit is het deel 1 van 3 instructables u te helpen bij het gebruik van de ESP8266 met Arduino. In dit deze eerste tutorial leer je hoe set-up en test de module op een Arduino aangesloten.De ESP8266 is misschien wel de meest veelzijdige seriële module
Eenvoudige LCD-touchscreen voor arduino

Eenvoudige LCD-touchscreen voor arduino

Dit is een gids met een gemakkelijke manier om het opzetten van een LCD-touchscreeninterface met de arduino, of andere soortgelijke microcontrollers.Het is ook schaamteloze zelfpromotie van mijn kickstarter... die zich richt op waardoor het super mak
Waterniveau Sensor Module voor Arduino AVR ARM STM32 STM8

Waterniveau Sensor Module voor Arduino AVR ARM STM32 STM8

Proficiat aan het team van ICStation ! Zij hebben deze prachtige waterniveau Sensormodule ontwikkeld door grote inspanningen. Deze module met klein formaat en hoge kosteneffectieve is makkelijk te gebruiken. In dit artikel, zullen we de digitale gehe
Controle van een Furby met Arduino (of andere microcontroller)

Controle van een Furby met Arduino (of andere microcontroller)

De Million Dollar Furby: We kunnen hem herstellen. We hebben de technologie.Vervolg van de vorige Instructable waar we weggesneden Furby van primitieve hersenen, is het nu tijd om het te vervangen met iets groter.Dit Instructable zal detailleren hoe
Eenvoudige Relay Shield voor Arduino

Eenvoudige Relay Shield voor Arduino

Shield voor control 6 Relais, 6 digitale input en 6 analoge ingang met Arduino Duemilanove, Arduino UNO. De digitale ingangen en relaisuitgangen zijn uitgerust met een LED die de status aangeeft.Het circuit diagram is heel eenvoudig:Stap 1: Schema's
Solide StateRelay Modules voor Arduino projecten

Solide StateRelay Modules voor Arduino projecten

Ik graag breadboard en testen van vele verschillende soorten projecten. Voor een tijdje deed ik een heleboel huisautomatisering dingen proberen om te bezuinigen op mijn elektrische factuur terwijl niet schepsel comfort te offeren. Beheersing van een
Bodem vocht Meter Detection module voor Arduino tuinieren

Bodem vocht Meter Detection module voor Arduino tuinieren

Hallo kerels,Gedetecteerde bodem sensor met behulp van arduino die helpt om de conditie van de grond voor het planten en tijdens het planten water geven programma gemaakt hebben.Hoop dat u zijn geholpen met dit instructable.CheersStap 1: Met behulp v
Een LED Driver Board voor Arduino (en andere MPs) met behulp van Quad H-bruggen bouwen

Een LED Driver Board voor Arduino (en andere MPs) met behulp van Quad H-bruggen bouwen

de Arduino digitale uitgangen kunnen pompen over 40mA van de huidige elke.  Dit is nergens in de buurt genoeg voor de meeste toepassingen voor verlichting of motor, dus het gebruik van een relais boord of motor stuurprogramma schild nodig zijn.  Dit