ტემპერატურისა და ტენიანობის მონიტორინგი SHT25 და არდუინო ნანოს გამოყენებით: 5 ნაბიჯი
ტემპერატურისა და ტენიანობის მონიტორინგი SHT25 და არდუინო ნანოს გამოყენებით: 5 ნაბიჯი
Anonim
Image
Image

ჩვენ ახლახანს ვიმუშავეთ სხვადასხვა პროექტებზე, რომლებიც საჭიროებდნენ ტემპერატურისა და ტენიანობის მონიტორინგს და შემდეგ მივხვდით, რომ ეს ორი პარამეტრი ფაქტობრივად გადამწყვეტ როლს ასრულებს სისტემის მუშაობის ეფექტურობის შეფასებაში. როგორც ინდუსტრიულ დონეზე, ასევე პერსონალურ სისტემებში, ტემპერატურის ოპტიმალური დონე არის სისტემის ადექვატური მუშაობის საწინდარი.

ეს არის მიზეზი, ამ სახელმძღვანელოში ჩვენ ვაპირებთ ავუხსნათ SHT25 ტენიანობის და ტემპერატურის სენსორის მუშაობა არდუინო ნანოსთან.

ნაბიჯი 1: SHT25 მიმოხილვა:

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

უპირველეს ყოვლისა, დავიწყოთ სენსორისა და პროტოკოლის ძირითადი გაგებით, რომელზეც ის მუშაობს.

SHT25 I2C ტენიანობის და ტემპერატურის სენსორი ± 1.8%RH ± 0.2 ° C I2C მინი მოდული. მაღალი სიზუსტის ტენიანობის და ტემპერატურის სენსორი გახდა ინდუსტრიის სტანდარტი ფორმის ფაქტორითა და ინტელექტის თვალსაზრისით, რომელიც უზრუნველყოფს კალიბრირებულ, ხაზოვანი სენსორული სიგნალების ციფრულ, I2C ფორმატში. ინტეგრირებული სპეციალიზებული ანალოგური და ციფრული წრედით, ეს სენსორი არის ერთ -ერთი ყველაზე ეფექტური მოწყობილობა ტემპერატურისა და ტენიანობის გასაზომად.

საკომუნიკაციო ოქმი, რომელზეც მუშაობს სენსორი არის I2C. I2C ნიშნავს ინტეგრირებულ წრეს. ეს არის საკომუნიკაციო პროტოკოლი, რომელშიც კომუნიკაცია ხდება SDA (სერიული მონაცემები) და SCL (სერიული საათი) ხაზებით. ეს საშუალებას გაძლევთ დააკავშიროთ რამდენიმე მოწყობილობა ერთდროულად. ეს არის ერთ -ერთი ყველაზე მარტივი და ეფექტური საკომუნიკაციო პროტოკოლი.

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

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

მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:

1. SHT25 ტენიანობისა და ტემპერატურის სენსორი

2. არდუინო ნანო

3. I2C კაბელი

4. I2C ფარი არდუინოს ნანოსთვის

ნაბიჯი 3: აპარატურის დაკავშირება:

აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება

აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და არდუინო ნანოს შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:

SHT25 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.

ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი. ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული!

მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.

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

ნაბიჯი 4: ტემპერატურისა და ტენიანობის მონიტორინგის კოდი:

ტემპერატურისა და ტენიანობის მონიტორინგის კოდი
ტემპერატურისა და ტენიანობის მონიტორინგის კოდი

დავიწყოთ არდუინოს კოდით ახლა.

Arduino– სთან ერთად სენსორული მოდულის გამოყენებისას, ჩვენ მოიცავს Wire.h ბიბლიოთეკას. "მავთულის" ბიბლიოთეკა შეიცავს ფუნქციებს, რომლებიც ხელს უწყობს სენსორსა და არდუინოს დაფას შორის i2c კომუნიკაციას.

მთელი Arduino კოდი მოცემულია მომხმარებლის კომფორტისთვის ქვემოთ:

#ჩართეთ

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

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

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

{

// I2C კომუნიკაციის ინიციალიზაცია, როგორც MASTER

Wire.begin ();

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

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

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

}

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

{

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

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

Wire.beginTransmission (Addr);

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

Wire.write (0xF5);

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

Wire.endTransmission ();

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

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

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

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

// ტენიანობა msb, ტენიანობა lsb

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

{

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

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

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

float ტენიანობა = (((მონაცემები [0] * 256.0 + მონაცემები [1]) * 125.0) / 65536.0) - 6;

// სერიული მონიტორის მონაცემების გამოტანა

Serial.print ("ფარდობითი ტენიანობა:");

სერიული. ბეჭდვა (ტენიანობა);

Serial.println (" %RH");

}

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

Wire.beginTransmission (Addr);

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

Wire.write (0xF3);

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

Wire.endTransmission ();

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

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

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

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

// temp msb, temp lsb

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

{

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

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

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

float cTemp = (((მონაცემები [0] * 256.0 + მონაცემები [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

// სერიული მონიტორის მონაცემების გამოტანა

Serial.print ("ტემპერატურა ცელსიუსში:");

Serial.print (cTemp); Serial.println ("C");

Serial.print ("ტემპერატურა ფარენჰეიტში:");

Serial.print (fTemp);

Serial.println ("F");

}

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

}

ყველაფერი რაც თქვენ გჭირდებათ არის ჩაწეროთ კოდი არდუინოში და შეამოწმოთ თქვენი კითხვები სერიულ პორტზე. გამომავალი ნაჩვენებია ზემოთ მოცემულ სურათზე.

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

პროგრამები
პროგრამები

ტემპერატურისა და ფარდობითი ტენიანობის სენსორს აქვს სხვადასხვა სამრეწველო პროგრამა, როგორიცაა ტემპერატურის მონიტორინგი, კომპიუტერული პერიფერიული თერმული დაცვა. ჩვენ ასევე გამოვიყენეთ ეს სენსორი ამინდის სადგურების პროგრამებში, ასევე სათბურის მონიტორინგის სისტემაში.

გირჩევთ: