Სარჩევი:

ტემპერატურის გაზომვა MCP9803 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა MCP9803 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი

ვიდეო: ტემპერატურის გაზომვა MCP9803 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი

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

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

ამ სახელმძღვანელოში ნაჩვენებია MCP9803 სენსორული მოდულის ინტერფეისი ჟოლოს pi და მისი პროგრამირება ჯავის ენითაც არის ილუსტრირებული. ტემპერატურის მნიშვნელობების წასაკითხად, ჩვენ გამოვიყენეთ ჟოლოს პი I2C ადაპტერით. ეს I2C ადაპტერი სენსორულ მოდულთან კავშირს ხდის ადვილი და საიმედო.

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

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

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

1. MCP9803

2. ჟოლო პი

3. I2C კაბელი

4. I2C ფარი ჟოლოს პი

5. Ethernet კაბელი

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

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

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

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

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

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

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

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

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

ჟოლოს pi გამოყენების უპირატესობა ის არის, რომ თქვენ უზრუნველყოფთ პროგრამირების ენის მოქნილობას, რომლითაც გსურთ დაფის დაპროგრამება, რათა სენსორი მასთან დააკავშიროთ. ამ დაფის ამ უპირატესობის გამოყენებით, ჩვენ ვაჩვენებთ, რომ ის პროგრამირებს ჯავაში. MCP9803– ის java კოდი შეიძლება გადმოწერილი იყოს ჩვენი Github საზოგადოებიდან, რომელიც არის Dcube Store.

ისევე როგორც მომხმარებლების სიმარტივისთვის, ჩვენ აქ განვმარტავთ კოდს:

როგორც კოდირების პირველი ნაბიჯი, თქვენ უნდა გადმოწეროთ pi4j ბიბლიოთეკა java- ს შემთხვევაში, რადგან ეს ბიბლიოთეკა მხარს უჭერს კოდში გამოყენებულ ფუნქციებს. ასე რომ, ბიბლიოთეკის გადმოსაწერად შეგიძლიათ ეწვიოთ შემდეგ ბმულს:

pi4j.com/install.html

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

იმპორტი com.pi4j.io.i2c. I2CBus;

იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;

იმპორტი com.pi4j.io.i2c. I2C ქარხანა;

იმპორტი java.io. IOException; საჯარო კლასი MCP9803

{

public static void main (სიმებიანი args ) ისვრის გამონაკლისს

{

// I2C ავტობუსის შექმნა

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// მიიღეთ I2C მოწყობილობა, MCP9803 I2C მისამართი არის 0x48 (72)

I2CD მოწყობილობის მოწყობილობა = Bus.getDevice (0x48);

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

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

მოწყობილობა. დაწერეთ (0x01, (ბაიტი) 0x60);

თემა. ძილი (500);

// წაიკითხეთ 2 ბაიტი მონაცემები 0x00 მისამართიდან (0)

// temp msb, temp lsb

ბაიტი მონაცემები = ახალი ბაიტი [2];

device.read (0x00, მონაცემები, 0, 2);

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

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

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

{

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

}

ორმაგი cTemp = temp * 0.0625;

ორმაგი fTemp = cTemp * 1.8 + 32;

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

System.out.printf ("ტემპერატურა ცელსიუსში არის: %.2f C %n", cTemp);

System.out.printf ("ტემპერატურა ფარენჰეიტში არის: %.2f F %n", fTemp);

}

}

ბიბლიოთეკა, რომელიც ხელს უწყობს სენსორსა და დაფას შორის i2c კომუნიკაციას, არის pi4j, მისი სხვადასხვა პაკეტი I2CBus, I2CDevice და I2CFactory ხელს უწყობს კავშირის დამყარებას.

იმპორტი com.pi4j.io.i2c. I2CBus;

იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;

იმპორტი com.pi4j.io.i2c. I2C ქარხანა;

იმპორტი java.io. IOException;

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

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

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

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

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

გირჩევთ: