Obsah:

Získejte sériové číslo DS18B20 s Arduino: 5 kroků
Získejte sériové číslo DS18B20 s Arduino: 5 kroků

Video: Získejte sériové číslo DS18B20 s Arduino: 5 kroků

Video: Získejte sériové číslo DS18B20 s Arduino: 5 kroků
Video: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, Červenec
Anonim
Získejte sériové číslo DS18B20 s Arduino
Získejte sériové číslo DS18B20 s Arduino

Toto je rychlý průvodce, jak získat jednotlivá sériová čísla vašich 1-vodičových snímačů teploty DS18B20.

To je užitečné pro projekty, které vyžadují více senzorů.

Věci, které potřebujete:

  • Arduino 5v (UNO, Mega, Pro Mini atd.) - Arduino UNO R3 - AliExpress - eBay
  • Teplotní senzor DS18B20 - AliExpress - eBay
  • 4,7k - 1/4w odpor THT - AliExpress - eBay
  • Breadboard - AliExpress - eBay
  • Propojovací vodiče - od muže k muži - AliExpress - eBay
  • Počítač s nainstalovaným Arduino IDE

Krok 1: Přidejte požadovanou knihovnu do Arduino IDE

Přidejte požadovanou knihovnu do Arduino IDE
Přidejte požadovanou knihovnu do Arduino IDE
  1. Otevřete Arduino IDE (používám 1.8.1)
  2. Klikněte na „Skica“-> „Zahrnout knihovnu“-> „Spravovat knihovny…“
  3. Vyberte vyhledávací panel a zadejte „dallas“
  4. Klikněte na „DallasTemperature“a klikněte na „Instalovat“

Knihovnu si také můžete stáhnout zde:

Tato knihovna obsahuje knihovnu OnWire.

Krok 2: Zapojte DS18B20

Připojte DS18B20
Připojte DS18B20
Připojte DS18B20
Připojte DS18B20

Pomocí prkénka připojte +5V, GND a digitální pin 2 (pin 2 je již nastaven v příkladu náčrtu) z Arduina pomocí propojovacích propojek mezi muži a muži.

Připojte DS18B20 paralelně k 3x svorkovnici na desce.

  • Pin 1 (GND) -> GND (Ground 0V)
  • Pin 2 (DATA) -> Digitální pin 2
  • Pin 3 (Vdd) -> +5V

Pro režim normálního napájení připojte 4,7K odpor od +5V k vodiči Digital Pin 2 na desce.

Následující odkaz je skvělým zdrojem pro 1vodičové teplotní čidlo DS18B20.

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

Krok 3: Načtěte ukázkový náčrt „Single“

Načtěte ukázkovou skicu
Načtěte ukázkovou skicu
Načtěte ukázkovou skicu
Načtěte ukázkovou skicu

Jakmile to budete mít zapojené, jste připraveni načíst Dallas Temperature „Single“SketchOpen Arduino IDE (používám 1.8.1) Klikněte na „Soubor“-> „Příklady“-> „Dallas Teplota“-> „Single“jsem přidal se zpožděním (5 000); na řádku 103 mi dejte čas na zkopírování sériového čísla Vyberte příslušný formulář desky „Nástroje“-> „Deska“Vyberte příslušný port „Nástroje“-> „Port“Nyní „Nahrát“skicu „Skica“-> „Nahrát“Klikněte na „Nástroje“-> „Sériový monitor“a ujistěte se, že přenosové rychlosti odpovídají mým 9600 Pokud jste skicu nenahráli, zkontrolujte desku, port, ovladače USB atd.

Krok 4: Zkopírujte sériové číslo

Zkopírujte sériové číslo
Zkopírujte sériové číslo
Zkopírujte sériové číslo
Zkopírujte sériové číslo

Ze „Sériového monitoru“uvidíte, že 4. řádek je „Adresa zařízení 0: xxxxxxxxxxxxxxxxxx“

Toto je sériové číslo DS18B20

Pokud je „000000000000000000“, pak je problém se čtením vašeho DS18B20.

Zvýrazněte ji myší a stiskněte klávesy CTRL+C na klávesnici a poté ji vložte do Poznámkového bloku

Pro mé další projekty můj kód používá řadu těchto čísel. Přeformátoval jsem HEX řetězec do následujícího formátu.

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, 0x, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED}, 0F28,, 0x42, 0x71, 0x17, 0x04, 0x4C}};

Krok 5: Hotovo

Hotovo
Hotovo

Nyní můžete ve svém kódu identifikovat každý jednotlivý 1vodičový snímač teploty DS18B20 a používat funkci jako je tato:

float getTemperature (byte j) {

sensor.requestTemperaturesByAddress (tempSensorSerial [j]);

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

návrat tempC;

}

Doporučuje: