Trate leituras malsucedidas
Detecte NaN e tente novamente sem causar uma falha.
Trate leituras malsucedidas é uma aula grátis de Arduino & IoT Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Arduino & IoT Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Arduino & IoT Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
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. 🎉
Perguntas Frequentes
A aula “Trate leituras malsucedidas” é grátis?
Sim — o texto completo de “Trate leituras malsucedidas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Arduino & IoT Academy, atualize para CoddyKit PRO. O curso de Arduino & IoT Academy inclui 4 aulas no total.
O que vou aprender em “Trate leituras malsucedidas”?
Detecte NaN e tente novamente sem causar uma falha. Você pratica Arduino & IoT Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Arduino & IoT Academy?
Nenhuma experiência prévia é necessária. Arduino & IoT Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Trate leituras malsucedidas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Arduino & IoT Academy?
Sim. Cada aula de Arduino & IoT Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Conecte o DHT11/DHT22
- Instale a biblioteca do DHT
- Leia temperatura e umidade
- Trate leituras malsucedidas