Husk en tæller efter nulstilling
Bevar tilstanden gennem strømcyklusser.
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! 🧠
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
- Hvorfor knapper »bouncer«
- Fjern kontaktprel med millis()
- Gem en værdi i EEPROM
- Husk en tæller efter nulstilling