Paso 4: programación
#include
#include LiquidCrystal lcd (6, 7, 5, 4, 3, 2);
void setup()
{
configurar número la pantalla del LCD de columnas y filas
LCD.Begin (16, 2);
Dirección I2C de la STS21
#define TMP_ADDR 0x4A
A Bus I2c como maestro
Wire.Begin();
Iniciar la comunicación serial
Serial.Begin(9600);
Comienza transmisión
Wire.beginTransmission(TMP_ADDR);
No seleccionar a ningún maestro espera
Wire.Write(0xF3);
Fin transmisión y lanzamiento bus I2C
Wire.endTransmission();
}
void loop()
{
Comienza transmisión
Wire.beginTransmission(TMP_ADDR);
Seleccionar registros de datos
Wire.Write(TMP_ADDR);
Fin transmisión y lanzamiento bus I2C
Delay(500);
Solicitar 2 bytes, Msb primero
Wire.requestFrom (TMP_ADDR, 2);
Leer dos bytes
while(Wire.Available())
{
int msb = Wire.read();
lsb de int = Wire.read();
Wire.endTransmission();
Conversión de datos en valores crudos
int rawtmp = msb << 8 |lsb;
int valor = rawtmp & 0xFFFC;
doble y =-46.85 + (175.72 * (valor / 65536.0));
Salida de la impresión
Serial.Print ("valor de celsius:");
Serial.println(ANS);
lcd.setCursor (0, 0);
LCD.Print ("valor de celsius:");
lcd.setCursor(0,1);
LCD.Print(ANS,10);
Delay(1000);
} }