Spisu treści:
- Krok 1: Co to jest EEPROM?
- Krok 2: Importuj bibliotekę
- Krok 3: Ustaw flagę inicjalizacji
- Krok 4: Aktualizacja ustawień
- Krok 5: Ciesz się
Wideo: Inicjalizacja ustawień Arduino EEPROM: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Cześć wszystkim, Każde Arduino ma małą wbudowaną pamięć o nazwie EEPROM. Możesz użyć tego do przechowywania ustawień swojego projektu, w którym wybrane wartości będą przechowywane między cyklami zasilania i będą tam następnym razem, gdy włączysz Arduino. Mam fajną sztuczkę, która nauczy Cię, jak zainicjować zestaw domyślnych wartości podczas pierwszego uruchomienia, więc trzymaj się, aby dowiedzieć się, jak to zrobić.
Krok 1: Co to jest EEPROM?
EEPROM to niewielka pamięć, której wartości są zachowywane nawet wtedy, gdy płyta Arduino jest wyłączona. Działa jak mały dysk twardy, dzięki czemu możesz przechowywać parametry przy następnym uruchomieniu urządzenia. W zależności od typu płytki Arduino, na każdej z nich dostępna będzie inna ilość pamięci, na przykład Uno ma 1024 bajty, Mega ma 4096 bajtów, a LilyPad ma 512 bajtów.
Należy zauważyć, że wszystkie EEPROM mają ograniczoną liczbę cykli zapisu. Atmel określa oczekiwaną żywotność około 100 000 cykli zapisu/kasowania pamięci EEPROM w Arduino. Może to brzmieć jak wiele zapisów, ale osiągnięcie tego limitu może być łatwe, jeśli czytasz i piszesz w pętli. Gdy lokalizacja zostanie zapisana i usunięta zbyt wiele razy, może zacząć stawać się niewiarygodna. Może nie zwracać poprawnych danych lub zwracać wartości z sąsiedniego bitu.
Krok 2: Importuj bibliotekę
Aby wykorzystać tę pamięć, najpierw dołączamy dostarczoną przez Arduino bibliotekę. Biblioteka udostępnia dwie metody: odczyt i zapis dla odpowiednich akcji. Funkcja read akceptuje adres, z którego chcemy czytać, podczas gdy funkcja write akceptuje zarówno adres, jak i wartość, którą chcemy zapisać.
W naszym przykładzie celem jest przygotowanie tablicy ustawień przy każdym uruchomieniu Arduino, więc zaczynamy od zdefiniowania tablicy, której będziemy używać do przechowywania i zdefiniowania adresów dla każdego z ustawień, które chcemy przechowywać. W chipie, w którym mamy dostępne 1024 bajty, lokalizacje adresów będą wynosić od 0 do 1023.
Krok 3: Ustaw flagę inicjalizacji
Sztuczka dla początkowego ustawienia wartości domyślnych ustawień polega na użyciu jednego z adresów jako wskaźnika, czy ustawienia zostały zainicjowane, czy nie. Użyłem do tego ostatniej lokalizacji adresu, ponieważ często nie jest ona używana do niczego innego. Funkcja loadSettings najpierw sprawdzi tę lokalizację, czy wartość tam zapisana jest znakiem „T”, a jeśli nie, przejdzie do ustawiania przez ustawienie, zapisując początkowe wartości dla każdego z nich. Po zakończeniu ustawi teraz wartość lokalizacji, w której śledzimy zainicjowane ustawienia, na znak „T”, a następnym razem, gdy włączymy Arduino, nie będziemy już inicjować wartości, ale zamiast tego wczytamy zapisane dane do nasza tablica.
Krok 4: Aktualizacja ustawień
Do aktualizacji wartości możemy użyć funkcji zapisu, tak jak przy inicjalizacji, ale lepszym sposobem jest użycie dostarczonej funkcji aktualizacji. Funkcja ta najpierw sprawdza, czy wartość, którą próbujemy zapisać, jest tą samą wartością, która jest już w EEPROM, a jeśli tak, to nie aktualizuje. W ten sposób stara się zminimalizować liczbę operacji zapisu, aby przedłużyć żywotność EEPROM.
Krok 5: Ciesz się
Mam nadzieję, że ten Instruktaż był dla ciebie pomocny i że udało ci się czegoś nauczyć. Kod źródłowy jest dostępny na mojej stronie GitHub, a link znajduje się poniżej. Jeśli masz jakieś sugestie, zostaw je w komentarzach i nie zapomnij zasubskrybować mojego kanału YouTube, aby uzyskać więcej podobnych filmów.
Zalecana:
Odczytywanie i zapisywanie danych do zewnętrznej pamięci EEPROM za pomocą Arduino: 5 kroków
Odczytywanie i zapisywanie danych do zewnętrznej pamięci EEPROM za pomocą Arduino: EEPROM to skrót od Electricly Erasable Programmable Read-Only Memory. EEPROM jest bardzo ważny i użyteczny, ponieważ jest nieulotną formą pamięci. Oznacza to, że nawet gdy płyta jest wyłączona, układ EEPROM nadal zachowuje program, który
Sonda pomiaru poziomu wód gruntowych dla ustawień niskich zasobów: 4 kroki (ze zdjęciami)
Sonda do pomiaru poziomu wód gruntowych dla ustawień o niskich zasobach: wprowadzenie Otrzymaliśmy od Oxfam prośbę o opracowanie prostego sposobu, za pomocą którego dzieci w wieku szkolnym w Afganistanie mogłyby monitorować poziom wód gruntowych w pobliskich studniach. Ta strona została przetłumaczona na język dari przez dr Amira Haidari, a tłumaczenie może być f
Portal przechwytujący ESP32 do konfiguracji ustawień statycznych i DHCP IP: 8 kroków
ESP32 Captive Portal do konfiguracji statycznych i DHCP ustawień IP: ESP 32 to urządzenie ze zintegrowanym WiFi i BLE. To swego rodzaju dobrodziejstwo dla projektów IoT. Po prostu podaj swój identyfikator SSID, hasło i konfigurację IP i zintegruj rzeczy z chmurą. Ale zarządzanie ustawieniami IP i poświadczeniami użytkownika może być głową
Zegar z pilotem na podczerwień do ustawień czasu/daty: 5 kroków
Zegar z pilotem na podczerwień do ustawiania czasu/daty: Jest to prosty zegar wykonany przy użyciu łatwo dostępnych komponentów. Zastosowany mikrokontroler to niedrogi STM32F030F4P6. Wyświetlacz to LCD 16x2 z plecakiem I2C (PCF8574). Obwód zegara można zbudować za pomocą małych płytek prototypowych i TSSOP
Dodaj gniazdo synchronizacji z komputerem do kabla Nikon Sc-28 Ttl (użyj ustawień automatycznych dla lampy błyskowej w aparacie i wyzwalania błysków wyłączonych z aparatu!!): 4 kroki
Dodaj gniazdo PC Sync do kabla Nikon Sc-28 Ttl (użyj automatycznych ustawień dla włączonej lampy błyskowej aparatu i wyzwalania błysków aparatu!!): w tej instrukcji pokażę, jak usunąć jedno z tych nieznośnych zastrzeżonych 3-pinowych złączy TTL na z boku kabla TTL aparatu Nikon SC-28 i zastąp go standardowym złączem do synchronizacji z komputerem. pozwoli to na użycie dedykowanej lampy błyskowej, s