• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
EEPROM nie zapisuje
#1
mam taki kod 
Kod:
void setup() {
  lcd.init();
  lcd.backlight();
  Serial.begin (9600);
  poziom.begin(1000);
  poziom1.begin(1000);
  hektary.begin(10);
  LCD.begin(1100);
  programowanie.begin(1000);
  ekrany1.begin(200);
  przejazd1.begin(1500);
  buzer.begin(1200);
  zeruj.begin(300);
  usun.begin(2000);

  lcd.setCursor(0, 0);
  lcd.print("poznaniak  ");
  pinMode(10, INPUT_PULLUP);
  pinMode(3, INPUT);
  pinMode(9, INPUT_PULLUP);
  pinMode(2, INPUT);
  pinMode(A2, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);

  dol = EEPROM.read(3);
  gora = EEPROM.read(4);
   dol1 = EEPROM.read(5);
    gora1 = EEPROM.read(6);
Serial.println(dol);
Serial.println(gora);
Serial.println(dol1);
Serial.println(gora1);
 
}

void loop() {

  



       


    if (digitalRead(9) == LOW && digitalRead(10) == LOW  )
    {
   sens1 = sens1 = 1;
     
    sens = sens = 1;
      ekrany = ekrany = 3;
     
    }
   
if (programowanie.available()) {
      if (ekrany == 3)
      {
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("tryb ");
        lcd.setCursor(0, 1);
        lcd.print("programowania ");
       
       delay(2000);
        ekrany = ekrany + 1 ;
      }
      if (ekrany == 4)
      {
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("czujnik ");
        lcd.setCursor(0, 1);
        lcd.print("lewy ");
        delay(2000);
         dol2= analogRead(A0) / 4   ;
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("dolna ");
        Serial.println("dolna");
        lcd.setCursor(0, 1);
        lcd.print(dol2);
        Serial.println(dol2);
      }
      if (digitalRead(9) == LOW && sens == 1) {
      EEPROM.write(3, dol);
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("zapisano ");
        delay(1000);
        ekrany = ekrany + 1 ;


      }
      if (ekrany == 5)
      {

       gora = analogRead(A0) / 4   ;
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("gorna ");
        Serial.println("gora");
        lcd.setCursor(0, 1);
        lcd.print(gora);
        Serial.println(gora);
      }
     if (digitalRead(9) == LOW && sens == 1) {
      EEPROM.write(4, gora);
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("zapisano ");
        delay(1000);
        ekrany = ekrany + 1 ;


      }
      if (ekrany == 6)
      {
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("czujnik ");
        lcd.setCursor(0, 1);
        lcd.print("prawy ");
        delay(2000);
     dol1 = analogRead(A1) / 4   ;
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("dolna ");
        lcd.setCursor(0, 1);
        lcd.print(dol1);
        Serial.println("dolna");
        Serial.println(dol1);
      }
      if (digitalRead(9) == LOW && sens == 1) {
       EEPROM.write(5, dol1);
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("zapisano ");
        delay(1000);
        ekrany = ekrany + 1 ;


      }
      if (ekrany == 7)
      {

       gora1 = analogRead(A1) / 4   ;
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("gorna ");
          lcd.setCursor(0, 1);
          Serial.println("gora");
        Serial.println(gora1);
         
       lcd.print(gora1);
      }
      if (digitalRead(9) == LOW && sens == 1) {
      EEPROM.write(6, gora1);
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("zapisano ");
        delay(1000);
        ekrany = ekrany + 1 ;



      }
      if (ekrany == 8)
      {
        sens1 = sens1 = 0;
        ekrany = ekrany = 0;
     por = por= 0;
        delay(1000);
      
      }
    
    programowanie.restart();
  }
  }
ogólnie zapisać się zapisuje ale po restarcie arduino nie odczytuje wartości
 
Odpowiedź
#2
poczytaj ile możesz zapisać w jednym bajcie eeprom jak skumasz to łatwo to poprawisz...
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości