Სარჩევი:

ტენიანობის გაზომვა HYT939 და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი
ტენიანობის გაზომვა HYT939 და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი

ვიდეო: ტენიანობის გაზომვა HYT939 და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი

ვიდეო: ტენიანობის გაზომვა HYT939 და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი
ვიდეო: ორქიდეომანია # ჰერის ტენიანობის გაზომვა 2024, ნოემბერი
Anonim
Image
Image

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

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

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

ნაბიჯი 1: საჭირო აპარატურა:

საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა

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

1. HYT939

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

3. I2C კაბელი

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

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

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

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

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

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

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

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

ნაბიჯი 3: Arduino კოდი ტენიანობის გაზომვისთვის:

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

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

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

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

#ჩართეთ

// HYT939 I2C მისამართი არის 0x28 (40)

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

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

{

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

Wire.begin ();

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

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

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

}

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

{

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

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

Wire.beginTransmission (Addr);

// ნორმალური რეჟიმის ბრძანების გაგზავნა

Wire.write (0x80);

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

Wire.endTransmission ();

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

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

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

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

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

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

{

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

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

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

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

// გადააკეთეთ მონაცემები 14 ბიტიანი

float ტენიანობა = (((მონაცემები [0] & 0x3F) * 256.0) + მონაცემები [1]) * (100.0 / 16383.0);

float cTemp = (((მონაცემები [2] * 256.0) + (მონაცემები [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

float fTemp = (cTemp * 1.8) + 32;

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

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

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

Serial.println (" %RH");

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

Serial.print (cTemp);

Serial.println ("C");

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

Serial.print (fTemp);

Serial.println ("F");

}

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

}

მავთულის ბიბლიოთეკაში Wire.write () და Wire.read () გამოიყენება ბრძანებების დასაწერად და სენსორის გამომავალი წაკითხვისთვის. კოდის ნაწილის შემდგომ ილუსტრირდება სენსორის გამომუშავების კითხვა.

// წაიკითხეთ მონაცემების 4 ბაიტი // ტენიანობა msb, ტენიანობა lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); მონაცემები [1] = Wire.read (); მონაცემები [2] = Wire.read (); მონაცემები [3] = Wire.read ();

}

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

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

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

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

გირჩევთ: