Სარჩევი:
ვიდეო: Raspberry Pi HTS221 შედარებითი ტენიანობისა და ტემპერატურის სენსორი Java გაკვეთილი: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
HTS221 არის ულტრა კომპაქტური capacitive ციფრული სენსორი ფარდობითი ტენიანობისა და ტემპერატურისათვის. იგი მოიცავს სენსორულ ელემენტს და შერეული სიგნალის გამოყენების სპეციფიკურ ინტეგრირებულ წრეს (ASIC), რომელიც უზრუნველყოფს გაზომვის ინფორმაციას ციფრული სერიული ინტერფეისების საშუალებით. ამდენი მახასიათებლით ინტეგრირებული ეს არის ერთ -ერთი ყველაზე შესაფერისი სენსორი კრიტიკული ტენიანობისა და ტემპერატურის გაზომვისთვის. აქ არის დემონსტრაცია java კოდით Raspberry Pi გამოყენებით.
ნაბიჯი 1: რაც გჭირდებათ..
1. ჟოლო პი
2. HTS221
3. I²C კაბელი
4. I²C ფარი ჟოლოს პიისთვის
5. Ethernet კაბელი
ნაბიჯი 2: კავშირები:
აიღეთ I2C ფარი ჟოლოსთვის და ნაზად წაისვით ჟოლოს პი გპიოს ქინძისთავებზე.
შემდეგ დააკავშირეთ I2C კაბელის ერთი ბოლო HTS221 სენსორთან და მეორე ბოლო I2C ფარს.
ასევე დაუკავშირეთ Ethernet კაბელი pi- ს ან შეგიძლიათ გამოიყენოთ WiFi მოდული.
კავშირები ნაჩვენებია ზემოთ მოცემულ სურათზე.
ნაბიჯი 3: კოდი:
HTH221– ის პითონის კოდი შეგიძლიათ გადმოწეროთ ჩვენი github საცავიდან-Dcube Store
აქ არის იგივე ბმული:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java
ჩვენ გამოვიყენეთ pi4j ბიბლიოთეკა java კოდისთვის, ჟოლოს პიზე pi4j– ის დაყენების ნაბიჯები აღწერილია აქ:
pi4j.com/install.html
თქვენ ასევე შეგიძლიათ დააკოპიროთ კოდი აქედან, იგი მოცემულია შემდეგნაირად:
// განაწილებულია თავისუფალი ნების ლიცენზიით.
// გამოიყენეთ იგი ნებისმიერი ფორმით, როგორც გსურთ, მოგებით ან უფასოდ, იმ პირობით, რომ იგი ჯდება ლიცენზიებთან დაკავშირებული სამუშაოებისათვის.
// HTS221
// ეს კოდი შექმნილია HTS221_I2CS I2C მინი მოდულთან მუშაობისთვის.
იმპორტი com.pi4j.io.i2c. I2CBus;
იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;
იმპორტი com.pi4j.io.i2c. I2C ქარხანა;
იმპორტი java.io. IOException;
public class HTS221 {public static void main (სიმებიანი არგები ) ისვრის გამონაკლისს
{
// შექმენით I2CBus
I2CBus ავტობუსი = I2CFactory.getInstance (I2CBus. BUS_1);
// მიიღეთ I2C მოწყობილობა, HTS221 I2C მისამართი არის 0x5F (95)
I2CD მოწყობილობის მოწყობილობა = bus.getDevice (0x5F);
// აირჩიეთ საშუალო კონფიგურაციის რეგისტრი
// ტემპერატურის საშუალო ნიმუშები = 16, ტენიანობის საშუალო ნიმუშები = 32
მოწყობილობა. დაწერეთ (0x10, (ბაიტი) 0x1B);
// აირჩიეთ კონტროლის რეგისტრატორი 1
// ჩართვა, მონაცემთა განახლების ბლოკირება, მონაცემთა სიჩქარე o/p = 1 Hz
მოწყობილობა. დაწერეთ (0x20, (ბაიტი) 0x85);
თემა. ძილი (500);
// წაიკითხეთ კალიბრაციის ღირებულებები მოწყობილობის არასტაბილური მეხსიერებიდან
// ტენიანობის დაკალიბრების მნიშვნელობები
ბაიტი val = ახალი ბაიტი [2];
// წაიკითხეთ მონაცემების 1 ბაიტი მისამართიდან 0x30 (48)
val [0] = (ბაიტი) მოწყობილობა. წაიკითხეთ (0x30);
// წაიკითხეთ მონაცემების 1 ბაიტი მისამართიდან 0x31 (49)
val [1] = (ბაიტი) მოწყობილობა. წაიკითხეთ (0x31);
int H0 = (val [0] & 0xFF) / 2;
int H1 = (val [1] & 0xFF) / 2;
// წაიკითხეთ მონაცემების 1 ბაიტი 0x36 მისამართიდან (54)
val [0] = (ბაიტი) მოწყობილობა. წაიკითხეთ (0x36);
// წაიკითხეთ მონაცემების 1 ბაიტი 0x37 მისამართიდან (55)
val [1] = (ბაიტი) მოწყობილობა. წაიკითხეთ (0x37);
int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// წაიკითხეთ მონაცემების 1 ბაიტი 0x3A მისამართიდან (58)
val [0] = (ბაიტი) მოწყობილობა. წაკითხვა (0x3A);
// წაიკითხეთ მონაცემების 1 ბაიტი 0x3B მისამართიდან (59)
val [1] = (ბაიტი) მოწყობილობა. წაკითხვა (0x3B);
int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// ტემპერატურის კალიბრაციის მნიშვნელობები
// წაიკითხეთ მონაცემების 1 ბაიტი 0x32 მისამართიდან (50)
int T0 = ((ბაიტი) მოწყობილობა. წაკითხვა (0x32) & 0xFF);
// წაიკითხეთ მონაცემების 1 ბაიტი მისამართიდან 0x33 (51)
int T1 = ((ბაიტი) მოწყობილობა. წაკითხვა (0x33) & 0xFF);
// წაიკითხეთ მონაცემების 1 ბაიტი მისამართიდან 0x35 (53)
int ნედლეული = ((ბაიტი) მოწყობილობა. წაკითხვა (0x35) & 0x0F);
// გადააკეთეთ ტემპერატურის კალიბრაციის მნიშვნელობები 10 ბიტზე
T0 = ((ნედლეული & 0x03) * 256) + T0;
T1 = ((ნედლეული & 0x0C) * 64) + T1;
// წაიკითხეთ მონაცემების 1 ბაიტი 0x3C მისამართიდან (60)
val [0] = (ბაიტი) მოწყობილობა. წაკითხვა (0x3C);
// წაიკითხეთ მონაცემების 1 ბაიტი მისამართიდან 0x3D (61)
val [1] = (ბაიტი) მოწყობილობა. წაკითხვა (0x3D);
int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// წაიკითხეთ მონაცემების 1 ბაიტი 0x3E მისამართიდან (62)
val [0] = (ბაიტი) მოწყობილობა. წაიკითხეთ (0x3E);
// წაიკითხეთ მონაცემების 1 ბაიტი 0x3F მისამართიდან (63)
val [1] = (ბაიტი) მოწყობილობა. წაკითხვა (0x3F);
int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// წაიკითხეთ 4 ბაიტი მონაცემები
// hum msb, hum lsb, temp msb, temp lsb
ბაიტი მონაცემები = ახალი ბაიტი [4]; device.read (0x28 | 0x80, მონაცემები, 0, 4);
// მონაცემების კონვერტაცია
int hum = ((მონაცემები [1] & 0xFF) * 256) + (მონაცემები [0] & 0xFF);
int temp = ((მონაცემები [3] & 0xFF) * 256) + (მონაცემები [2] & 0xFF);
თუ (ტემპერატურა> 32767)
{
ტემპერატურა -= 65536;
}
ორმაგი ტენიანობა = ((1.0 * H1) - (1.0 * H0)) * (1.0 * ჰუმ - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
ორმაგი cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);
ორმაგი fTemp = (cTemp * 1.8) + 32;
// მონაცემების გამოტანა ეკრანზე
System.out.printf ("ფარდობითი ტენიანობა: %.2f %% RH %n", ტენიანობა);
System.out.printf ("ტემპერატურა ცელსიუსში: %.2f C %n", cTemp);
System.out.printf ("ტემპერატურა ფარენჰეიტში: %.2f F %n", fTemp);
}
}
ნაბიჯი 4: პროგრამები:
HTS221 შეიძლება გამოყენებულ იქნას სხვადასხვა სამომხმარებლო პროდუქტში, როგორიცაა ჰაერის დამატენიანებლები და მაცივრები და ა.შ.
გირჩევთ:
როგორ გამოვიყენოთ DHT12 I2C ტენიანობისა და ტემპერატურის სენსორი არდუინოსთან ერთად: 7 ნაბიჯი
როგორ გამოვიყენოთ DHT12 I2C ტენიანობის და ტემპერატურის სენსორი არდუინოსთან ერთად: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT12 I2C ტენიანობის და ტემპერატურის სენსორი არდუინოსთან და აჩვენეთ ღირებულებები OLED ეკრანზე. უყურეთ ვიდეოს
Arduino Nano - HTS221 შედარებითი ტენიანობისა და ტემპერატურის სენსორის სახელმძღვანელო: 4 ნაბიჯი
Arduino Nano - HTS221 შედარებითი ტენიანობისა და ტემპერატურის სენსორი გაკვეთილი: HTS221 არის ულტრა კომპაქტური მოცულობითი ციფრული სენსორი ფარდობითი ტენიანობისა და ტემპერატურისათვის. იგი მოიცავს შეგრძნების ელემენტს და შერეული სიგნალის პროგრამის სპეციფიკურ ინტეგრირებულ წრეს (ASIC), რათა უზრუნველყოს გაზომვის ინფორმაცია ციფრული სერიული საშუალებით
Raspberry Pi MCP9803 ტემპერატურის სენსორი Java გაკვეთილი: 4 ნაბიჯი
Raspberry Pi MCP9803 ტემპერატურის სენსორი Java გაკვეთილი: MCP9803 არის 2 მავთულის მაღალი სიზუსტის ტემპერატურის სენსორი. ისინი განასახიერებენ მომხმარებლის მიერ პროგრამირებადი რეგისტრებით, რომლებიც ხელს უწყობენ ტემპერატურის მგრძნობიარე პროგრამებს. ეს სენსორი შეეფერება უაღრესად დახვეწილ მრავალზონიანი ტემპერატურის მონიტორინგის სისტემას. Აქ
Raspberry Pi MCP9805 ტემპერატურის სენსორი Java გაკვეთილი: 4 ნაბიჯი
Raspberry Pi MCP9805 ტემპერატურის სენსორი Java გაკვეთილი: MCP9805 არის მეხსიერების მოდულის ციფრული ტემპერატურის სენსორი. იგი ინტეგრირებულია მომხმარებლის პროგრამირებადი რეგისტრებით, რომლებიც უზრუნველყოფენ მოქნილობას ტემპერატურის მგრძნობიარე პროგრამებისთვის. ეს სენსორი შექმნილია მობილური პლატფორმის მეხსიერების მოდულის ტემპერატურის შესაქმნელად
Raspberry Pi TMP112 ტემპერატურის სენსორი Java გაკვეთილი: 4 ნაბიჯი
Raspberry Pi TMP112 ტემპერატურის სენსორი Java სასწავლო: TMP112 მაღალი სიზუსტის, დაბალი სიმძლავრის, ციფრული ტემპერატურის სენსორი I2C MINI მოდული. TMP112 იდეალურია გაფართოებული ტემპერატურის გაზომვისთვის. ეს მოწყობილობა გთავაზობთ ± 0.5 ° C სიზუსტეს კალიბრაციის ან გარე კომპონენტის სიგნალის კონდიცირების მოთხოვნის გარეშე