Innehållsförteckning:
- Steg 1: SHT25 -översikt:
- Steg 2: Vad du behöver…. !
- Steg 3: Hårdvaruanslutning:
- Steg 4: Temperatur- och luftfuktighetsövervakning Java -kod:
- Steg 5: Ansökningar:
Video: Temperatur- och luftfuktighetsövervakning med SHT25 och Raspberry Pi: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
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 temperatursensorn fungerar med hallon pi. I den här självstudien demonstreras dess arbete med hjälp av en java -kod.
Hårdvara som du kommer att behöva för detta ändamål är:
1. SHT25
2. Hallon Pi
3. I2C -kabel
4. I2C -sköld för hallonpi
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 fukt- och temperaturgivare
2. Hallon pi
3. I2C -kabel
4. I2C Shield för Raspberry Pi
5. Ethernet -kabel
Steg 3: Hårdvaruanslutning:
Hårdvaruanslutningssektionen förklarar i princip de anslutningar som krävs mellan sensorn och hallonpi. 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 luftfuktighetsövervakning Java -kod:
Fördelen med att använda hallon pi är att det ger dig flexibiliteten hos programmeringsspråket där du vill programmera kortet för att ansluta sensorn till den. Genom att utnyttja denna fördel med detta kort visar vi här sin programmering i Java. Java -koden för SHT25 kan laddas ner från vårt github -community som är Dcube Store.
Förutom användarnas lätthet förklarar vi koden här också:
Som det första kodningssteget måste du ladda ner pi4j -biblioteket för Java, eftersom det här biblioteket stöder de funktioner som används i koden. Så för att ladda ner biblioteket kan du besöka följande länk:
pi4j.com/install.html
Du kan också kopiera den fungerande java -koden för den här sensorn härifrån:
importera com.pi4j.io.i2c. I2CBus;
importera com.pi4j.io.i2c. I2CDenhet; importera com.pi4j.io.i2c. I2CFactory; importera java.io. IOException; public class SHT25 {public static void main (String args ) kastar undantag {// Skapa I2C -buss I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Skaffa I2C -enhet, SHT25 I2C -adressen är 0x40 (64) I2CDevice device = Bus.getDevice (0x40); // Skicka temperaturmätningskommando, NO HOLD master device.write ((byte) 0xF3); Tråd. Sover (500); // Läs 2 byte med data // temp msb, temp lsb byte data = ny byte [2]; device.read (data, 0, 2); // Konvertera data dubbel cTemp = ((((data [0] & 0xFF) * 256) + (data [1] & 0xFF)) * 175,72) / 65536,0) - 46,85; dubbel fTemp = (cTemp * 1,8) + 32; // Skicka kommando för fuktmätning, NO HOLD master device.write ((byte) 0xF5); Tråd. Sover (500); // Läs 2 byte med data // fuktighet msb, fuktighet lsb enhet. Läs (data, 0, 2); // Konvertera data dubbel luftfuktighet = ((((data [0] & 0xFF) * 256) + (data [1] & 0xFF)) * 125,0) / 65536,0) - 6; // Utdata till skärmen System.out.printf ("Relativ luftfuktighet: %.2f %% RH %n", luftfuktighet); System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp); System.out.printf ("Temperatur i Farhenheit: %.2f F %n", fTemp); }}
Kodens utmatning visas också på bilden ovan.
Biblioteket som underlättar i2c -kommunikation mellan sensorn och kortet är pi4j, dess olika paket I2CBus, I2CDevice och I2CFactory hjälper till att upprätta anslutningen.
importera com.pi4j.io.i2c. I2CBus;
importera com.pi4j.io.i2c. I2CDenhet; importera com.pi4j.io.i2c. I2CFactory; importera java.io. IOException;
Denna del av koden får sensorn att fungera för temperaturmätning och fuktmätning genom att skriva respektive kommandon med funktionen write () och sedan läses data med funktionen read ().
device.write ((byte) 0xF3);
Tråd. Sover (500);
// Läs 2 byte med data
// temp msb, temp lsb
byte data = ny byte [2];
device.read (data, 0, 2);
// Skicka fuktmätningskommando, NO HOLD master
device.write ((byte) 0xF5);
Tråd. Sover (500);
// Läs 2 byte med data
// fuktighet msb, fuktighet lsb
device.read (data, 0, 2);
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.
Rekommenderad:
Allt i en digital kronometer (klocka, timer, larm, temperatur): 10 steg (med bilder)
Allt i en digital kronometer (klocka, timer, larm, temperatur): Vi planerade att göra en timer för någon annan tävling, men senare implementerade vi också en klocka (utan RTC). När vi kom in i programmeringen blev vi intresserade av att tillämpa fler funktioner på enheten och slutade lägga till DS3231 RTC, som
PWM -reglerad fläkt baserad på CPU -temperatur för Raspberry Pi: 4 steg (med bilder)
PWM -reglerad fläkt baserad på CPU -temperatur för Raspberry Pi: Många fodral för Raspberry Pi har en liten 5V fläkt för att hjälpa till att kyla CPU: n. Dessa fläktar är dock vanligtvis ganska bullriga och många ansluter den till 3V3 -stiftet för att minska bullret. Dessa fläktar är vanligtvis klassade för 200mA vilket är ganska
Veckodag, kalender, tid, luftfuktighet/temperatur med batterisparläge: 10 steg (med bilder)
Veckodag, kalender, tid, luftfuktighet/temperatur med batterisparläge: Energisparläget här är det som skiljer denna instruktör från andra exempel som visar veckodag, månad, dag i månaden, tid, luftfuktighet och temperatur. Det är denna förmåga som gör att detta projekt kan köras från ett batteri, utan
Mät temperatur från PT100 med Arduino: 6 steg (med bilder)
Mätning av temperatur från PT100 Användning av Arduino: PT100 är en motståndstemperaturdetektor (RTD) som ändrar dess motstånd beroende på dess omgivande temperatur, den används i stor utsträckning för industriella processer med långsam dynamik och relativt breda temperaturområden. Den används för långsam dynami
Skickar ett SMS med temperatur i tid: 5 steg (med bilder)
Skickar ett SMS med temperatur i tid: Tanken är att få ett temperatur -sms från mina faders hus. Inget fancy bara att snabbt sätta ihop delar. Delarna är: Geekcreit ® ATmega328P Nano V3 Controller Board Compatible ArduinoDIY NANO IO Shield V1.O Expansionskort för ArduinoDS130