jsem začáteník a ,potřeboval bych, aby se uložil poslední mode do EEPROM.
A při restartu se načet.
Attiny13
Kód: Vybrat vše
#include <EEPROM.h>
const int buttonPin = PB3;
const int redPin = PB0;
const int greenPin = PB1;
const int bluePin = PB2;
byte mode;
void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  EEPROM.read(mode);
  
}
void loop() {
  int buttonState;
  buttonState = digitalRead(buttonPin);
  
  if (buttonState == LOW) {
    mode++;
    delay(250);
  }
  
  else if (mode == 0) {
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, LOW);
    digitalWrite(bluePin, LOW);
    
    
  }
  
  else if (mode == 1) {
    digitalWrite(redPin, HIGH);
    digitalWrite(greenPin, HIGH);
    digitalWrite(bluePin, HIGH);
    EEPROM.update(mode,1);
    delay(300);
    
  }
  
  else if (mode == 2) {
    digitalWrite(redPin, HIGH);
    digitalWrite(greenPin,LOW );
    digitalWrite(bluePin, LOW);
     EEPROM.update(mode,2);
    delay(300);
  }
  
  else if (mode == 3) {
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin,HIGH);
    digitalWrite(bluePin,LOW );
    EEPROM.update(mode,3);
 delay(300);
  }
   else if (mode == 4) {
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, LOW);
    digitalWrite(bluePin, HIGH);
    EEPROM.update(mode,4);
     delay(300);
  }
   else if (mode == 5) {
    digitalWrite(redPin, HIGH);
    digitalWrite(greenPin, HIGH);
    digitalWrite(bluePin, LOW);
     EEPROM.update(mode,5);
      delay(300);
  }
   else if (mode == 6) {
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, HIGH);
    digitalWrite(bluePin, HIGH);
    EEPROM.update(mode,6);
     delay(300);
  }
   else if (mode == 7) {
    digitalWrite(redPin, HIGH);
    digitalWrite(greenPin, LOW);
    digitalWrite(bluePin, HIGH);
     EEPROM.update(mode,7);
      delay(300);
  }
  
  
  else {
    mode = 0;
  }
}