Utiliser Une Mémoire EEPROM I2C (Arduino)
Maybe your like
Pages d'index
- Accueil
- Électronique
- Arduino
- Raspberry Pi
- ESP8266 / ESP32
- STM32
- Autres microcontrôleurs
- Moteurs et robotique
- Son et Musique
- Logiciels
- Expériences scientifiques
- À propos...
vendredi 10 janvier 2020
Utiliser une mémoire EEPROM I2C (Arduino)
Après avoir exploré l'utilisation de la mémoire EEPROM interne de l'Arduino, voyons maintenant comment utiliser une mémoire EEPROM externe communiquant en I2C .- ajouter de la mémoire supplémentaire, si l'espace disponible dans l'EEPROM interne est insuffisant.
- augmenter la durée de vie de l'EEPROM (la fiche technique des circuits intégrés que j'ai testés pour cet article garantit une durée de vie de l'ordre du million de réécritures, alors que celle de l'EEPROM interne de l'Arduino est plutôt de 100 000 réécritures).
- utilisation de l'EEPROM externe comme une clé de sécurité amovible qui serait nécessaire pour faire fonctionner l'Arduino, ou qui donnerait à son utilisateur des privilèges d'administrateur.
- 24LC01B (EEPROM I2C de 1K) (fiche technique)
- 24LC16B (EEPROM I2C de 16K) (fiche technique)
- 24C64A (EEPROM I2C de 64K) (fiche technique)
- Les broches 1, 2 et 3 du CI ne sont pas branchées. Pour le modèle 24C64A, on peut relier certaines d'entre elles à 5 V pour modifier l'adresse I2C. Pour les deux autres modèles, ces 3 broches ne servent à rien!
- La broche 4 du CI doit être branchée à la masse (GND).
- La broche 5 du CI est responsable de l'échange des données (SDA). On la branche à la broche A4 de l'Arduino Uno, ainsi qu'à 5 V par l'entremise d'une résistance de tirage de quelques kiloohms (j'ai utilisé 4,7 kΩ).
- La broche 6 du CI reçoit le signal d'horloge (SCL). On la branche à la broche A5 de l'Arduino Uno, ainsi qu'à 5 V par l'entremise d'une résistance de tirage de quelques kiloohms (j'ai utilisé 4,7 kΩ).
- La broche 7 du CI (WP) doit être reliée à la masse (GND) pour qu'il soit possible d'écrire dans l'EEPROM. Si vous désirez ensuite empêcher que l'information de l'EEPROM puisse être modifiée, vous pouvez brancher cette broche à 5 V.
- La broche 8 du CI doit être reliée à 5 V.
Le sketch d'écriture enregistre la valeur "100" à l'adresse 5 de l'EEPROM.
On pourra ensuite exécuter à nouveau le sketch de lecture pour vérifier que l'adresse 5 contient maintenant la valeur 100:
Dans tous les cas, j'ai utilisé la bibliothèque Wire intégrée à l'IDE Arduino pour gérer la communication I2C. Exemples de sketch pour le 24LC01B Le 24LC01B (fiche technique) comporte 128 octets numérotés de 0 à 127. Chacun de ces 128 emplacements de mémoire peut contenir une valeur située entre 0 et 255. Le sketch ci-dessous écrit la valeur "100" à l'adresse "5" de l'EEPROM. Cette écriture ne s'exécute qu'une seule fois, au démarrage du programme. L'essentiel du travail s'effectue dans la routine writebyte(): - On débute la transmission en indiquant l'adresse I2C du 24LC01B: Wire.beginTransmission(0x50);
- On envoie au 24LC01B l'adresse de l'octet dont on désire modifier la valeur: Wire.write(5);
- On envoie au 24LC01B la valeur qu'on désire enregistrer à cette adresse: Wire.write(100);
- On clôt la transmission: Wire.endTransmission();
- On débute la transmission en indiquant l'adresse I2C du 24LC01B: Wire.beginTransmission(0x50);
- On envoie au 24LC01B l'adresse de l'octet dont on désire lire la valeur: Wire.write(5);
- On clôt la transmission: Wire.endTransmission();
- On demande au 24LC01B de nous envoyer l'information: Wire.requestFrom(0x50, 1);
- On récupère l'information reçue: if (Wire.available()) {lecture = Wire.read();}
2 commentaires:
samdl3 mars 2021 à 15:56merci pour cette publication très explicite et simple pour la compréhension, c'est un model pour celui qui veut comprendre les mémoires 24c...
RépondreSupprimerRéponses- Répondre
Unknown23 septembre 2021 à 14:50Merci beaucoup pour ces explications, c'est ce que j'avais besoin pour programmer ma première Eeprom 24C16 !
RépondreSupprimerRéponses- Répondre
Rechercher dans ce blog
Archives du blog
- ► 2025 (5)
- ► septembre (1)
- ► août (2)
- ► juillet (2)
- ► 2023 (9)
- ► septembre (2)
- ► août (2)
- ► juillet (4)
- ► février (1)
- ► 2022 (21)
- ► octobre (1)
- ► août (5)
- ► juillet (5)
- ► juin (3)
- ► mars (2)
- ► février (3)
- ► janvier (2)
- ► 2021 (50)
- ► décembre (1)
- ► octobre (1)
- ► août (4)
- ► juillet (2)
- ► juin (5)
- ► mai (9)
- ► avril (8)
- ► mars (6)
- ► février (7)
- ► janvier (7)
- ► 2019 (77)
- ► décembre (5)
- ► novembre (8)
- ► octobre (4)
- ► septembre (7)
- ► août (8)
- ► juillet (7)
- ► juin (6)
- ► mai (3)
- ► avril (4)
- ► mars (9)
- ► février (7)
- ► janvier (9)
- ► 2018 (42)
- ► décembre (7)
- ► novembre (4)
- ► octobre (6)
- ► septembre (4)
- ► août (3)
- ► juillet (3)
- ► juin (5)
- ► mai (1)
- ► avril (1)
- ► mars (3)
- ► février (3)
- ► janvier (2)
- ► 2017 (74)
- ► décembre (6)
- ► novembre (7)
- ► octobre (8)
- ► septembre (6)
- ► août (5)
- ► juillet (4)
- ► juin (5)
- ► mai (6)
- ► avril (7)
- ► mars (4)
- ► février (7)
- ► janvier (9)
- ► 2016 (34)
- ► décembre (3)
- ► novembre (1)
- ► octobre (5)
- ► septembre (2)
- ► août (2)
- ► juillet (1)
- ► juin (5)
- ► mai (1)
- ► avril (2)
- ► mars (4)
- ► février (3)
- ► janvier (5)
- ► 2015 (58)
- ► décembre (4)
- ► novembre (4)
- ► octobre (7)
- ► septembre (4)
- ► août (5)
- ► juillet (5)
- ► juin (5)
- ► mai (4)
- ► avril (4)
- ► mars (4)
- ► février (3)
- ► janvier (9)
- ► 2014 (57)
- ► décembre (4)
- ► novembre (6)
- ► octobre (6)
- ► septembre (6)
- ► août (3)
- ► juillet (5)
- ► juin (2)
- ► mai (6)
- ► avril (4)
- ► mars (7)
- ► février (2)
- ► janvier (6)
- ► 2013 (56)
- ► décembre (3)
- ► novembre (1)
- ► octobre (5)
- ► septembre (3)
- ► août (7)
- ► juillet (7)
- ► juin (13)
- ► mai (3)
- ► avril (3)
- ► mars (2)
- ► février (2)
- ► janvier (7)
- ► 2012 (52)
- ► décembre (4)
- ► novembre (3)
- ► octobre (1)
- ► septembre (3)
- ► août (8)
- ► juillet (8)
- ► juin (3)
- ► mai (3)
- ► avril (3)
- ► mars (6)
- ► février (2)
- ► janvier (8)
- ► 2011 (26)
- ► décembre (3)
- ► octobre (3)
- ► septembre (4)
- ► août (1)
- ► juillet (3)
- ► juin (3)
- ► mai (4)
- ► avril (1)
- ► mars (1)
- ► février (3)
- ► 2010 (6)
- ► décembre (1)
- ► octobre (2)
- ► septembre (1)
- ► août (2)
Pages d'index
- Accueil
- Électronique
- Arduino
- Raspberry Pi
- ESP8266 / ESP32
- STM32
- Autres microcontrôleurs
- Moteurs et robotique
- Son et Musique
- Expériences scientifiques
- Logiciels
- À propos...
Articles les plus consultés
-
Utilisation d'un écran tactile TFT SPI 240 X 320 (ILI9341) avec un ESP32 Dans ce tuto, nous branchons à un ESP32 un écran tactile SPI 240 X 320 comportant le contrôleur ILI9341. L'ESP32 sera programmé au moye...
-
ESP32: Utilisation des entrées analogiques La mesure d'une tension analogique a toujours été un point faible de l'ESP8266: le premier module (ESP-01) ne donnait accès à aucu...
-
Fabriquons notre propre pont en H Jusqu'à maintenant, dans chaque projet impliquant le contrôle d'un ou deux moteurs DC par un microcontrôleur, j'ai utilisé un ci...
-
Fabrication d'un anémomètre (Arduino) Un anémomètre est un appareil qui permet de mesurer la vitesse du vent. C'est très facile de construire un anémomètre à coupelle, et d...
-
Explorons les portes logiques Lorsqu'on a l'habitude d'utiliser des microcontrôleurs, on a trop facilement tendance à snober les portes logiques. Il est tell... -
ESP32: production d'un signal analogique L'ESP32 comporte deux convertisseurs numérique / analogique (DAC) à 8 bits, ce qui permet de produire un véritable signal analogique, c...
-
Écran OLED SH1106 I2C et Arduino Je me suis récemment procuré un petit écran OLED de 128 X 64 pixels et. bien entendu, je me suis empressé de le faire fonctionner en le bra...
-
Programmation d'une carte STM32 avec l'IDE Arduino Maintenant que le " STM32Duino Core " de Roger Clarke a été remplacé par " l'official STM32 Core " mis au point par ...
-
Communication RF 433 MHz avec RadioHead (Arduino, ESP32, ESP8266) Dans cet article, nous établissons une communication radio à une fréquence de 433 MHz entre cartes Arduino , ESP8266 et ESP32. Il peut s...
-
Programmer l'ESP32 avec l'IDE Arduino (premiers pas) Puisque je me suis beaucoup amusé avec l'ESP8266 au cours des derniers mois, il était inévitable que je fasse un jour ou l'autre la ...
Article récent
Mini-Piano Arduino
Dans cet article, je présente la réalisation d'un mini-clavier musical réalisé au moyen d'un Arduino Uno, d'un shield TFT (écran...
Abonnement flux RSS
Libellés
- Afficheur (60)
- App Inventor (5)
- Arduiino (1)
- Arduino (223)
- Arduino; (2)
- ATTiny (8)
- Blogs (22)
- Capteur (94)
- Circuit sans microcontrôleur (69)
- Communication (47)
- ESP32 (52)
- ESP8266 (43)
- Étude de CI (25)
- Instruments (18)
- Kit (6)
- Livre (34)
- Logiciels (28)
- Micro:Bit (7)
- MSP430 (31)
- PIC (19)
- Pico (35)
- Raspberry Pi (61)
- Réparation (6)
- Robotique (69)
- Science (57)
- Son et musique (73)
- STM32 (42)
- Trouver des composants (16)
Nombre total de pages vues
Tag » Arduino I2c Eeprom Example Code
-
How To Use I2C EEPROM - Arduino Project Hub
-
I2C_EEPROM - Arduino Reference
-
Adding External I2C EEPROM To Arduino (24LC256) - HobbyTronics
-
DMRodrigues/arduino-i2c-read-eeprom - GitHub
-
Read/Write Serial EEPROM Via I2C - Fritzing
-
Reading And Writing Serial EEPROMs - Sparkfun Learn
-
How To Interface AT24C256 I2C EEPROM With Arduino?
-
Hướng Dẫn Sử Dụng Ic Eeprom 24Cxx Của Atmel Và Thư Viện
-
EEPROM With Arduino - Internal & External - DroneBot Workshop
-
Reading And Writing Data To External EEPROM Using Arduino
-
Communicate With An I2C EEPROM Device - MATLAB & Simulink
-
Using EEPROM With Arduino - Internal & External - YouTube
-
Can't Write To M24256 EEPROM Using I2C And Arduino
-
I2C EEPROM Not Working
samdl