Module simple d’EEPROM pour Arduino ou autre microcontrôleur

EEPROMs vous seront utiles si vous souhaitez stocker des données sans perdre. De nombreux microcontrôleurs viennent avec une EEPROM interne, mais comme EEPROMs ont un nombre fini (bien que très grand) d’écritures avant qu’ils commencent à devenir défectueux, mon anale rétentive personnage a toujours eu un problème avec l’aide de l’EEPROM interne.
Il existe d’autres raisons aussi pourquoi vous pourriez vouloir utiliser une EEPROM externe : enregistrement dans lequel vous venez de données veulent l’échanger une EEPROM, plutôt que de devoir lire votre microcontrôleur dans le domaine.
De toute façon, je voulais juste partager un module d’EEPROM de génération simple 5 minutes c’est un peu plus simple qu’un préalable, que j’ai publié.
BOM
1 x 24LC256 EEPROM (ou autre taille)
2 x 4 résistances k 7
bandelettes de veroboard 5 de 8
douille de IC DIL 8 broches (facultatif)

J’utilise un 24LC256. C’est un 256 kilobits EEPROM en fait qu’un 32 kilo-octets EEPROM dans mon mode de pensée traditionnel. Ce ne sont pas cher. Peut se le procurer pour environ 80 ct USD.
Bien que le Conseil peut également être utilisé pour des EEPROMS plus petits, comme un 24C32, je conseillerais contre cela. Si c’est ce dont vous avez besoin, acheter un 50 ct RTC DS1307 module qui comprend un 24C32 (qui est en fait 4kByte).

De toute façon, le 24LC256 est une EEPROM I2C, qui est tout à fait standard et qui rend l’utilisation facile
Broches A0, A1 et A2 sélectionnez les adresses I2C, (A0 = pin1, A1 = pin1, A2 = broche 3).
L’adressage est la suivante

1010A2A1A0x

Donc si vous vous connecter épinglettes A0, A1, A2 à adresse GND l’I2C sera 1010000 = 0 x 50 en hexadécimal.
Si vous les Connectez tous à Vcc, il sera 1010111 = 0 x 57.
0 x 50 est une adresse qui est souvent utilisée, j’ai décidé de relier A2 et A1 à terre et A0 à Vcc, qui donne 0 x 51. Il également dessina un tadd plus simple.
Broche 7 est la broche « WriteProtect » qui doit être retiré haute pour ReadOnly et faible en lecture/écriture. Évidemment j’ai branché sur le sol.
Le tirer vers le haut de résistances sont les deux 4k 7
Vous y trouverez de nombreuses bibliothèques EEPROM dans la Cour de récréation Arduino j’ai tendance à utiliser ce qui suit le code pour lire et écrire :

 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 } 

Notes spéciales si vous utilisez le 24LC1025
Cette carte peut également servir pour EEPROMS plus grande, mais... Si vous l’utilisez pour la 24LC1025, vous devez faire une petite adaptation. Avec cette puce A2 doit être liée au Vcc pour cela à exploiter.

Le 24LC1025 a une limitation limite adressage interne qui est divisée en deux segments de 512K bits. Bloc select bit « B0 » pour contrôler l’accès à chaque segment.

L’adressage est déterminé par 1010B0A1A0R/W-dans lequel le « bit sélectionnez bloc est utilisé pour traiter la partie inférieure ou supérieure 512k bloquer la puce a donc 2 adresses différentes. avec la sélection de A0A1 comme dans ma chambre, ce sont :
1010101 = 0 x 55
1010001 = 0 x 51

Pour mémoire, l’accès de 0.. 65535 l’adresse I2C pour la puce mémoire est 0 x 51. Si vous souhaitez accéder à une mémoire entre 65536..131071 l’adresse de la puce est 0 x 55

Vous ne pouvez pas écrire à travers la limite d’octets 65535..65536 avec briser l’opération en deux appels de write(). Une carte à puce 0 x 51, l’autre à puce 0 x 55.

Articles Liés

3 canaux Dimmer/fader pour Arduino ou autre microcontrôleur

3 canaux Dimmer/fader pour Arduino ou autre microcontrôleur

Dans une ancienne version instructable j'ai présenté un simple fader/variateur AC TRIAC qui pourrait être contrôlé avec un Arduino. Dans diverses réactions, que j'ai eu, un certain nombre de gens exprimé leur intérêt pour un fader RGB de 3 canaux. Ma
Comment faire pour mesure courant CA à l’aide de capteur à effet Hall avec Arduino ou autres microcontrôleurs commune

Comment faire pour mesure courant CA à l’aide de capteur à effet Hall avec Arduino ou autres microcontrôleurs commune

S'il vous plaît voir une nouvelle approche plus simple iciObjectif : Ce Instructable montre comment faire une boîte d'interface qui, lorsque raccordé à une rallonge, permet de microcontrôleurs communs comme l'Arduino à mesure AC courant comme un sign
Contrôler un Furby avec Arduino (ou autre microcontrôleur)

Contrôler un Furby avec Arduino (ou autre microcontrôleur)

Le Furby Million de dollars : Nous pouvons reconstruire. Nous disposons de la technologie.Suite de la précédente Instructable où nous excisés cerveau primitif de Furby, il est maintenant temps de le remplacer par quelque chose de plus.Ce Instructable
Un moins cher ESP8266 WiFi Shield pour Arduino et autres micros

Un moins cher ESP8266 WiFi Shield pour Arduino et autres micros

Mise à jour : 19 mai 2016Rev 14 de ce projet revise bibliothèques et code fonctionne avec les plug-in V2.2 ESP8266.com IDEMise à jour : 17 décembre 210511 Rev de ce projet nettoie les autres connexions tentatives s'il est déjà connecté. Utilise égale
Comment installer et utiliser le module Bluetooth JY-MCU pour Arduino

Comment installer et utiliser le module Bluetooth JY-MCU pour Arduino

Bonjour, dans ce instructable je vais enseigner vous comment installer et utiliser le module Bluetooth JY-MCU pour Arduino. Ce petit module vous permettra de contrôler votre arduino sans fil à partir de votre ordinateur ou votre téléphone. Permet de
UART générique pour n’importe quel microcontrôleur

UART générique pour n’importe quel microcontrôleur

Communiquer avec un micro-contrôleur lors de l'exécution, est très utileinstallation. Il peut être utilisé pour le débogage, ou d'envoyer des commandes etc. L'un des plus simple protocole disponible pour communiquer est UART. Requiere une épingle pou
Module relais 12VDC/220VAC pour Arduino (fabrication artisanale)

Module relais 12VDC/220VAC pour Arduino (fabrication artisanale)

Hi there ! Il y a quelques jours, j'ai fait un module relais petite pour mon Arduino. Le problème est que j'ai fondé dans mon magasin local de pièces électroniques, relais contrôlés par 12V au lieu de 5V car elle est requise par l'Arduino. Alors j'ai
Stockage de masse simple pour votre projet de microcontrôleur

Stockage de masse simple pour votre projet de microcontrôleur

vous voulez gigaoctets de stockage pour votre microcontrôleur ? Vous souhaitez un moyen simple de transférer des fichiers depuis votre PC vos picaxe ou arduino ou autre micro projet ?Ce petit projets montre l'uDrive qui peut être configuré comme un d
Modifier un détecteur de fumée 6 EUR pour une utilisation avec microcontrôleur, appeleur automatique, liant et plus

Modifier un détecteur de fumée 6 EUR pour une utilisation avec microcontrôleur, appeleur automatique, liant et plus

dans une maison ou d'affaires, détecteurs de fumée et de feu central systèmes peuvent être essentielles pour sauver des vies et des biens.  Mais qu'en est-il lorsque personne n'est là ?  Grandes entreprises peuvent se permettre des systèmes contrôlés
Arduino GRANDE le microcontrôleur énorme

Arduino GRANDE le microcontrôleur énorme

Nous aimons Arduino ! Mais les planches sont si minuscules qu'ils peuvent être difficiles à câliner. Et pas si facile à voir, non plus, si vous êtes un étudiant assis à l'arrière d'une salle de classe. Alors pourquoi ne pas résoudre les deux problème
Très bon marché/Simple WiFi Shield pour Arduino et microprocesseurs

Très bon marché/Simple WiFi Shield pour Arduino et microprocesseurs

Mise à jour : 19 mai 2016Rev 14 de ce projet revise bibliothèques et code fonctionne avec les plug-in V2.2 ESP8266.com IDEMise à jour : 17 décembre 201511 Rev de ce projet nettoie les autres connexions tentatives s'il est déjà connecté. Utilise égale
Simple relais Shield pour Arduino

Simple relais Shield pour Arduino

Shield au relais de contrôle 6, 6 numériques d'entrée et 6 analogique d'entrée avec Arduino Duemilanove, Arduino UNO. Les entrées numériques et les sorties de relais sont équipés d'une LED indiquant l'État.Le schéma de câblage est très simple :Étape
Simple affichage Android pour Arduino avec couple App

Simple affichage Android pour Arduino avec couple App

Pendant longtemps, j'ai lutté avec l'affichage des données de l'Arduino sur un téléphone Android. J'ai essayé le MEGA ADK, mais il est assez difficile de travailler avec. J'ai essayé les apps de magasin de jeu, mais ils ne peuvent pas afficher les do
Timer de résolution 6,25 nanosecondes pour n’importe quel microcontrôleur !

Timer de résolution 6,25 nanosecondes pour n’importe quel microcontrôleur !

Tout en concevant un remplacement à l'état solide pour un sous-système d'affichage radar vide-tubes-et-TCR, j'étais coincé à obtenir un système adapté à la période entre les impulsions de synchronisation et l'impulsion de l'écho. Les impulsions de sy