Სარჩევი:

მიიღეთ სერიული ნომერი DS18B20 არდუინოს საშუალებით: 5 ნაბიჯი
მიიღეთ სერიული ნომერი DS18B20 არდუინოს საშუალებით: 5 ნაბიჯი

ვიდეო: მიიღეთ სერიული ნომერი DS18B20 არდუინოს საშუალებით: 5 ნაბიჯი

ვიდეო: მიიღეთ სერიული ნომერი DS18B20 არდუინოს საშუალებით: 5 ნაბიჯი
ვიდეო: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, ივლისი
Anonim
მიიღეთ სერიული ნომერი DS18B20 არდუინოსთან ერთად
მიიღეთ სერიული ნომერი DS18B20 არდუინოსთან ერთად

ეს არის სწრაფი სახელმძღვანელო იმის შესახებ, თუ როგორ უნდა მიიღოთ თქვენი DS18B20 1 მავთულის ტემპერატურის სენსორების ინდივიდუალური სერიული ნომრები.

ეს მოსახერხებელია იმ პროექტებისთვის, რომლებიც საჭიროებენ მრავალ სენსორს.

ნივთები რაც გჭირდებათ:

  • Arduino 5v (UNO, მეგა, პრო მინი და სხვა) - Arduino UNO R3 - AliExpress - eBay
  • ტემპერატურის სენსორი DS18B20 - AliExpress - eBay
  • 4.7k - 1/4w რეზისტორი THT - AliExpress - eBay
  • პურის დაფა - AliExpress - eBay
  • Jumper Wires - მამაკაცი კაცი - AliExpress - eBay
  • დაინსტალირებული კომპიუტერი Arduino IDE– ით

ნაბიჯი 1: დაამატეთ საჭირო ბიბლიოთეკა Arduino IDE- ს

დაამატეთ საჭირო ბიბლიოთეკა Arduino IDE– ს
დაამატეთ საჭირო ბიბლიოთეკა Arduino IDE– ს
  1. გახსენით Arduino IDE (მე ვიყენებ 1.8.1)
  2. დააწკაპუნეთ "ესკიზი" -> "ბიბლიოთეკის ჩართვა" -> "ბიბლიოთეკების მართვა …"
  3. აირჩიეთ საძიებო ზოლი და ჩაწერეთ "dallas"
  4. დააჭირეთ "DallasTemperature" და დააწკაპუნეთ "Install"

ალტერნატიულად შეგიძლიათ ჩამოტვირთოთ ბიბლიოთეკა აქედან:

ეს ბიბლიოთეკა მოიცავს OnWire ბიბლიოთეკას.

ნაბიჯი 2: შეაერთეთ DS18B20

შეაერთეთ DS18B20
შეაერთეთ DS18B20
შეაერთეთ DS18B20
შეაერთეთ DS18B20

პურის დაფის გამოყენებით დააკავშირეთ +5V, GND და ციფრული პინ 2 (პინ 2 უკვე მითითებულია მაგალითის ესკიზში) არდუინოდან მამრობითი სქესის პურის დაფის მხტუნავების გამოყენებით.

შეაერთეთ DS18B20 პარალელურად 3x ტერმინალის ზოლებთან პურის დაფაზე.

  • Pin 1 (GND) -> GND (Ground 0V)
  • პინი 2 (DATA) -> ციფრული პინი 2
  • Pin 3 (Vdd) -> +5V

ნორმალური სიმძლავრის რეჟიმისთვის დააკავშირეთ 4.7K რეზისტორი +5V– დან ციფრულ პინ 2 მავთულზე პურის დაფაზე.

შემდეგი ბმული არის დიდი რესურსი DS18B20 1 მავთულის ტემპერატურის სენსორისთვის.

www.tweaking4all.com/hardware/arduino/ardu…

ნაბიჯი 3: ჩატვირთეთ ესკიზის მაგალითი "მარტოხელა"

ჩატვირთეთ მაგალითი ესკიზი
ჩატვირთეთ მაგალითი ესკიზი
ჩატვირთეთ მაგალითი ესკიზი
ჩატვირთეთ მაგალითი ესკიზი

გათიშვისთანავე მზად ხართ ჩატვირთოთ დალასის ტემპერატურა "ერთჯერადი" ესკიზი გახსენით Arduino IDE (მე ვიყენებ 1.8.1) დააწკაპუნეთ "ფაილი" -> "მაგალითები" -> "დალასის ტემპერატურა" -> "მარტოხელა" დავამატე დაგვიანებით (5000); ხაზზე 103 რომ მომეცი დრო სერიული ნომრის დასაკოპირებლად აირჩიეთ შესაბამისი დაფის ფორმა "ინსტრუმენტები" -> "დაფა" აირჩიეთ თქვენი შესაბამისი პორტი "ინსტრუმენტები" -> "პორტი" ახლა "ატვირთეთ" ესკიზი "ესკიზი" -> "ატვირთვა" დააწკაპუნეთ "ინსტრუმენტები" -> "სერიული მონიტორი" დარწმუნდით, რომ baud განაკვეთები ემთხვევა ჩემსას 9600 თუ ესკიზი არ ატვირთავთ შეამოწმეთ დაფა, პორტი, USB დრაივერები და ა.

ნაბიჯი 4: დააკოპირეთ სერიული ნომერი

დააკოპირეთ სერიული ნომერი
დააკოპირეთ სერიული ნომერი
დააკოპირეთ სერიული ნომერი
დააკოპირეთ სერიული ნომერი

"სერიული მონიტორიდან" ნახავთ მე -4 სტრიქონს "მოწყობილობა 0 მისამართი: xxxxxxxxxxxxxxx"

ეს არის DS18B20– ის სერიული ნომერი

თუ ეს არის "000000000000000000", მაშინ პრობლემაა თქვენი DS18B20 კითხვისას.

მონიშნეთ იგი მაუსით და დააჭირეთ CTRL+C თქვენს კლავიატურას, შემდეგ ჩაწერეთ იგი Notepad– ში

ჩემი სხვა პროექტებისთვის ჩემი კოდი იყენებს ამ რიცხვების მასივს. მე გადავაფორმე HEX სტრიქონი შემდეგ ფორმატში.

DeviceAddress tempSensorSerial [9] = {

{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x94, 0x04, 0x04, 0x94, 0x98, 0x98, 0x94, 0x04, 0x98, 0x98, 0x98, 0x04, 0x98, 0x98, 0x98, 0x98, 0x98, 0x04, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xFF, 0x6, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED, 0xED,, 0x42, 0x71, 0x17, 0x04, 0x4C}};

ნაბიჯი 5: დასრულდა

დასრულდა
დასრულდა

ახლა თქვენ შეგიძლიათ განსაზღვროთ თითოეული ინდივიდუალური DS18B20 1 მავთულის ტემპერატურის სენსორი თქვენს კოდში და გამოიყენოთ მსგავსი ფუნქცია:

float getTemperature (ბაიტი j) {

სენსორები. მოთხოვნადიტემპერატურა (tempSensorSerial [j]);

float tempC = sensors.getTempC (tempSensorSerial [j]);

დაბრუნების tempC;

}

გირჩევთ: