Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
El sensor de temperatura digital STS21 ofrece un rendimiento superior y ocupa poco espacio. Proporciona señales calibradas y linealizadas en formato digital I2C. La fabricación de este sensor se basa en la tecnología CMOSens, que se atribuye al rendimiento superior y la fiabilidad del STS21. La resolución de STS21 se puede cambiar mediante un comando, se puede detectar batería baja y una suma de verificación ayuda a mejorar la confiabilidad de la comunicación. Aquí está su demostración de cómo interactuar con Particle Photon.
Paso 1: ¡¡Lo que necesitas …
1. Fotón de partículas
2. STS21
3. Cable I²C
4. Escudo I²C para fotones de partículas
Paso 2: Conexión:
Tome un escudo I2C para fotones de partículas y empújelo suavemente sobre los pines del fotón de partículas.
Luego, conecte un extremo del cable I2C al sensor STS21 y el otro extremo al blindaje I2C.
Las conexiones se muestran en la imagen de arriba.
Paso 3: Código:
El código de partículas para STS21 se puede descargar de nuestro repositorio de GitHub: Dcube Store.
Aquí está el enlace para el mismo:
github.com/DcubeTechVentures/STS21
Hemos utilizado dos bibliotecas para código de partículas, que son application.hy spark_wiring_i2c.h. Se requiere la biblioteca Spark_wiring_i2c para facilitar la comunicación I2C con el sensor.
También puede copiar el código desde aquí, se proporciona de la siguiente manera:
// Distribuido con licencia de libre albedrío.
// Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.
// STS21
// Este código está diseñado para funcionar con el Mini Módulo STS21_I2CS I2C disponible en Dcube Store.
#incluir
#incluir
// La dirección STS21 I2C es 0x4A (74)
#define addr 0x4A
float cTemp = 0.0;
configuración vacía ()
{
// Establecer variable
Particle.variable ("i2cdevice", "STS21");
Particle.variable ("cTemp", cTemp);
// Inicializar la comunicación I2C como MASTER
Wire.begin ();
// Inicie la comunicación en serie, establezca la velocidad en baudios = 9600
Serial.begin (9600);
retraso (300);}
bucle vacío ()
{
datos int sin firmar [2];
// Iniciar transmisión I2C
Wire.beginTransmission (dirección);
// Seleccionar maestro sin retención
Wire.write (0xF3);
// Fin de la transmisión I2C
Wire.endTransmission ();
retraso (500);
// Solicita 2 bytes de datos
Wire.requestFrom (dirección, 2);
// Leer 2 bytes de datos
if (Cable disponible () == 2)
{
datos [0] = Wire.read ();
datos [1] = Wire.read ();
}
// Convertir los datos
int rawtmp = datos [0] * 256 + datos [1];
valor int = rawtmp & 0xFFFC;
cTemp = -46,85 + (175,72 * (valor / 65536,0));
float fTemp = cTemp * 1.8 + 32;
// Salida de datos al tablero
Particle.publish ("Temperatura en grados Celsius:", String (cTemp));
Particle.publish ("Temperatura en Fahrenheit:", String (fTemp));
retraso (1000);
}
Paso 4: Aplicaciones:
El sensor de temperatura digital STS21 se puede utilizar en sistemas que requieren un control de temperatura de alta precisión. Se puede incorporar en varios equipos informáticos, equipos médicos y sistemas de control industrial con el requisito de medir la temperatura con una precisión competente.