Det fungerar bra. Men jag kom på att jag skulle vilja kunna spara ytterligare en position med en ny knapp.
Så att den stannar vid Två ställen istället för bara en.
Pulserna i storlek på siffror blir aldrig mer än 2000+ eller 2000-.
Är det något särskilt man bör tänka på här?
Denna "bank" ligger på adress 0, kan man bara skapa en ny på adress 1?
Just det här med minnes-sparning på Arduino är något som får mig extra förvirrad utöver det vanliga.
Kod: Markera allt
#include <EEPROM.h> // ligger längre upp i koden
// -------- SPARAR POSITION TILL EEPROM ----
{
val = digitalRead(PositionSavePin); // Knapp som sparar position
if (val == HIGH) { // Kollar om knappen är tryckt
UserStopPulseCount = PulseCount;
EEPROM.put(0, UserStopPulseCount); // Skriver PulseCount numret till minnet, adressen är 0
EEPROM.put(4, UserStopPulseCount+1); // Was is dat? Minne nr 2?
lcd.setCursor(0, 1); // Dessa två rader skriver till LCD, i detta fall är 0,1 rad 2
lcd.print(PulseCount);
delay(750);
lcd.setCursor(0, 1);
lcd.print("Pos. SAVED");
Serial.println("Saving position to memory");
delay(750);
}
}
// -------- RADERAR positionen från minnet/EEPROM --------
{
val = digitalRead(PositionErasePin); // Knapp som raderar minnet
if (val == HIGH) { // Kollar om knappen är tryckt
UserStopPulseCount = -999; // Sätt denna utanför området som masten kan nå, var tidigare 0
EEPROM.put(0, UserStopPulseCount); //
lcd.setCursor(0, 1); // Dessa två rader skriver till LCD, i detta fall är 0, 1 rad 2 på skärmen
lcd.print("Pos. erased");
Serial.println("Erasing position from memory");
delay(1000);
}
}