Ajouter EEPROM I2C Arduino

y attacher une EEPROM de l’Arduino est assez simple et la plus simple consiste à le faire via le bus I2C. EEPROMs prennent de nombreuses formes mais le 24 LS256 ou 24LC256 est un bon choix car il est facile à utiliser et assez bon marché (centimes d’euro 85 chez mon fournisseur). Le 24LC256 contient 256 kilobits de données (c'est-à-dire 32 kilo-octets). Le 24LS256 peut également exécuter sur 3, 3V qui est pratique si on utilise un Lilypad ou Mini Pro 3.3V. La 24LS256 utilise 3 points pour la sélection de son adresse, donc vous pouvez utiliser jusqu'à huit à la fois sur le même bus.

Le 24LS256 est adressée comme suit : 1010A2A1A0. Si vous travaillez uniquement avec 1 EEPROM, le plus simple est de connecter A2-A0 avec sol. Cela donne l’adresse de 1010000 qui est 0 × 50 Hex. En lecture et en écriture dans l’EEPROM, il faut se rendre compte que c’est 32 Ko (actuall32767) et un seul octet n’est pas suffisant pour traiter toute la mémoire.

Donc quand on veut envoyer lire et/ou écrire des requêtes, on a besoin d’envoyer deux octets – un pour le MSB ou l’extrémité supérieure de l’adresse (les 8 bits de gauche à droite) et celle qui suit pour le LSB ou l’extrémité inférieure de l’adresse (les finales 8 bits de gauche à droite).

Si l'on veut par exemple utiliser adresse 21000, qui va comme suit : en binaire, 21000 est 0101001000001000. Que divisés en 01010010 et 00001000, puis reconvertir les valeurs binaires numériques octets à envoyer à Wire.send().

Que les sons plus compliquent que c’est, qu’il sont a en fait deux opérandes pour faire cela. Cette première est >>, aussi connu comme « bitshift droit ». Cela prendra la partie la plus élevée (gauche) de l’octet et déposer la partie inférieure, laissant seulement les 8 premiers bits. Pour obtenir la partie inférieure (à droite) de l’adresse, on peut utiliser opérateur &, également connu sous le nom « opération de bits AND ». Cet opérande, lorsqu’il est utilisé avec 0xFF donnera les bits de poids faible.

Écriture de données dans le 24LS256
Écriture de données est assez facile. Tout d’abord initialiser le bus I2C avec :

Wire.beginTransmission(0x50) ; pour les broches A0 ~ A2 la valeur GND

puis envoyer certaines données. Les premières données à envoyer sont les deux octets de l’adresse (25000) se veut un pour écrire dans la mémoire.

Wire.Send (21000 >> 8) ;  Envoyer le MSB de l’adresse
Wire.Send (21000 & 0xFF) ; Envoyer le LSB de l’adresse

Par la suite envoyer l’octet pour stocker l’adresse 21000 et puis fermez la connexion :

Wire.Send(15) ; Envoyer simplement « 15 » comme exemple
Wire.endTransmission() ;

Ceci conclut la rédaction. maintenant pour la lecture :

Lecture des données depuis le 24LS256

La lecture est plus ou moins similaire. Tout d’abord initialiser la connexion et fournir l’adresse des données comme suit :

Wire.beginTransmission(0x50) ; Adresse de base choisie
Wire.Send (21000 >> 8) ;  Envoyer MSB de l’adresse
Wire.Send (21000 & 0xFF) ; Envoyer LSB de l’adresse
Wire.endTransmission() ;

Ensuite, fournir le nombre d’octets de données à lire à partir de l’adresse actuelle :

Wire.beginTransmission(0x50) ; adresse de base
Wire.requestFrom(0x50,1) ; Nous voulons un octet
Wire.Receive(inbyte) ;

Ici, « inbyte » est une variable byte choisie pour stocker les données extraites de l’EEPROM.

La puissance du bus I2C est bien entendu que différents dispositifs peuvent être connectés aux lignes de mêmes. La figure du haut présente tel un ensemble avec deux mémoires EEPROM. Il est essentiel bien sûr qu’elles possèdent chacune leur propre adresse. Dans la figure, j’ai choisi d’utiliser des adresses 0 × 50 et 0 × 51. On obtient que de connecter A0-A2 à la terre pour une seule puce, mais connexion A0 à Vcc ("High") pour la deuxième puce. L’adresse obtenue est ensuite 1010001 = 0 x 51

Et c’est tout.
Une conception d’impression se trouvent ici
Coût environ: 2 euros

Mots clés: Arduino, I2c, EEPROM, 24L 256

Articles Liés

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

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éf
12hr Binary Clock, heures et minutes seulement, RTC DS1307, i2C, Arduino Nano

12hr Binary Clock, heures et minutes seulement, RTC DS1307, i2C, Arduino Nano

Pendant un certain temps maintenant, j'ai voulu faire une horloge binaire, mais après avoir regardé autour, j'ai décidé que je voulais quelque chose d'un peu différent. Alors j'ai décidé d'afficher uniquement les heures et les minutes et uniquement a
Ajouter Bluetooth Simple à Arduino

Ajouter Bluetooth Simple à Arduino

Parfois, lorsque vous démarrez un nouveau projet tout d'abord, il y a beaucoup de débogage aller sur, et avec une plate-forme Arduino, utilisant le port série pour cracher des données peut être un outil très utile. Eh bien quoi, s'il n'y a pas de pla
Domotique - comment ajouter des relais à Arduino

Domotique - comment ajouter des relais à Arduino

Comment choisir le relais – sa toute puissance.Lorsque vous sélectionnez un relais pour vous connecter à votre Arduino vous devez tenir comptea) la puissance (tension et courant) de ce que vous voulez allumer et éteindre etb) la puissance (tension et
ESP8266 - enregistreur de données EEPROM I2C externe - AT24C32/64 pilote

ESP8266 - enregistreur de données EEPROM I2C externe - AT24C32/64 pilote

Comme vous peut-être déjà vu dans notre précédent article sur le Module RTC DS3231, nous avons identifié à bord une puce EEPROM, un 32 k AT24C32 un. Il est indépendant du circuit RTC et connectés sur le bus I2C, un compagnon idéal pour un système d'e
Maître I2C Arduino Uno

Maître I2C Arduino Uno

Il s'agit de l'autre bout de l'ATTiny84 I2C esclave instructable.Le but de ce circuit est de fournir un etes bas Conseil ATMega328P-PU I2C maître qui contrôle les périphériques I2C esclave connectés. Dans l'exemple que j'utilise, le périphérique escl
Affichage de température I2C Arduino TMP37

Affichage de température I2C Arduino TMP37

Voici un simple point de départ pour un contrôleur de température basé sur Arduino et un capteur de température TMP37 Centigrade. À l'aide d'une seule entrée analogique-numérique et un écran LCD I2C.Étape 1: Comment ça marcheTMP37 Spécifications et l
Arduino Nano : Voir la localisation GPS sur I2C 2 X 16 LCD Display avec Visuino

Arduino Nano : Voir la localisation GPS sur I2C 2 X 16 LCD Display avec Visuino

Il y a quelques jours quelqu'un m'a demandé de faire Instructable sur l'affichage des coordonnées GPS Latitude et Longitude sur un écran LCD. J'ai promis de faire un, et c'est ici.Dans ce Instructable, je vais vous montrer comment vous pouvez branche
Arduino Nano : I2C afficheur LCD 2 X 16 avec Visuino

Arduino Nano : I2C afficheur LCD 2 X 16 avec Visuino

Caractère, Écrans LCD sont très couramment utilisée pour les projets de l'Arduino, d'afficher de petites quantités d'informations textuelles. Les types les plus courants sont la base affiche directement connectée et celles avec adaptateur I2C. La ver
Arduino + fischertechnik TX-C - connexion I2C vrai couleur capteur

Arduino + fischertechnik TX-C - connexion I2C vrai couleur capteur

lecture de couleur est un vrai problème pour les modèles industriels.J'ai travaillé là-dessus depuis plus de 12 mois, depuis décembre 2009.Après plusieurs mois de dur labeur,• en commençant par le lecteur de couleur standard (saison 1 ) doté d'une LE
Scannez le Bus Arduino I2C pour les périphériques connectés I2C avec Visuino

Scannez le Bus Arduino I2C pour les périphériques connectés I2C avec Visuino

I2C Dispositifs et Modules sont largement disponibles et très populaire dans les projets de l'Arduino . Chaque périphérique I2C possède une adresse habituellement fixe ou configurable par cavaliers. Lorsque vous travaillez avec le périphérique I2C ,
Utiliser ATtiny85 avec I2C EEPROM

Utiliser ATtiny85 avec I2C EEPROM

il s'agit d'une configuration simple pour pouvoir utiliser une EEPROM I2C avec le ATtiny85. Il existe de nombreux sites qui décrivent l'utilisation de mémoire eeprom I2C, mais il y a quelques nuances lors de l'utilisation d'un ATtiny85 qui se posent
Comment ajouter la bibliothèque capteur gaz Arduino dans à Proteus 7 & 8

Comment ajouter la bibliothèque capteur gaz Arduino dans à Proteus 7 & 8

Première étape consiste à télécharger les fichiers de bibliothèqueVisitez notre site Web pour télécharger des fichiers de bibliothèqueEtape 1: Coller ces trois fichiers GS. IDX, GSB. LIB et Gscode.HEX en dossier de bibliothèqueSi vous utilisez Proteu
Ajouter des boutons de votre manette de jeu X52-Pro avec un Arduino Micro

Ajouter des boutons de votre manette de jeu X52-Pro avec un Arduino Micro

J'ai une configuration HOTAS Saitek X52-Pro dont je me sers pour Elite : dangereux. C'est une manette de jeu fantastique mais il pourrait faire avec juste quelques boutons de plus. À l'aide d'un Arduino Micro, vous pouvez étendre (ou toute autre) joy