Სარჩევი:

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

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

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

TMP112 მაღალი სიზუსტის, დაბალი სიმძლავრის, ციფრული ტემპერატურის სენსორი I2C MINI მოდული. TMP112 იდეალურია გაფართოებული ტემპერატურის გაზომვისთვის. ეს მოწყობილობა გთავაზობთ ± 0.5 ° C სიზუსტეს კალიბრაციის ან გარე კომპონენტის სიგნალის კონდიცირების მოთხოვნის გარეშე.

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

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

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

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

1. TMP112

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

3. I2C კაბელი

4. I2C ფარი ნაწილაკების ფოტონისთვის

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

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

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

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

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

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

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

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

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

დავიწყოთ ნაწილაკების კოდით ახლა.

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

მომხმარებლის ნაწილის მოხერხებულობისთვის ქვემოთ მოცემულია ნაწილაკების მთელი კოდი:

#ჩართეთ

#ჩართეთ

// TMP112 I2C მისამართი არის 0x48 (72)

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

ორმაგი cTemp = 0.0, fTemp = 0.0;

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

{

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

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

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

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

Wire.begin ();

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

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

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

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

// უწყვეტი გარდაქმნა, შედარების რეჟიმი, 12 ბიტიანი გარჩევადობა

Wire.write (0x60);

Wire.write (0xA0);

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

Wire.endTransmission ();

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

}

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

{

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

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

Wire.beginTransmission (Addr);

// ტემპერატურის მონაცემების რეგისტრატორის არჩევა

Wire.write (0x00);

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

Wire.endTransmission ();

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

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

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

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

// temp msb, temp lsb

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

{

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

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

}

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

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

თუ (ტემპერატურა> 2048)

{

ტემპერატურა -= 4096;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

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

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

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

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

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

}

Particle.variable () ფუნქცია ქმნის ცვლადებს სენსორის გამომუშავების შესანახად და Particle.publish () ფუნქცია აჩვენებს გამომავალს საიტის დაფაზე.

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

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

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

სხვადასხვა პროგრამები, რომლებიც მოიცავს TMP112 დაბალი სიმძლავრის, მაღალი სიზუსტის ციფრულ ტემპერატურის სენსორს, მოიცავს კვების ბლოკის ტემპერატურის მონიტორინგს, კომპიუტერული პერიფერიული თერმული დაცვას, ბატარეის მენეჯმენტს, ასევე საოფისე მანქანებს.

გირჩევთ: