Სარჩევი:

Arduino Nano - SI7050 ტემპერატურის სენსორის გაკვეთილი: 4 ნაბიჯი
Arduino Nano - SI7050 ტემპერატურის სენსორის გაკვეთილი: 4 ნაბიჯი

ვიდეო: Arduino Nano - SI7050 ტემპერატურის სენსორის გაკვეთილი: 4 ნაბიჯი

ვიდეო: Arduino Nano - SI7050 ტემპერატურის სენსორის გაკვეთილი: 4 ნაბიჯი
ვიდეო: Arduino Nano - SI7050 Temperature Sensor Tutorial 2024, ივლისი
Anonim
Image
Image

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

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

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

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

2. SI7050

3. I²C კაბელი

4. I²C ფარი არდუინო ნანოსთვის

ნაბიჯი 2: კავშირი:

კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი

აიღეთ I2C ფარი არდუინო ნანოსთვის და ნაზად წაისვით ნანოს ქინძისთავებზე.

შემდეგ შეაერთეთ I2C კაბელის ერთი ბოლო SI7050 სენსორთან და მეორე ბოლო I2C ფარს.

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

ნაბიჯი 3: კოდი:

კოდი
კოდი

SI7050- ის არდუინოს კოდი შეგიძლიათ ჩამოტვირთოთ ჩვენი github საცავიდან-DCUBE Store.

აქ არის იგივე ბმული:

github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino

ჩვენ მოიცავს ბიბლიოთეკას Wire.h სენსორის I2c კომუნიკაციის გასაადვილებლად Arduino დაფასთან.

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

// განაწილებულია თავისუფალი ნების ლიცენზიით.

// გამოიყენეთ იგი ნებისმიერი ფორმით, როგორც გსურთ, მოგებით ან უფასოდ, იმ პირობით, რომ იგი ჯდება ლიცენზიებთან დაკავშირებული სამუშაოებისათვის.

// SI7050

// ეს კოდი შექმნილია SI7050_I2CS I2C მინი მოდულთან მუშაობისთვის

#ჩართეთ

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

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

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

{

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

Wire.begin ();

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

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

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

Wire.beginTransmission (Addr);

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

Wire.endTransmission ();

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

}

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

{

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

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

Wire.beginTransmission (Addr);

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

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 temp = ((მონაცემები [0] * 256.0) + მონაცემები [1]);

float ctemp = ((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");

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

}

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

SI7050 შეიძლება ინტეგრირებული იყოს სხვადასხვა სისტემებში, მათ შორის კომპიუტერულ მოწყობილობებში, პორტატულ სამომხმარებლო მოწყობილობებში და სამედიცინო აღჭურვილობაში. ეს სენსორი შეიძლება გამოყენებულ იქნას ცივი შენახვის ჯაჭვებში, აქტივების მონიტორინგში, ასევე სხვადასხვა სამრეწველო კონტროლის სისტემებში. ის ასევე გადამწყვეტ როლს ასრულებს ბატარეის დაცვაში.

გირჩევთ: