Turinys:
Video: „Raspberry Pi HTS221“santykinio drėgmės ir temperatūros jutiklio „Java“pamoka: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
HTS221 yra ypač kompaktiškas talpinis skaitmeninis jutiklis, skirtas santykiniam drėgnumui ir temperatūrai. Jame yra jutimo elementas ir mišraus signalo taikymo integruotas grandynas (ASIC), skirtas pateikti matavimo informaciją per skaitmenines nuoseklias sąsajas. Integruotas su daugybe funkcijų, tai yra vienas tinkamiausių jutiklių kritiniams drėgmės ir temperatūros matavimams. Štai demonstracija su „Java“kodu naudojant „Raspberry Pi“.
1 žingsnis: ko jums reikia..
1. Avietė Pi
2. HTS221
3. I²C kabelis
4. „I²C Shield“, skirtas „Raspberry Pi“
5. Ethernet kabelis
2 žingsnis: jungtys:
Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.
Tada vieną I2C kabelio galą prijunkite prie HTS221 jutiklio, o kitą - prie I2C skydo.
Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas:
HTS221 python kodą galima atsisiųsti iš mūsų „github“saugyklos „Dcube Store“
Čia yra nuoroda į tą patį:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java
„Java“kodui naudojome „pi4j“biblioteką, čia aprašyti veiksmai, kaip įdiegti „pi4j“į aviečių pi:
pi4j.com/install.html
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
// Platinama su laisvos valios licencija.
// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.
// HTS221
// Šis kodas skirtas dirbti su „HTS221_I2CS I2C Mini“moduliu.
importuoti com.pi4j.io.i2c. I2CBus;
importuoti com.pi4j.io.i2c. I2CDevice;
importuoti com.pi4j.io.i2c. I2CFactory;
importuoti java.io. IOException;
public class HTS221 {public static void main (String args ) metimai Išimtis
{
// Sukurkite I2CBus
I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1);
// Gauti I2C įrenginį, HTS221 I2C adresas yra 0x5F (95)
I2CDĮrenginio įrenginys = autobusas.getDevice (0x5F);
// Pasirinkite vidutinį konfigūracijos registrą
// Vidutiniai temperatūros mėginiai = 16, vidutiniai drėgmės mėginiai = 32
device.write (0x10, (baitas) 0x1B);
// Pasirinkite valdymo registrą1
// Įjungimas, blokuojamas duomenų atnaujinimas, duomenų perdavimo sparta o/p = 1 Hz
device.write (0x20, (baitas) 0x85);
Siūlai.miegoti (500);
// Kalibravimo reikšmes skaitykite iš nepastovios įrenginio atminties
// Drėgmės kalibravimo vertės
baitas val = naujas baitas [2];
// Skaityti 1 baitą duomenų iš adreso 0x30 (48)
val [0] = (baitas) device.read (0x30);
// Skaityti 1 baitą duomenų iš adreso 0x31 (49)
val [1] = (baitas) device.read (0x31);
int H0 = (val [0] ir 0xFF) / 2;
int H1 = (val [1] ir 0xFF) / 2;
// Skaityti 1 baitą duomenų iš adreso 0x36 (54)
val [0] = (baitas) device.read (0x36);
// Skaityti 1 baitą duomenų iš adreso 0x37 (55)
val [1] = (baitas) device.read (0x37);
int H2 = ((val [1] ir 0xFF) * 256) + (val [0] ir 0xFF);
// Skaityti 1 baitą duomenų iš adreso 0x3A (58)
val [0] = (baitas) device.read (0x3A);
// Skaityti 1 baitą duomenų iš adreso 0x3B (59)
val [1] = (baitas) device.read (0x3B);
int H3 = ((val [1] ir 0xFF) * 256) + (val [0] ir 0xFF);
// Temperatūros kalibravimo vertės
// Skaityti 1 baitą duomenų iš adreso 0x32 (50)
int T0 = ((baitas) device.read (0x32) & 0xFF);
// Skaityti 1 baitą duomenų iš adreso 0x33 (51)
int T1 = ((baitas) device.read (0x33) & 0xFF);
// Skaityti 1 baitą duomenų iš adreso 0x35 (53)
int raw = ((baitas) device.read (0x35) & 0x0F);
// Konvertuokite temperatūros kalibravimo vertes į 10 bitų
T0 = ((neapdorotas ir 0x03) * 256) + T0;
T1 = ((neapdorota ir 0x0C) * 64) + T1;
// Skaityti 1 baitą duomenų iš adreso 0x3C (60)
val [0] = (baitas) device.read (0x3C);
// Skaityti 1 baitą duomenų iš adreso 0x3D (61)
val [1] = (baitas) device.read (0x3D);
int T2 = ((val [1] ir 0xFF) * 256) + (val [0] ir 0xFF);
// Skaityti 1 baitą duomenų iš adreso 0x3E (62)
val [0] = (baitas) device.read (0x3E);
// Skaityti 1 baitą duomenų iš adreso 0x3F (63)
val [1] = (baitas) device.read (0x3F);
int T3 = ((val [1] ir 0xFF) * 256) + (val [0] ir 0xFF);
// Perskaitykite 4 baitus duomenų
// hum msb, hum lsb, temp msb, temp lsb
baitas duomenys = naujas baitas [4]; device.read (0x28 | 0x80, duomenys, 0, 4);
// Konvertuoti duomenis
int hum = ((duomenys [1] ir 0xFF) * 256) + (duomenys [0] ir 0xFF);
int temp = ((duomenys [3] ir 0xFF) * 256) + (duomenys [2] ir 0xFF);
jei (temperatūra> 32767)
{
temperatūra -= 65536;
}
dviguba drėgmė = ((1,0 * H1) - (1,0 * H0)) * (1,0 * hum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
dvigubas cTemp = ((T1 - T0) / 8,0) * (temp - T2) / (T3 - T2) + (T0 / 8,0);
dvigubas fTemp = (cTemp * 1,8) + 32;
// Išvesti duomenis į ekraną
System.out.printf ("Santykinė drėgmė: %.2f %% RH %n", drėgmė);
System.out.printf ("Temperatūra Celsijaus: %.2f C %n", cTemp);
System.out.printf ("Temperatūra Farenheitu: %.2f F %n", fTemp);
}
}
4 žingsnis: programos:
HTS221 gali būti naudojamas įvairiose plataus vartojimo prekėse, tokiose kaip oro drėkintuvai ir šaldytuvai ir tt
Rekomenduojamas:
„Raspberry Pi SHT25“drėgmės ir temperatūros jutiklio „Python“pamoka: 4 žingsniai
„Raspberry Pi SHT25“drėgmės ir temperatūros jutiklio „Python“pamoka: SHT25 I2C drėgmės ir temperatūros jutiklis ± 1,8%RH ± 0,2 ° C I2C mini modulis. SHT25 didelio tikslumo drėgmės ir temperatūros jutiklis tapo pramonės standartu pagal formos faktorių ir intelektą, suteikiantį kalibruotus, linijinius jutiklių ženklus
„Arduino Nano“- HTS221 santykinio drėgmės ir temperatūros jutiklio pamoka: 4 žingsniai
„Arduino Nano“- HTS221 santykinio drėgmės ir temperatūros jutiklio pamoka: HTS221 yra ypač kompaktiškas talpinis skaitmeninis jutiklis, skirtas santykiniam drėgnumui ir temperatūrai. Jame yra jutimo elementas ir mišraus signalo taikymo integruotas grandynas (ASIC), kuris pateikia matavimo informaciją skaitmeniniu nuosekliu
„Raspberry Pi MCP9803“temperatūros jutiklio „Java“pamoka: 4 žingsniai
„Raspberry Pi MCP9803“temperatūros jutiklis „Java“pamoka: MCP9803 yra 2 laidų didelio tikslumo temperatūros jutiklis. Jie yra su vartotojo programuojamais registrais, palengvinančiais temperatūros jutimo programas. Šis jutiklis tinka labai sudėtingai kelių zonų temperatūros stebėjimo sistemai. Čia
„Raspberry Pi MCP9805“temperatūros jutiklio „Java“pamoka: 4 žingsniai
„Raspberry Pi MCP9805“temperatūros jutiklis „Java“pamoka: MCP9805 yra atminties modulio skaitmeninis temperatūros jutiklis. Jis įtrauktas į vartotojo programuojamus registrus, kurie suteikia lankstumo temperatūros jutikliams. Šis jutiklis skirtas integruoti į mobiliosios platformos atminties modulį
„Raspberry Pi“- HIH6130 I2C drėgmės ir temperatūros jutiklis „Java“pamoka: 4 žingsniai
„Raspberry Pi“- HIH6130 I2C drėgmės ir temperatūros jutiklis „Java“pamoka: HIH6130 yra drėgmės ir temperatūros jutiklis su skaitmenine išvestimi. Šie jutikliai užtikrina ± 4% RH tikslumo lygį. Su pirmaujančiu ilgalaikiu stabilumu pramonėje, tikru temperatūros kompensuojamu skaitmeniniu I2C, patikimumu pramonėje, energijos vartojimo efektyvumu