Paso 5: Arduino código
#include < OneWireTempSensor.h >#include < OneWire.h >
#include < LiquidCrystal.h >
int DS18S20_Pin = 7; Pin señal DS18S20 digital 7 por rahulmitra
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
Temperatura chip entrada-salida
OneWire ds(DS18S20_Pin); el pin digital 7 por rahulmitra
void setup(void) {}
Serial.Begin(9600);
LCD.Begin (16, 2);
Imprimir un mensaje en la pantalla LCD.
LCD.Print ("Rahul Mitra");
}
void loop(void) {}
Float temperatura = getTemp();
Serial.println(Temperature);
lcd.setCursor (0, 1);
LCD.Print ("temperatura:");
LCD.Print(Temperature);
LCD.Print («* C ");
Delay(100); aquí sólo para retrasar la salida por lo que es más fácil de leer
}
Float getTemp() {}
Devuelve la temperatura de un DS18S20 en grados Celsius
datos del octeto [12];
addr Byte [8];
Si (! {ds.search(addr))}
no hay más sensores en cadena, de la búsqueda reset
DS.reset_search();
volver -1000;
}
Si (OneWire::crc8 (addr, 7)! = {addr[7])}
Serial.println ("CRC no es válido!");
volver -1000;
}
Si (addr [0]! = 0 x 10 & & addr [0]! = 0x28) {}
Serial.Print ("dispositivo no se reconoce");
volver -1000;
}
DS.Reset();
DS.Select(ADDR);
DS.Write(0X44,1); iniciar la conversión, con la energía del parásito en el final
byte actual = ds.reset();
DS.Select(ADDR);
DS.Write(0xBE); Bloc de notas de lectura
para (int i = 0; i < 9; i ++) {/ / necesitamos 9 bytes
datos [i] = ds.read();
}
DS.reset_search();
el byte MSB = datos [1];
octeto LSB = datos [0];
Float tempRead = ((MSB << 8) | LSB); utilizando el complemento de dos
Float TemperatureSum = tempRead / 16;
volver TemperatureSum;
}