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;
}
}