Სარჩევი:

ნაწილაკების ფოტონი - HDC1000 ტემპერატურის სენსორის გაკვეთილი: 4 ნაბიჯი
ნაწილაკების ფოტონი - HDC1000 ტემპერატურის სენსორის გაკვეთილი: 4 ნაბიჯი

ვიდეო: ნაწილაკების ფოტონი - HDC1000 ტემპერატურის სენსორის გაკვეთილი: 4 ნაბიჯი

ვიდეო: ნაწილაკების ფოტონი - HDC1000 ტემპერატურის სენსორის გაკვეთილი: 4 ნაბიჯი
ვიდეო: ნაწილაკების ფიზიკა: შესავალი 2024, ივნისი
Anonim
Image
Image

HDC1000 არის ციფრული ტენიანობის სენსორი ინტეგრირებული ტემპერატურის სენსორით, რომელიც უზრუნველყოფს გაზომვის სიზუსტეს ძალიან დაბალი სიმძლავრის დროს. მოწყობილობა ზომავს ტენიანობას ახალი capacitive სენსორის საფუძველზე. ტენიანობისა და ტემპერატურის სენსორები ქარხნულად დაკალიბრებულია. ის ფუნქციონირებს სრული -40 ° C– დან +125 ° C ტემპერატურის დიაპაზონში. აქ არის მისი დემონსტრირება ნაწილაკების ფოტონთან ერთად.

ნაბიჯი 1: რაც გჭირდებათ..

Რა გჭირდება..!!
Რა გჭირდება..!!

1. ნაწილაკების ფოტონი

2. HDC1000

3. I²C კაბელი

4. ნაწილაკების ფოტონის I²C ფარი

ნაბიჯი 2: კავშირი:

კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი

აიღეთ I2C ფარი ნაწილაკების ფოტონისთვის და ნაზად გადაიტანეთ იგი ნაწილაკების ფოტონის ქინძისთავებზე.

შემდეგ დააკავშირეთ I2C კაბელის ერთი ბოლო HDC1000 სენსორთან და მეორე ბოლო I2C ფარს.

კავშირები ნაჩვენებია ზემოთ მოცემულ სურათზე.

ნაბიჯი 3: კოდი:

კოდი
კოდი

HDC1000 ნაწილაკების კოდი შეგიძლიათ გადმოწეროთ ჩვენი GitHub საცავიდან- Dcube Store.

აქ არის იგივე ბმული:

github.com/DcubeTechVentures/HDC1000…

HDC1000– ის მონაცემთა ცხრილი შეგიძლიათ იხილოთ აქ:

www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf

ჩვენ გამოვიყენეთ ორი ბიბლიოთეკა ნაწილაკების კოდისთვის, რომლებიც არის application.h და spark_wiring_i2c.h. Spark_wiring_i2c ბიბლიოთეკა საჭიროა სენსორთან I2C კომუნიკაციის გასაადვილებლად.

თქვენ ასევე შეგიძლიათ დააკოპიროთ კოდი აქედან, იგი მოცემულია შემდეგნაირად:

// განაწილებულია თავისუფალი ნების ლიცენზიით.

// გამოიყენეთ იგი ნებისმიერი ფორმით, როგორც გსურთ, მოგებით ან უფასოდ, იმ პირობით, რომ იგი ჯდება ლიცენზიებთან დაკავშირებული სამუშაოებისათვის.

// HDC1000

// ეს კოდი შექმნილია HDC1000_I2CS I2C მინი მოდულთან მუშაობისთვის, რომელიც ხელმისაწვდომია Dcube Store– ში.

#ჩართეთ

#ჩართეთ

// HDC1000 I2C მისამართი არის 0x40 (64)

#განსაზღვრეთ Addr 0x40

float cTemp = 0.0, fTemp = 0.0, ტენიანობა = 0.0;

int temp = 0, hum = 0;

ბათილად დაყენება ()

{

// ცვლადის დაყენება

ნაწილაკი. ცვლადი ("i2cdevice", "HDC1000");

ნაწილაკი. ცვალებადი ("ტენიანობა", ტენიანობა);

ნაწილაკი. ცვლადი ("cTemp", cTemp);

// I2C კომუნიკაციის ინიციალიზაცია

Wire.begin ();

// სერიული კომუნიკაციის ინიციალიზაცია, დაყენებული baud განაკვეთი = 9600

სერიული.დაწყება (9600);

// დაიწყეთ I2C გადაცემა

Wire.beginTransmission (Addr);

// კონფიგურაციის რეგისტრის არჩევა

Wire.write (0x02);

// ტემპერატურა, ტენიანობა ჩართულია, გარჩევადობა = 14 ბიტი, გამათბობელი ჩართულია

Wire.write (0x30);

// შეაჩერე I2C გადაცემა

Wire.endTransmission ();

დაგვიანება (300);

}

ბათილი მარყუჟი ()

{

ხელმოუწერელი int მონაცემები [2];

// დაიწყეთ I2C გადაცემა

Wire.beginTransmission (Addr);

// ტემპერატურის გაზომვის ბრძანების გაგზავნა

Wire.write (0x00);

// შეაჩერე I2C გადაცემა

Wire.endTransmission ();

დაგვიანება (500);

// მოითხოვეთ მონაცემების 2 ბაიტი

მავთული. მოთხოვნა (Addr, 2);

// წაიკითხეთ 2 ბაიტი მონაცემები

// temp msb, temp lsb

თუ (Wire. Available () == 2)

{

მონაცემები [0] = Wire.read ();

მონაცემები [1] = Wire.read ();

}

// მონაცემების კონვერტაცია

temp = ((მონაცემები [0] * 256) + მონაცემები [1]);

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

// დაიწყეთ I2C გადაცემა

Wire.beginTransmission (Addr);

// ტენიანობის გაზომვის ბრძანების გაგზავნა

Wire.write (0x01);

// შეაჩერე I2C გადაცემა

Wire.endTransmission ();

დაგვიანება (500);

// მოითხოვეთ მონაცემების 2 ბაიტი

მავთული. მოთხოვნა (Addr, 2);

// წაიკითხეთ 2 ბაიტი მონაცემები

// temp msb, temp lsb

თუ (Wire. Available () == 2)

{

მონაცემები [0] = Wire.read ();

მონაცემები [1] = Wire.read ();

}

// მონაცემების კონვერტაცია

hum = ((მონაცემები [0] * 256) + მონაცემები [1]);

ტენიანობა = (hum / 65536.0) * 100.0;

// მონაცემების გამოტანა საინფორმაციო დაფაზე

Particle.publish ("ფარდობითი ტენიანობა:", სიმებიანი (ტენიანობა));

Particle.publish ("ტემპერატურა ცელსიუსში:", სიმებიანი (cTemp));

Particle.publish ("ტემპერატურა ფარენჰეიტში:", სიმებიანი (fTemp));

დაგვიანება (1000);

}

ნაბიჯი 4: პროგრამები:

HDC1000 შეიძლება გამოყენებულ იქნას გათბობის, ვენტილაციისა და კონდიცირების (HVAC), ჭკვიანი თერმოსტატების და ოთახის მონიტორებში. ეს სენსორი ასევე პოულობს მის გამოყენებას პრინტერებში, ხელის მრიცხველებში, სამედიცინო მოწყობილობებში, ტვირთების გადაზიდვაში, ასევე ავტომობილის საქარე მინაზე.

გირჩევთ: