0Pricing
Arduino & IoT Academy · Lekcja

Obsługa nieudanych odczytów

Wykrywać NaN i ponawiać próbę bez powodowania awarii.

Obsługa nieudanych odczytów to bezpłatna lekcja Arduino & IoT Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Arduino & IoT Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Arduino & IoT Academy zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

Reads Can Fail

Even a good sensor sometimes returns nothing useful. Loose wires, fast polling, or noise can cause a failed read, so plan for it. ⚠️

Meet NaN

When a read fails, the library returns NaN, which means Not a Number. It is the sensor's way of saying I did not get a value.

Why NaN Is Tricky

A NaN never equals anything, not even itself. So you cannot just compare it with a normal number to catch the error.

Detect It with isnan

Use the built-in isnan() function to test a reading. It returns true when the value is the failed NaN result.

if (isnan(t)) {
}

Check Before You Use

Always test a reading before you print or act on it. Skipping this check lets bad data slip into your logic unnoticed.

Check Both Values

Guard temperature and humidity together, since either can fail. If one is NaN, treat the whole reading as bad and skip it.

if (isnan(t) || isnan(h)) {
  return;
}

Print a Warning

When a read fails, print a clear message instead of a value. Future you will thank present you for the helpful note.

Serial.println("Failed to read DHT!");

Retry, Do Not Crash

A single failure is normal, so do not stop the program. Simply retry on the next loop and the reading usually succeeds.

Keep the Last Good Value

For a steady display, store the last good reading and reuse it when a read fails. Your screen never shows an ugly blank.

Slow Down to Fix Failures

If failures pile up, you may be reading too fast or your wiring is loose. A longer delay and a firm connection often cure it.

Robust by Design

Handling errors gracefully is what separates a toy from a real device. Your sensor now survives the occasional hiccup calmly.

Quick Check

A DHT read fails. How should your sketch detect that in code?

Recap

You learned that failed reads return NaN, caught them with isnan, warned instead of crashing, and kept your device steady. 🎉

Często zadawane pytania

Czy lekcja „Obsługa nieudanych odczytów” jest bezpłatna?

Tak — pełny tekst „Obsługa nieudanych odczytów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Arduino & IoT Academy, przejdź na CoddyKit PRO. Kurs Arduino & IoT Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Obsługa nieudanych odczytów”?

Wykrywać NaN i ponawiać próbę bez powodowania awarii. Ćwiczysz Arduino & IoT Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Arduino & IoT Academy?

Nie wymagamy żadnego doświadczenia. Arduino & IoT Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Obsługa nieudanych odczytów”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Arduino & IoT Academy?

Tak. Każda lekcja Arduino & IoT Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podłączanie DHT11/DHT22
  2. Instalowanie biblioteki DHT
  3. Odczytywanie temperatury i wilgotności
  4. Obsługa nieudanych odczytów
← Powrót do Arduino & IoT Academy