Sisällysluettelo:

Hanki DS18B20 -sarjanumero Arduinolla: 5 vaihetta
Hanki DS18B20 -sarjanumero Arduinolla: 5 vaihetta

Video: Hanki DS18B20 -sarjanumero Arduinolla: 5 vaihetta

Video: Hanki DS18B20 -sarjanumero Arduinolla: 5 vaihetta
Video: Etäseuraa kotisi energiankulutusta | PZEM-004T | RemoteXY IoT Cloud 2024, Marraskuu
Anonim
Hanki DS18B20 -sarjanumero Arduinolla
Hanki DS18B20 -sarjanumero Arduinolla

Tämä on pikaopas siitä, miten saat 1-johtimisen DS18B20-lämpötila-anturin yksittäiset sarjanumerot.

Tämä on kätevä projekteissa, jotka vaativat useita antureita.

Tarvitsemasi asiat:

  • Arduino 5v (UNO, Mega, Pro Mini jne.) - Arduino UNO R3 - AliExpress - eBay
  • Lämpötila -anturi DS18B20 - AliExpress - eBay
  • 4.7k - 1/4w vastus THT - AliExpress - eBay
  • Leipälauta - AliExpress - eBay
  • Hyppyjohdot - uros -uros - AliExpress - eBay
  • Tietokone, johon on asennettu Arduino IDE

Vaihe 1: Lisää vaadittu kirjasto Arduino IDE: hen

Lisää pakollinen kirjasto Arduino IDE: hen
Lisää pakollinen kirjasto Arduino IDE: hen
  1. Avaa Arduino IDE (käytän 1.8.1)
  2. Napsauta "Sketch" -> "Include Library" -> "Manage Libraries…"
  3. Valitse hakupalkki ja kirjoita "dallas"
  4. Napsauta "DallasTemperature" ja napsauta "Install"

Vaihtoehtoisesti voit ladata kirjaston täältä:

Tämä kirjasto sisältää OnWire -kirjaston.

Vaihe 2: Yhdistä DS18B20

Yhdistä DS18B20
Yhdistä DS18B20
Yhdistä DS18B20
Yhdistä DS18B20

Liitä leipälevyllä +5V, GND ja digitaalinen nasta 2 (nasta 2 on jo asetettu esimerkkiluonnoksessa) Arduinosta käyttämällä uros -uros -leipähyppyjä.

Kytke DS18B20 rinnakkain leipälevyn 3x -liitinliuskaan.

  • Nasta 1 (GND) -> GND (Ground 0V)
  • Nasta 2 (DATA) -> Digitaalinen nasta 2
  • Nasta 3 (Vdd) -> +5V

Normaalia virransäästötilaa varten liitä 4,7 K: n vastus +5 V: sta leipälevyn digitaaliseen 2 -napaiseen johtoon.

Seuraava linkki on loistava resurssi 1-johtimiselle DS18B20-lämpötila-anturille.

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

Vaihe 3: Lataa esimerkkiluonnos "Single"

Lataa esimerkkiluonnos
Lataa esimerkkiluonnos
Lataa esimerkkiluonnos
Lataa esimerkkiluonnos

Kun olet kytkenyt sen, olet valmis lataamaan Dallas Temperature "Single" SketchOpen Arduino IDE (käytän 1.8.1) Napsauta "File" -> "Examples" -> "Dallas Temperature" -> "Single" Lisäsin viivästynyt (5000); rivillä 103 antaa minulle aikaa kopioida sarjanumeroValitse sopiva korttilomake "Työkalut" -> "Hallitus" Valitse sopiva portti "Työkalut" -> "Portti" Nyt "Lataa" luonnos "Luonnos" -> "Lataa" Napsauta "Työkalut" -> "Sarjamonitori" ja varmista, että siirtonopeudet vastaavat 9600 -arvoa. Jos luonnos ei lähettänyt, tarkista kortti, portti, USB -ohjaimet jne.

Vaihe 4: Kopioi sarjanumero

Kopioi sarjanumero
Kopioi sarjanumero
Kopioi sarjanumero
Kopioi sarjanumero

"Sarjamonitorista" näet neljännen rivin "Laite 0 Osoite: xxxxxxxxxxxxxxxx"

Tämä on sarjan DS18B20 sarjanumero

Jos se on "0000000000000000", DS18B20 -laitteen lukemisessa on ongelma.

Korosta se hiirellä ja paina näppäimistön CTRL+C -näppäintä ja ohita se sitten Muistiossa

Muissa projekteissani koodini käyttää näitä numeroita. Alustin HEX -merkkijonon seuraavaan muotoon.

DeviceAddress tempSensorSerial [9] = {

{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x, 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}, {0x28}, 0x42, 0x71, 0x17, 0x04, 0x4C}};

Vaihe 5: Valmis

Valmis
Valmis

Nyt voit tunnistaa koodistasi kaikki yksittäiset 1-johtiminen DS18B20-lämpötila-anturit ja käyttää seuraavaa toimintoa:

float getTemperature (tavu j) {

sensors.requestTemperaturesByAddress (tempSensorSerial [j]);

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

paluulämpötila;

}

Suositeltava: