Sisukord:

Hankige Arduino abil DS18B20 seerianumber: 5 sammu
Hankige Arduino abil DS18B20 seerianumber: 5 sammu

Video: Hankige Arduino abil DS18B20 seerianumber: 5 sammu

Video: Hankige Arduino abil DS18B20 seerianumber: 5 sammu
Video: DS18B20 Температура ESP8266 ESP 01 WIFI-модуль | ESP-01 Домашняя автоматизация | УдаленныйXY |ФЛПрог 2024, November
Anonim
Hankige Arduinoga DS18B20 seerianumber
Hankige Arduinoga DS18B20 seerianumber

See on lühijuhend selle kohta, kuidas saada oma DS18B20 1-juhtmeliste temperatuuriandurite individuaalseid seerianumbreid.

See on mugav projektide jaoks, mis nõuavad mitut andurit.

Asjad, mida vajate:

  • Arduino 5v (UNO, Mega, Pro Mini jne) - Arduino UNO R3 - AliExpress - eBay
  • Temperatuuriandur DS18B20 - AliExpress - eBay
  • 4.7k - 1/4w takisti THT - AliExpress - eBay
  • Leivalaud - AliExpress - eBay
  • Džemprijuhtmed - isast mehele - AliExpress - eBay
  • Arvuti, kuhu on installitud Arduino IDE

Samm: lisage vajalik raamatukogu Arduino IDE -sse

Lisage vajalik raamatukogu Arduino IDE -sse
Lisage vajalik raamatukogu Arduino IDE -sse
  1. Avage Arduino IDE (ma kasutan 1.8.1)
  2. Klõpsake "Visand" -> "Kaasa raamatukogu" -> "Halda raamatukogusid …"
  3. Valige otsinguriba ja tippige "dallas"
  4. Klõpsake "DallasTemperature" ja klõpsake "Install"

Teise võimalusena saate raamatukogu alla laadida siit:

See raamatukogu sisaldab OnWire'i raamatukogu.

Samm: ühendage DS18B20 juhtmega

Ühendage DS18B20 juhtmega
Ühendage DS18B20 juhtmega
Ühendage DS18B20 juhtmega
Ühendage DS18B20 juhtmega

Leivaplaadi abil ühendage +5V, GND ja digitaalne tihvt 2 (näpunäidisel 2 on tihvt 2 juba määratud) Arduino'st, kasutades leivaplaate Male to Male.

Ühendage DS18B20 paralleelselt leivaplaadi 3x klemmliistuga.

  • Pin 1 (GND) -> GND (Ground 0V)
  • Pin 2 (DATA) -> Digital Pin 2
  • Pin 3 (Vdd) -> +5V

Tavalise toiterežiimi jaoks ühendage 4,7K takisti +5V kuni leivaplaadil oleva digitaalse tihvti 2 juhtmega.

Järgmine link on suurepärane ressurss 1-juhtmelise temperatuurianduri DS18B20 jaoks.

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

Samm: laadige näidisvisand "Üksik"

Laadige näidisvisand
Laadige näidisvisand
Laadige näidisvisand
Laadige näidisvisand

Kui olete selle ühendanud, olete valmis laadima Dallase temperatuuri "Single" SketchOpen Arduino IDE (ma kasutan 1.8.1) Klõpsake "File" -> "Examples" -> "Dallas Temperature" -> "Single" Lisasin hilinenud (5000); real 103, et anda mulle aega seerianumbri kopeerimiseks Klõpsake "Tööriistad" -> "Seeriamonitor", veenduge, et andmeedastuskiirused vastavad minu omadele 9600Kui visandasite üleslaadimata, kontrollige oma plaati, porti, USB -draivereid jne.

Samm: kopeerige seerianumber

Kopeerige seerianumber
Kopeerige seerianumber
Kopeerige seerianumber
Kopeerige seerianumber

"Seeriamonitorist" näete neljandat rida "Seade 0 Aadress: xxxxxxxxxxxxxxxx"

See on DS18B20 seerianumber

Kui see on "0000000000000000", on teie DS18B20 lugemisel probleem.

Tõstke see hiirega esile ja vajutage klaviatuuril CTRL+C ja seejärel märkmikus

Muude projektide puhul kasutab minu kood nende numbrite massiivi. Vormindasin HEX stringi järgmisesse vormingusse.

DeviceAddress tempSensorSerial [9] = {

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

5. samm: lõpetatud

Valmis
Valmis

Nüüd saate oma koodis tuvastada iga üksiku juhtmega DS18B20 temperatuurianduri ja kasutada järgmist funktsiooni:

float getTemperature (bait j) {

sensors.requestTemperaturesByAddress (tempSensorSerial [j]);

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

tagasipöördumise tempC;

}

Soovitan: