Obsah:

Získajte sériové číslo DS18B20 s Arduino: 5 krokov
Získajte sériové číslo DS18B20 s Arduino: 5 krokov

Video: Získajte sériové číslo DS18B20 s Arduino: 5 krokov

Video: Získajte sériové číslo DS18B20 s Arduino: 5 krokov
Video: Lesson 12: Using Arduino Programming function and switch | SunFounder Robojax 2024, Júl
Anonim
Získajte sériové číslo DS18B20 s Arduino
Získajte sériové číslo DS18B20 s Arduino

Toto je rýchly sprievodca k získaniu jednotlivých sériových čísel vašich 1-vodičových snímačov teploty DS18B20.

To je praktické pre projekty, ktoré vyžadujú viac senzorov.

Veci, ktoré potrebujete:

  • Arduino 5v (UNO, Mega, Pro Mini atď.) - Arduino UNO R3 - AliExpress - eBay
  • Snímač teploty DS18B20 - AliExpress - eBay
  • 4,7 k - 1/4w odpor THT - AliExpress - eBay
  • Breadboard - AliExpress - eBay
  • Prepojovacie vodiče - od muža k mužovi - AliExpress - eBay
  • Počítač s nainštalovaným Arduino IDE

Krok 1: Pridajte požadovanú knižnicu do Arduino IDE

Pridajte požadovanú knižnicu do Arduino IDE
Pridajte požadovanú knižnicu do Arduino IDE
  1. Otvorte Arduino IDE (používam 1.8.1)
  2. Kliknite na „Skica“-> „Zahrnúť knižnicu“-> „Spravovať knižnice …“
  3. Vyberte vyhľadávací panel a zadajte „dallas“
  4. Kliknite na „Teplota Dallasu“a potom na „Inštalovať“

Knižnicu si môžete alternatívne stiahnuť tu:

Táto knižnica obsahuje knižnicu OnWire.

Krok 2: Pripojte DS18B20

Pripojte DS18B20
Pripojte DS18B20
Pripojte DS18B20
Pripojte DS18B20

Pripojte pomocou dosky na chlieb +5 V, GND a digitálny kolík 2 (kolík 2 je už nastavený v príklade náčrtu) z Arduina pomocou prepojok prepojovacieho panelu medzi mužmi a mužmi.

Pripojte DS18B20 paralelne k 3x svorkovniciam na doske.

  • Pin 1 (GND) -> GND (uzemnenie 0V)
  • Pin 2 (DATA) -> Digitálny pin 2
  • Pin 3 (Vdd) -> +5V

Pre režim normálneho napájania pripojte 4,7K odpor od +5V k vodiču Digital Pin 2 na doske.

Nasledujúci odkaz je skvelým zdrojom pre 1-vodičový snímač teploty DS18B20.

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

Krok 3: Načítajte ukážkový náčrt „Single“

Načítajte ukážkový náčrt
Načítajte ukážkový náčrt
Načítajte ukážkový náčrt
Načítajte ukážkový náčrt

Akonáhle to budete mať zapojené, ste pripravení načítať Dallas Temperature „Single“SketchOpen Arduino IDE (používam 1.8.1) Kliknite na „Súbor“-> „Príklady“-> „Teplota v Dallase“-> „Single“, ktoré som pridal s oneskorením (5000); na riadku 103, aby som dostal čas na skopírovanie sériového číslaVyberte si príslušný formulár na nástenke „Nástroje“-> „Doska“Vyberte príslušný port „Nástroje“-> „Port“Teraz „Nahrať“náčrt „Skica“-> „Odovzdať“Kliknite na „Nástroje“-> „Sériový monitor“a uistite sa, že sa prenosové rýchlosti zhodujú s mojimi 9600 Ak ste skicu neodovzdali, skontrolujte dosku, port, ovládače USB atď.

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

Skopírujte sériové číslo
Skopírujte sériové číslo
Skopírujte sériové číslo
Skopírujte sériové číslo

Z „Sériového monitora“uvidíte, že 4. riadok je „Adresa zariadenia 0: xxxxxxxxxxxxxxxxxx“

Toto je sériové číslo DS18B20

Ak je „000000000000000000“, potom je problém s čítaním vášho DS18B20.

Zvýraznite ho myšou, stlačte klávesy CTRL+C na klávesnici a potom ho vložte do programu Poznámkový blok

Pre moje ďalšie projekty môj kód používa rad týchto čísel. HEXový reťazec som naformátoval na nasledujúci formát.

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}, FF, 0x28,, 0x42, 0x71, 0x17, 0x04, 0x4C}};

Krok 5: Hotovo

Hotovo
Hotovo

Teraz môžete vo svojom kóde identifikovať každý jednotlivý 1-vodičový snímač teploty DS18B20 a používať funkciu ako je táto:

float getTemperature (byte j) {

sensor.requestTemperaturesByAddress (tempSensorSerial [j]);

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

návratová teplotaC;

}

Odporúča: