Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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
- Avage Arduino IDE (ma kasutan 1.8.1)
- Klõpsake "Visand" -> "Kaasa raamatukogu" -> "Halda raamatukogusid …"
- Valige otsinguriba ja tippige "dallas"
- 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
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"
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
"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
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;
}