Talaan ng mga Nilalaman:

Kunin ang Serial Number ng isang DS18B20 Sa Isang Arduino: 5 Mga Hakbang
Kunin ang Serial Number ng isang DS18B20 Sa Isang Arduino: 5 Mga Hakbang

Video: Kunin ang Serial Number ng isang DS18B20 Sa Isang Arduino: 5 Mga Hakbang

Video: Kunin ang Serial Number ng isang DS18B20 Sa Isang Arduino: 5 Mga Hakbang
Video: FLProg10: датчик температуры DS18B20 | ESP32 NodeMCU | Визуальное программирование для Arduino 2024, Nobyembre
Anonim
Kunin ang Serial Number ng isang DS18B20 Sa Isang Arduino
Kunin ang Serial Number ng isang DS18B20 Sa Isang Arduino

Ito ay isang mabilis na gabay sa kung paano makakuha ng mga indibidwal na serial number ng iyong DS18B20 1-wire sensor ng temperatura.

Ito ay madaling gamitin para sa mga proyekto na nangangailangan ng maraming mga sensor.

Mga bagay na kailangan mo:

  • Arduino 5v (UNO, Mega, Pro Mini atbp) - Arduino UNO R3 - AliExpress - eBay
  • Temp Sensor DS18B20 - AliExpress - eBay
  • 4.7k - 1 / 4w Resistor THT - AliExpress - eBay
  • Breadboard - AliExpress - eBay
  • Jumper Wires - Lalaki hanggang Lalaki - AliExpress - eBay
  • Isang computer na may naka-install na Arduino IDE

Hakbang 1: Idagdag ang Kinakailangan na Library sa Arduino IDE

Idagdag ang Kinakailangan na Library sa Arduino IDE
Idagdag ang Kinakailangan na Library sa Arduino IDE
  1. Buksan ang Arduino IDE (Gumagamit ako ng 1.8.1)
  2. I-click ang "Sketch" -> "Isama ang Library" -> "Pamahalaan ang Mga Aklatan…"
  3. Piliin ang search bar at i-type ang "dallas"
  4. I-click ang "DallasTemperature" at i-click ang "I-install"

Bilang kahalili maaari mong i-download ang Library mula dito:

Kasama sa Library na ito ang OnWire Library.

Hakbang 2: Wire Up ang DS18B20

Wire Up ang DS18B20
Wire Up ang DS18B20
Wire Up ang DS18B20
Wire Up ang DS18B20

Ang paggamit ng isang board ng koneksyon ay kumonekta + 5V, GND at Digital Pin 2 (Ang Pin 2 ay nakatakda na sa halimbawa ng sketch) mula sa Arduino gamit ang Male to Male breadboard jumpers.

Ikonekta ang parallel ng DS18B20 sa 3x terminal strips sa breadboard.

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

Para sa Normal Power Mode kumonekta sa isang 4.7K Resistor mula sa + 5V hanggang sa Digital Pin 2 wire sa breadboard.

Ang sumusunod na link ay isang mahusay na mapagkukunan para sa DS18B20 1-wire sensor ng temperatura.

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

Hakbang 3: I-load ang Halimbawa ng Sketch na "Single"

I-load ang Halimbawa ng Sketch
I-load ang Halimbawa ng Sketch
I-load ang Halimbawa ng Sketch
I-load ang Halimbawa ng Sketch

Kapag mayroon ka nang wired up handa ka nang i-load ang Temperatura ng Dallas "Single" SketchOpen Arduino IDE (Gumagamit ako ng 1.8.1) I-click ang "File" -> "Mga Halimbawa" -> "Temperatura ng Dallas" -> "Single" naidagdag ko sa pagkaantala (5000); sa linya 103 upang bigyan ako ng oras upang kopyahin ang serial number Piliin ang iyong naaangkop na form ng board na "Tools" -> "Board" Piliin ang iyong naaangkop na port na "Tools" -> "Port" Ngayon "I-upload" ang Sketch na "Sketch" -> "Upload" I-click ang "Tools" -> "Serial Monitor" siguraduhin na ang tugma sa mga rate ng baud ay 9600Kung nag-sketch ka ay hindi na-upload suriin ang iyong mga driver ng Board, Port, USB atbp.

Hakbang 4: Kopyahin ang Serial Number

Kopyahin ang Serial Number
Kopyahin ang Serial Number
Kopyahin ang Serial Number
Kopyahin ang Serial Number

Mula sa "Serial Monitor" makikita mo ang ika-4 na linya na "Device 0 Address: xxxxxxxxxxxxxxxx"

Ito ang Serial Number ng DS18B20

Kung ito ay "0000000000000000" kung gayon mayroong isang isyu sa pagbabasa ng iyong DS18B20.

I-highlight ito gamit ang iyong mouse at pindutin ang CTRL + C sa iyong keyboard pagkatapos ay lagpasan ito sa Notepad

Para sa aking iba pang mga proyekto ang aking code ay gumagamit ng isang hanay ng mga bilang na ito. Ni-reformat ko ang HEX string sa sumusunod na format.

DeviceAddress tempSensorSerial [9] = {

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

Hakbang 5: Tapos na

Tapos na
Tapos na

Ngayon ay makikilala mo ang bawat indibidwal na sensor ng temperatura ng 1-wire na DS18B20 sa iyong code at gumamit ng pag-andar na tulad nito:

float getTemperature (byte j) {

sensors.requestTemperatureByAddress (tempSensorSerial [j]);

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

ibalik ang tempC;

}

Inirerekumendang: