Check if the communication of the sensor work

Hi guys,

I'm using this sensor: DHT22, MPL11A2, DS18B20 and SD shield.

I would like to check, in the setup, if the communication from arduino to the sensors work. For now I'm using this code:

    //SD Shield
    if (!SD.begin(4)) {
        Serial.println("Modulo SD: ERRORE");
    Serial.println("Modulo SD: OK");

    if (isnan(dht.readTemperature()) || isnan(dht.readHumidity())) {
        Serial.println("Modulo DHT: ERRORE");
    else {
        Serial.println("Modulo DHT: OK");

    if (isnan(ds18b20.getTempCByIndex(0)) || isnan(ds18b20.getTempCByIndex(0))) {
        Serial.println("Modulo DS18B20: ERRORE");
    else {
        Serial.println("Modulo DS18B20: OK");
    if (isnan(mpl115a2.getPressure())) {
        Serial.println("Modulo MPL115A2: ERRORE");
    else {
        Serial.println("Modulo MPL115A2: OK");

So, there is a better way ?

Thank you

What values do you get back when a device is not there? I assume isnan() tests for Not a Number but a simple compare may be simpler.


for the arduino work ! lool

for example, if I remove ds18b20 the serial communication read -127.00°C. This is a number and for the sketch there is a communication.
But I need a confirm that the sensor communicate correctly with arduino !

if I remove ds18b20 the serial communication read -127.00°C. This is a number...

So your current code doesn't work then?

I thought it did work but you just wanted a better way.