Obsah:

Inicializace nastavení Arduino EEPROM: 5 kroků
Inicializace nastavení Arduino EEPROM: 5 kroků

Video: Inicializace nastavení Arduino EEPROM: 5 kroků

Video: Inicializace nastavení Arduino EEPROM: 5 kroků
Video: Using EEPROM with Arduino - Internal & External 2024, Červenec
Anonim
Image
Image
Co je EEPROM?
Co je EEPROM?

Ahoj všichni, Každé Arduino má malou vestavěnou paměť s názvem EEPROM. Můžete to použít k uložení nastavení pro váš projekt, kde budou zvolené hodnoty zachovány mezi cykly napájení a budou tam příště, když zapnete Arduino. Mám skvělý trik, který vás naučí, jak můžete při prvním spuštění inicializovat sadu výchozích hodnot, takže se držte, abyste zjistili, jak.

Krok 1: Co je EEPROM?

Co je EEPROM?
Co je EEPROM?

EEPROM je malé paměťové úložiště, jehož hodnoty jsou uchovávány, i když je deska Arduino vypnutá. Funguje to jako malý pevný disk, takže si můžete uložit parametry pro příští zapnutí zařízení. V závislosti na typu desky Arduino budete mít na každém k dispozici jiné množství úložiště, takže například Uno má 1024 bajtů, Mega má 4096 bajtů a LilyPad má 512 bajtů.

Je důležité si uvědomit, že všechny paměti EEPROM mají omezený počet cyklů zápisu. Atmel uvádí životnost EEPROM na Arduinu přibližně 100 000 cyklů zápisu/vymazání. Může to znít jako hodně zápisů, ale může být snadné dosáhnout tohoto limitu, pokud čtete a píšete ve smyčce. Jakmile je místo mnohokrát zapsáno a vymazáno, může začít být nespolehlivé. Nemusí vrátit správná data nebo vrátit hodnotu ze sousedního bitu.

Krok 2: Importujte knihovnu

Importovat knihovnu
Importovat knihovnu
Importovat knihovnu
Importovat knihovnu
Importovat knihovnu
Importovat knihovnu

Abychom mohli tuto paměť používat, nejprve zahrneme poskytnutou knihovnu od Arduina. Knihovna poskytuje dvě metody: čtení a zápis pro příslušné akce. Funkce čtení přijímá adresu, ze které chceme číst, zatímco funkce zápis přijímá adresu i hodnotu, kterou chceme zapsat.

V našem příkladu je cílem mít při každém spuštění Arduina připravenou řadu nastavení, takže začneme definováním pole, které použijeme pro úložiště, a definováním adres pro každé nastavení, které chceme uložit. V čipu, kde máme k dispozici 1 024 bajtů, bude umístění adresy od 0 do 1023.

Krok 3: Nastavte příznak inicializace

Nastavte příznak inicializace
Nastavte příznak inicializace

Trik pro počáteční nastavení výchozích hodnot pro nastavení je použít jednu z adres jako indikátor, zda bylo nastavení inicializováno nebo ne. Použil jsem k tomu poslední umístění adresy, protože se často nepoužívá na nic jiného. Funkce loadSettings nejprve zkontroluje toto umístění, pokud je zde uložená hodnota tvořena znakem „T“, a pokud ne, přejde k nastavení nastavením a pro každý z nich zapíše počáteční hodnoty. Jakmile je hotovo, nyní nastaví hodnotu místa, kde sledujeme inicializovaná nastavení, na znak „T“a příště, když zapneme Arduino, již nebudeme inicializovat hodnoty, ale místo toho načteme uložená data do naše pole.

Krok 4: Aktualizace nastavení

Aktualizace nastavení
Aktualizace nastavení

Pro aktualizaci hodnot můžeme buď použít funkci write, jak jsme ji měli při inicializaci, ale lepší způsob je použít poskytnutou funkci aktualizace. Tato funkce dělá, že nejprve zkontroluje, zda hodnota, kterou se pokoušíme uložit, je stejná jako v EEPROM, a pokud ano, neaktualizuje se. Tím se pokusí minimalizovat počet operací zápisu, aby se prodloužila životnost paměti EEPROM.

Krok 5: Užijte si to

Užívat si!
Užívat si!
Užívat si!
Užívat si!

Doufám, že vám tento Instructable pomohl a že jste se něco naučili. Zdrojový kód je k dispozici na mé stránce GitHub a odkaz je níže. Pokud máte nějaké návrhy, zanechte je prosím v komentářích a nezapomeňte se přihlásit k odběru mého kanálu YouTube pro další podobná videa.

Doporučuje: