Ajout d’une EEPROM 24LC256 à l’Arduino Due (2 / 3 étapes)

Étape 2: Durée de Code.

Voici quelques extraits de code que j’utilise dans mes croquis.

D’une part, inclure les en-têtes de bibliothèque fil quelque part près du dessus de votre sketch :

/* Use 24LC256 EEPROM to save settings */
 #include <Wire.h>

Puis ajouter quelques fonctions pour lire et écrire les octets de la mémoire EEPROM (je seulement me soucie octets individuels mais il y a une fonctionnalité d’écriture de page dans la puce de trop). Remarque Il existe une définition de macro de 0 x 50... Il s’agit de l’adresse de la puce sur le bus i2c (vous pouvez connecter plusieurs thingies i2c sur un bus i2c et sélectionnez celui que vous voulez parler en changeant l’adresse).

/* These two functions help us write to the 24LC256 EEPROM chip */
 #define EEPROM_ADDR 0x50
 void EEPROM_write(unsigned int addr,byte data) {
   int rdata = data;
   Wire.beginTransmission(EEPROM_ADDR);
   Wire.write((int)(addr >> 8));       // MSB
   Wire.write((int)(addr & 0xFF));     // LSB
   Wire.write(rdata);
   Wire.endTransmission();
   //Serial.print("EEPROM write: addr: ");
   //Serial.print(addr);
   //Serial.print(" ");
   //Serial.println(data);
   delay(5);
 }

 

byte EEPROM_read(unsigned int addr) {
   byte data = 0xFF;
   Wire.beginTransmission(EEPROM_ADDR);
   Wire.write((int)(addr >> 8));       // MSB
   Wire.write((int)(addr & 0xFF));     // LSB
   Wire.endTransmission();
   Wire.requestFrom(EEPROM_ADDR,1);
   if (Wire.available()) data = Wire.read();
   //Serial.print("EEPROM read: addr: ");
   //Serial.print(addr);
   //Serial.print(" ");
   //Serial.println(data);
   delay(5);
   return data;
 }

Vous pouvez décommenter la Serial.print(...) si vous voulez voir quelques-uns des lignes sortie de débogage.

Dans arduinos setup() fonction vous commencez la bibliothèque de fils et pouvez lire des valeurs initiales.
Ici, j’ai lu dans deux octets ( flags et max_cc ), deux mots ( lean_min et lean_max ) et un tableau de mots sd_max[3] :

    // read values saved in the EEPROM
    Wire.begin();
        // read values saved in the EEPROM
     Wire.begin();
     flags=EEPROM_read(0);
     max_cc=EEPROM_read(1);
     lean_min=word(EEPROM_read(3),EEPROM_read(2));
     lean_max=word(EEPROM_read(5),EEPROM_read(4));
     for(int j=0;j<3;j ) {
       sd_max[j]=word(EEPROM_read(7 j*2),EEPROM_read(6 j*2));
     }=EEPROM_read(0);
             EEPROM_write(0,flags);
          EEPROM_write(1,max_cc);
          EEPROM_write(2,lowByte(lean_min));
          EEPROM_write(3,highByte(lean_min));
          EEPROM_write(4,lowByte(lean_max));
          EEPROM_write(5,highByte(lean_max));
          for(int j=0;j<3;j ) {
            EEPROM_write(6 j*2,lowByte(sd_max[j]));
            EEPROM_write(7 j*2,highByte(sd_max[j]));
          }=EEPROM_read(1);
    =word(EEPROM_read(3),EEPROM_read(2));
    =word(EEPROM_read(5),EEPROM_read(4));
    for(int j=0;j<3;j ) {
      sd_max[j]=word(EEPROM_read(7 j*2),EEPROM_read(6 j*2));
    }

Voici le morceau de code qui écrit dans l’EEPROM :

         EEPROM_write(0,);
         EEPROM_write(1,);
         EEPROM_write(2,lowByte());
         EEPROM_write(3,highByte());
         EEPROM_write(4,lowByte());
         EEPROM_write(5,highByte());
         for(int j=0;j<3;j ) {
           EEPROM_write(6 j*2,lowByte(sd_max[j]));
           EEPROM_write(7 j*2,highByte(sd_max[j]));
         }

C’est à ce sujet vraiment.

Articles Liés

Arduino Due guitare ADC entrée et mélangeur sortie DAC

Arduino Due guitare ADC entrée et mélangeur sortie DAC

c'est la suite de mon autre instructable qui fournit un circuit pour accepter des signaux générés par une guitare dans l'arduino due ADC.[Mis à jour le 26 janvier 2014 - le schéma a changé... voir les notes ci-dessous.]Cette instructable décrit un ma
Arduino DUE guitare Pedal - matériel ouverte.

Arduino DUE guitare Pedal - matériel ouverte.

pedalSHIELD est un Open-Hardware / pédale pour guitare Open-Source Arduino shield. Il est conçu comme une plate-forme pour en savoir plus sur le traitement numérique du signal, synthétiseurs et effets guitare - sans avoir besoin d'une connaissance ap
Générateur de signal sinusoïdal triphasé 3 basé sur Arduino Due

Générateur de signal sinusoïdal triphasé 3 basé sur Arduino Due

le but de cette action est d'aider quelqu'un qui essaye d'utiliser du Due une plus grande performance + manque de référence + fiche technique non utile.ce projet est capable de générer jusqu'à 3 phase sinusoïde @ 256 échantillons / cycle à basse fréq
Arduino Due selon Fractal Audio Axe-FX II contrôleur

Arduino Due selon Fractal Audio Axe-FX II contrôleur

J'ai utilisé des effets guitare et préamplis comme la Digitech GSP-21 et de l'ART SGX2000 dans mon banc direct depuis le début des années 90. Bien que les grandes unités pour leur période, il était temps pour une mise à niveau. Après avoir lu quelque
Utiliser Arduino Due à programmer et tester ESP8266

Utiliser Arduino Due à programmer et tester ESP8266

Si vous souhaitez programmer un ESP8266 (Wifi SoC) vous serez normalement utiliser un adapteur USB vers série comme celui-ci. Dans le cas où vous n'en avez pas, mais vous avez un Arduino Due portant autour de vous peut gréer l'Arduino comme un pont à
Maison construite télécommande IR récepteur ou démodulateur utilisant le Phototransistor et Arduino Due

Maison construite télécommande IR récepteur ou démodulateur utilisant le Phototransistor et Arduino Due

Mon module de récepteur IR de Banggood bangged après la première manche - il juste cessé de travailler. Une nouvelle prochaine va prendre des semaines à arriver, mais le spectacle doit continuer... donc décidé de trouver une solution temporaire, et c
Créer une interruption interne dans Arduino

Créer une interruption interne dans Arduino

Interruption est un processus où vous pourrez compléter certaines défenses par la fonction d'interruption sans interrompre votre programme continu. Par exemple, supposons que vous voulez dormir 2 heures et après cela, vous voulez aller à votre travai
Simplifié électrique Imp de Tutorial Arduino Due

Simplifié électrique Imp de Tutorial Arduino Due

Introduction:Il s'agit d'un tutoriel de base pour envoyer des informations de l'Imp électrique à l'Arduino par UART (RX, TX) je suis assez nouveau pour les deux si certaines choses que j'écris est peut-être incorrect. Plupart des informations de que
Entrée Arduino Due guitare ADC

Entrée Arduino Due guitare ADC

je voulais construire un circuit d'entrée guitare pour un arduino due ADC.Le circuit est destiné à être relié à un arduino due broche analogique. Ces broches d'entrée ADC nécessitent une tension comprise entre 0 et 3.3V lors de la sortie du micro gui
Cylindre POV avec Arduino Due

Cylindre POV avec Arduino Due

Le cylindre de POV affiche des images GIF animées sur un cylindre rotatif. Les images GIF peuvent être téléchargés à partir d'un PC via Bluetooth.IntroductionL'année dernière, j'ai décidé de commencer mon premier projet Arduino. Mon travail s'inspire
Ajouter un programmeur personnalisé sur IDE Arduino

Ajouter un programmeur personnalisé sur IDE Arduino

lorsque j'ai décidé de chercher un programmeur, je n'aurais jamais imaginé qu'elle aurait mal à l'utiliser avec l'IDE Arduino...Mais j'ai... lolJ'ai acheté un programmador comme ça sur Ebay.http://www.eBay.com/ITM/mini-AVRISP-STK500-avr-ISP-programme
Comment faire une sonde d’oscilloscope Arduino

Comment faire une sonde d’oscilloscope Arduino

ce instructabe vous montrera comment faire une sonde d'oscilloscope arduino pour ces liens, oscilloscope d'un poorman et un oscilloscope de canaux multiples pour arduino /Étape 1: Matériaux et composants Outilsfer à soudersoudureforet de Hobby (si vo
Ajout d’une base à une « troisième main »

Ajout d’une base à une « troisième main »

Lorsque vous travaillez sur des projets électroniques, j'ai trouver une « troisième main » indispensable. Disponible auprès de magasins comme Harbor Freight, généralement pour moins de 5,00 $, ce n'est pas un outil coûteux. Malheureusement, la base d
Pirater un changeur de voix pour ajouter une entrée de Arduino

Pirater un changeur de voix pour ajouter une entrée de Arduino

un autre hack rapide. J'ai acheté un changeur de voix parce que je cherchais quelque chose de bon marché qui pourrait être piraté un périphérique d'entrée vocale. Fondamentalement, j'ai voulu animer un crâne quand j'ai parlé. En prime, maintenant que