Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Vi har nyligen arbetat med olika projekt som krävde temperatur- och fuktövervakning och sedan insåg vi att dessa två parametrar faktiskt spelar en avgörande roll för att ha en uppskattning av ett systems effektivitet. Både på industrinivå och personliga system är en optimal temperaturnivå nödvändig för att systemet ska fungera korrekt.
Detta är anledningen, i denna handledning kommer vi att förklara hur SHT25 fukt- och temperaturgivare fungerar med Arduino Nano.
Steg 1: SHT25 -översikt:
Först och främst kan vi börja med den grundläggande förståelsen för sensorn och det protokoll som den fungerar på.
SHT25 I2C Luftfuktighets- och temperatursensor ± 1,8%RH ± 0,2 ° C I2C minimodul. Det är luftfuktighet med hög noggrannhet och temperatursensorn har blivit en industristandard när det gäller formfaktor och intelligens, vilket ger kalibrerade, lineariserade sensorsignaler i digitalt I2C-format. Denna sensor är integrerad med en specialiserad analog och digital krets och är en av de mest effektiva enheterna för att mäta temperatur och luftfuktighet.
Kommunikationsprotokollet som sensorn fungerar på är I2C. I2C står för den interintegrerade kretsen. Det är ett kommunikationsprotokoll där kommunikationen sker via SDA (seriell data) och SCL (seriell klocka) linjer. Det gör det möjligt att ansluta flera enheter samtidigt. Det är ett av de enklaste och mest effektiva kommunikationsprotokollet.
Steg 2: Vad du behöver.. !
Materialet vi behöver för att uppnå vårt mål inkluderar följande hårdvarukomponenter:
1. SHT25 Luftfuktighets- och temperaturgivare
2. Arduino Nano
3. I2C -kabel
4. I2C -skärm för Arduino nano
Steg 3: Hårdvaruanslutning:
Hårdvaruanslutningssektionen förklarar i princip kabelförbindelserna som krävs mellan sensorn och arduino nano. Att säkerställa korrekta anslutningar är den grundläggande nödvändigheten när du arbetar på något system för önskad utgång. Så, de nödvändiga anslutningarna är följande:
SHT25 fungerar över I2C. Här är exemplet kopplingsschema som visar hur man kopplar upp varje gränssnitt för sensorn.
Out-of-the-box är kortet konfigurerat för ett I2C-gränssnitt, därför rekommenderar vi att du använder den här anslutningen om du annars är agnostiker. Allt du behöver är fyra ledningar!
Endast fyra anslutningar krävs Vcc, Gnd, SCL och SDA -stift och dessa är anslutna med hjälp av I2C -kabel.
Dessa kopplingar visas i bilderna ovan.
Steg 4: Temperatur- och fuktövervakningskod:
Låt oss börja med Arduino -koden nu.
När vi använder sensormodulen med Arduino inkluderar vi Wire.h -biblioteket. "Wire" -biblioteket innehåller de funktioner som underlättar i2c -kommunikationen mellan sensorn och Arduino -kortet.
Hela Arduino -koden anges nedan för användarens bekvämlighet:
#omfatta
// SHT25 I2C -adressen är 0x40 (64)
#define Addr 0x40
void setup ()
{
// Initiera I2C -kommunikation som MASTER
Wire.begin ();
// Initiera seriell kommunikation, ange överföringshastighet = 9600
Serial.begin (9600);
fördröjning (300);
}
void loop ()
{
osignerade int -data [2];
// Starta I2C -överföring
Wire.beginTransmission (Addr);
// Skicka fuktmätningskommando, NO HOLD master
Wire.write (0xF5);
// Stoppa I2C -överföring
Wire.endTransmission ();
fördröjning (500);
// Begär 2 byte med data
Wire.requestFrom (Addr, 2);
// Läs 2 byte med data
// fuktighet msb, fuktighet lsb
om (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
// Konvertera data
flottörfuktighet = (((data [0] * 256,0 + data [1]) * 125,0) / 65536,0) - 6;
// Utdata till Serial Monitor
Serial.print ("Relativ luftfuktighet:");
Seriellt tryck (luftfuktighet);
Serial.println (" %RH");
}
// Starta I2C -överföring
Wire.beginTransmission (Addr);
// Skicka temperaturmätningskommando, NO HOLD master
Wire.write (0xF3);
// Stoppa I2C -överföring
Wire.endTransmission ();
fördröjning (500);
// Begär 2 byte med data
Wire.requestFrom (Addr, 2);
// Läs 2 byte med data
// temp msb, temp lsb
om (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
// Konvertera data
float cTemp = (((data [0] * 256,0 + data [1]) * 175,72) / 65536,0) - 46,85;
float fTemp = (cTemp * 1.8) + 32;
// Utdata till Serial Monitor
Serial.print ("Temperatur i Celsius:");
Serial.print (cTemp); Serial.println ("C");
Serial.print ("Temperatur i Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
}
fördröjning (300);
}
Allt du behöver göra är att bränna koden i Arduino och kontrollera dina avläsningar på den seriella porten. Utmatningen visas på bilden ovan.
Steg 5: Ansökningar:
SHT25 temperatur- och relativfuktighetssensor har olika industriella tillämpningar som temperaturövervakning, dator perifert termiskt skydd. Vi har också använt denna sensor i väderstationsapplikationer samt växthusövervakningssystem.