Arduino & IoT Academy · Lektion

Husk en tæller efter nulstilling

Bevar tilstanden gennem strømcyklusser.

Lektion 4 af 413 trin

Husk en tæller efter nulstilling er en gratis Arduino & IoT Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Arduino & IoT Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Arduino & IoT Academy-kurset indeholder 4 lektioner i alt.

En tæller, der overlever

Lad os bygge en tryktæller, der husker sit samlede antal selv efter et strømsvigt. Vi kombinerer afprelning med EEPROM-lagring.

Planen i én linje

Ved opstart indlæser du det gemte antal. Ved hvert rent tryk lægger du én til og gemmer det igen. Enkelt, men effektivt.

Vælg en lagerplads

Reserver én EEPROM-adresse til tælleren. Indtil videre holder vi den lille nok til at passe i én byte.

const int ADDR = 0;
byte count = 0;

Indlæs ved opstart

Læs først den gemte værdi inde i setup(). Nu fortsætter tælleren præcis der, hvor den slap.

void setup() {
  count = EEPROM.read(ADDR);
}

Ryd uønskede data først

En ny chips EEPROM viser ofte 255. Betragt det som tomt, og nulstil tælleren til nul ved første kørsel.

if (count == 255) count = 0;

Genbrug din afprelning

Registrér tryk med den tidligere viste millis()-afprelning. Rent input er afgørende, ellers vokser det gemte antal fejlagtigt.

Forøg ved et rent tryk

Når et afprellet tryk udløses, øger du tælleren med én. Det er det eneste tidspunkt, hvor dit samlede antal vokser.

count++;
Serial.println(count);

Gem uden at slide hukommelsen op

Brug EEPROM.update til at gemme det nye samlede antal. Den skriver kun til hukommelsen, når værdien faktisk er ændret, så chippen beskyttes.

EEPROM.update(ADDR, count);

Afprøv magien

Tryk nogle gange, og tag derefter strømmen fra kortet, før du tilslutter det igen. Serielmonitoren viser, at tællingen fortsætter i stedet for at starte forfra. 🎉

Husk bytegrænsen

En byte-tæller ruller tilbage til 0 efter 255. Hvis du har brug for større antal, skal du i stedet gemme en int med EEPROM.put og EEPROM.get.

Tilføj en nulstillingsmulighed

Et rigtigt produkt har ofte brug for en måde at rydde det gemte antal på. Et langt tryk på knappen kan skrive 0 tilbage til EEPROM.

EEPROM.update(ADDR, 0);

Hurtigt tjek

Lad os se på det afgørende trin, der får tælleren til at overleve en nulstilling.

Opsummering: Hukommelse på tværs af nulstillinger

Du byggede en tæller, der bevarer sin værdi ved at indlæse fra EEPROM ved opstart og gemme hvert rent tryk. Din enhed har endelig fået en hukommelse! 🧠

Gratis at komme i gang

Lær C++ med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Husk en tæller efter nulstilling” gratis?

Ja — hele teksten til “Husk en tæller efter nulstilling” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Arduino & IoT Academy-kurset, skal du opgradere til CoddyKit PRO. Arduino & IoT Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Husk en tæller efter nulstilling”?

Bevar tilstanden gennem strømcyklusser. Du øver dig i Arduino & IoT Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Arduino & IoT Academy?

Der kræves ingen tidligere erfaring. Arduino & IoT Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Husk en tæller efter nulstilling”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Arduino & IoT Academy-lektion?

Ja. Alle Arduino & IoT Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvorfor knapper »bouncer«
  2. Fjern kontaktprel med millis()
  3. Gem en værdi i EEPROM
  4. Husk en tæller efter nulstilling
← Tilbage til Arduino & IoT Academy