Paso 3: código:
El código de arduino para STS21 puede descargarse desde el repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/STS2...
La hoja de datos de STS21 puede encontrarse aquí:
https://S3.amazonaws.com/controleverything.Media/c...
Incluimos la biblioteca Wire.h para facilitar la comunicación I2c del sensor con la placa Arduino.
También puede copiar el código desde aquí, se da como sigue:
Distribuido con una licencia de libre albedrío.
Se usa cualquier forma desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.
STS21
Este código está diseñado para trabajar con el módulo de Mini de I2C STS21_I2CS de ControlEverything.com.
https://www.controleverything.com/content/tempera...
#include < Wire.h >
Dirección I2C STS21 es 0x4A(74)
#define addr 0x4A
void setup()
{
Inicializar la comunicación I2C como maestro
Wire.Begin();
Iniciar la comunicación serial, juego velocidad en baudios = 9600
Serial.Begin(9600);
Delay(300);
}
void loop()
{
unsigned int datos [2];
Iniciar transmisión I2C
Wire.beginTransmission(addr);
No seleccionar a ningún maestro espera
Wire.Write(0xF3);
Fin transmisión I2C
Wire.endTransmission();
Delay(300);
Solicitud de 2 bytes de datos
Wire.requestFrom (addr, 2);
Lee 2 bytes de datos
Si (Wire.available() == 2)
{
datos [0] = Wire.read();
datos [1] = Wire.read();
}
Convertir los datos
int rawtmp = datos [0] * 256 + datos [1];
int valor = rawtmp & 0xFFFC;
doble cTemp =-46.85 + (175.72 * (valor / 65536.0));
doble fTemp = cTemp * 1.8 + 32;
Salida de datos monitor serial
Serial.Print ("temperatura en grados Celsius:");
Serial.Print(cTemp);
Serial.println ("C");
Serial.Print ("temperatura en grados Fahrenheit:");
Serial.Print(fTemp);
Serial.println ("F");
Delay(300);
}