Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
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
- Buksan ang Arduino IDE (Gumagamit ako ng 1.8.1)
- I-click ang "Sketch" -> "Isama ang Library" -> "Pamahalaan ang Mga Aklatan…"
- Piliin ang search bar at i-type ang "dallas"
- 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
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"
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
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
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;
}