Სარჩევი:
- ნაბიჯი 1: საჭირო აპარატურა:
- ნაბიჯი 2: აპარატურის დაკავშირება:
- ნაბიჯი 3: ტემპერატურის გაზომვის კოდი:
- ნაბიჯი 4: პროგრამები:
ვიდეო: ტემპერატურის გაზომვა MCP9803 და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
MCP9803 არის 2 მავთულის მაღალი სიზუსტის ტემპერატურის სენსორი. ისინი განასახიერებენ მომხმარებლის მიერ პროგრამირებადი რეგისტრებით, რომლებიც ხელს უწყობენ ტემპერატურის მგრძნობიარე პროგრამებს. ეს სენსორი შეეფერება უაღრესად დახვეწილ მრავალზონიანი ტემპერატურის მონიტორინგის სისტემას.
ამ გაკვეთილში ილუსტრირებულია MCP9803 სენსორული მოდულის ინტერფეისი ნაწილაკების ფოტონთან. ტემპერატურის მნიშვნელობების წასაკითხად, ჩვენ გამოვიყენეთ ნაწილაკი I2c ადაპტერით. ეს I2C ადაპტერი სენსორულ მოდულთან კავშირს ხდის ადვილი და საიმედო.
ნაბიჯი 1: საჭირო აპარატურა:
მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:
1. MCP9803
2. ნაწილაკების ფოტონი
3. I2C კაბელი
4. I2C ფარი ნაწილაკების ფოტონისთვის
ნაბიჯი 2: აპარატურის დაკავშირება:
აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და ნაწილაკ ფოტონს შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:
MCP9803 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.
ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი.
ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული! მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.
ეს კავშირები ნაჩვენებია ზემოთ მოცემულ სურათებში.
ნაბიჯი 3: ტემპერატურის გაზომვის კოდი:
დავიწყოთ ნაწილაკების კოდით ახლა.
ნაწილაკთან ერთად სენსორული მოდულის გამოყენებისას ჩვენ ვიყენებთ application.h და spark_wiring_i2c.h ბიბლიოთეკას. "application.h" და spark_wiring_i2c.h ბიბლიოთეკა შეიცავს ფუნქციებს, რომლებიც ხელს უწყობს სენსორსა და ნაწილაკს შორის i2c კომუნიკაციას.
მომხმარებლის ნაწილის მოხერხებულობისთვის ქვემოთ მოცემულია ნაწილაკების მთელი კოდი:
#ჩართეთ
#ჩართეთ
// MCP9803 I2C მისამართი არის 0x48 (72)
#განსაზღვრეთ Addr 0x48
float cTemp = 0, fTemp = 0;
ბათილად დაყენება ()
{
// ცვლადის დაყენება
ნაწილაკი. ცვლადი ("i2cdevice", "MCP9803");
ნაწილაკი. ცვლადი ("cTemp", cTemp);
// I2C კომუნიკაციის ინიციალიზაცია, როგორც MASTER
Wire.begin ();
// სერიული კომუნიკაციის ინიციალიზაცია, დაყენებული baud განაკვეთი = 9600
სერიული.დაწყება (9600);
// დაიწყეთ I2C გადაცემა
Wire.beginTransmission (Addr);
// კონფიგურაციის რეგისტრის არჩევა
Wire.write (0x01);
// კონვერტაციის უწყვეტი რეჟიმი, Power-up default
Wire.write (0x60);
// შეაჩერე I2C გადაცემა
Wire.endTransmission ();
დაგვიანება (300);
}
ბათილი მარყუჟი ()
{
ხელმოუწერელი int მონაცემები [2];
// იწყებს I2C კომუნიკაციას
Wire.beginTransmission (Addr);
// მონაცემთა რეგისტრაციის არჩევა
Wire.write (0x00);
// შეაჩერე I2C გადაცემა
Wire.endTransmission ();
// მოითხოვეთ მონაცემების 2 ბაიტი
მავთული. მოთხოვნა (Addr, 2);
// წაიკითხეთ 2 ბაიტი მონაცემები
// temp msb, temp lsb
თუ (Wire. Available () == 2)
{
მონაცემები [0] = Wire.read ();
მონაცემები [1] = Wire.read ();
}
// გადააკეთეთ მონაცემები 12 ბიტიანი
int temp = ((მონაცემები [0] * 256) + მონაცემები [1]) / 16.0;
თუ (ტემპერატურა> 2047)
{
ტემპერატურა -= 4096;
}
cTemp = temp * 0.0625;
fTemp = cTemp * 1.8 + 32;
// სერიული მონიტორის მონაცემების გამოტანა
Particle.publish ("ტემპერატურა ცელსიუსში:", სიმებიანი (cTemp));
Particle.publish ("ტემპერატურა ფარენჰეიტში:", სიმებიანი (fTemp));
დაგვიანება (500);
}
Particle.variable () ფუნქცია ქმნის ცვლადებს სენსორის გამომუშავების შესანახად და Particle.publish () ფუნქცია აჩვენებს გამომავალს საიტის დაფაზე.
სენსორის გამომავალი ნაჩვენებია ზემოთ მოცემულ სურათზე თქვენი მითითებისთვის.
ნაბიჯი 4: პროგრამები:
MCP9803 შეიძლება გამოყენებულ იქნას მოწყობილობების ფართო ასპარეზზე, რომელიც მოიცავს პერსონალურ კომპიუტერს და პერიფერიულ მოწყობილობებს, მყარ დისკებს, სხვადასხვა გასართობ სისტემებს, საოფისე სისტემებს და მონაცემთა საკომუნიკაციო სისტემებს. ეს სენსორი შეიძლება იყოს ჩართული სხვადასხვა დახვეწილ სისტემაში.
გირჩევთ:
ტემპერატურის გაზომვა STS21 და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა STS21 და ნაწილაკების ფოტონის გამოყენებით: STS21 ციფრული ტემპერატურის სენსორი გთავაზობთ საუკეთესო შესრულებას და სივრცის დაზოგვის ნაკვალევს. ის უზრუნველყოფს დაკალიბრებულ, ხაზოვანი სიგნალებს ციფრულ, I2C ფორმატში. ამ სენსორის დამზადება ემყარება CMOSens ტექნოლოგიას, რომელიც მიაკუთვნებს უპირატესობას
ტემპერატურის გაზომვა TMP112 და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა TMP112 და ნაწილაკების ფოტონის გამოყენებით: TMP112 მაღალი სიზუსტის, დაბალი სიმძლავრის, ციფრული ტემპერატურის სენსორი I2C MINI მოდული. TMP112 იდეალურია გაფართოებული ტემპერატურის გაზომვისთვის. ეს მოწყობილობა გთავაზობთ ± 0.5 ° C სიზუსტეს კალიბრაციის ან გარე კომპონენტის სიგნალის კონდიცირების მოთხოვნის გარეშე. მე
ტემპერატურის გაზომვა ADT75 და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა ADT75 და ნაწილაკების ფოტონის გამოყენებით: ADT75 არის უაღრესად ზუსტი, ციფრული ტემპერატურის სენსორი. იგი მოიცავს დიაპაზონის ტემპერატურის სენსორს და 12 ბიტიან ციფრულ ციფრულ გადამყვანს ტემპერატურის მონიტორინგისა და ციფრების გასაუმჯობესებლად. მისი უაღრესად მგრძნობიარე სენსორი მას საკმარისად კომპეტენტურს ხდის ჩემთვის
ტენიანობის და ტემპერატურის გაზომვა HIH6130 და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
ტენიანობის და ტემპერატურის გაზომვა HIH6130 და ნაწილაკების ფოტონის გამოყენებით: HIH6130 არის ტენიანობის და ტემპერატურის სენსორი ციფრული გამომუშავებით. ეს სენსორები უზრუნველყოფენ სიზუსტეს of 4% RH. ინდუსტრიის წამყვანი გრძელვადიანი სტაბილურობით, ჭეშმარიტი ტემპერატურის კომპენსირებული ციფრული I2C, ინდუსტრიის წამყვანი საიმედოობით, ენერგოეფექტურობით
ტემპერატურის გაზომვა AD7416ARZ და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა AD7416ARZ და ნაწილაკების ფოტონის გამოყენებით: AD7416ARZ არის 10 ბიტიანი ტემპერატურის სენსორი, რომელსაც აქვს ოთხი ერთარხიანი ანალოგური ციფრული გადამყვანი და მასში შემავალი ბორბლის ტემპერატურის სენსორი. ნაწილების ტემპერატურის სენსორზე წვდომა შესაძლებელია მულტიპლექსერული არხებით. ეს მაღალი სიზუსტის ტემპერატურა