Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ DS18B20: полная инструкция

Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ DS18B20 Π΄Π°Π²Π½ΠΎ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» сСбя ΠΊΠ°ΠΊ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ инструмСнт Π² арсСналС Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ². Π•Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² возмоТности Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² сСти One-Wire, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ мноТСство сСнсоров ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всСго ΠΎΠ΄ΠΈΠ½ ΠΏΠΈΠ½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для систСм ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, контроля ΠΊΠ»ΠΈΠΌΠ°Ρ‚Π° Π² ΠΈΠ½ΠΊΡƒΠ±Π°Ρ‚ΠΎΡ€Π°Ρ… ΠΈΠ»ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… тСрмисторов, DS18B20 Π²Ρ‹Π΄Π°Π΅Ρ‚ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΠ°Π»ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ сигнал, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ слоТной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ составляСт Β±0.5Β°C Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ -10Β°C Π΄ΠΎ +85Β°C, Ρ‡Ρ‚ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ достаточно для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, корпус сСнсора часто выполняСтся Π² Π³Π΅Ρ€ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΎΠΌ stainless steel исполнСнии, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ нСпосрСдствСнно Π² Тидкости.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ физичСскоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° 1-Wire ΠΈ напишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Arduino. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ отсутствиС ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ рСзистора, ΠΈ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ систСму ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π₯отя Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ напряТСния, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ 3.3Π’ ΠΈΠ»ΠΈ 5Π’ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, избСгая прямого ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ источникам Π²Ρ‹ΡˆΠ΅ 5.5Π’ Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· строя кристалла.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ особСнности интСрфСйса One-Wire

Основой ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ являСтся ΠΎΠ΄Π½ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ интСрфСйс One-Wire, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Dallas Semiconductor (Π½Ρ‹Π½Π΅ Ρ‡Π°ΡΡ‚ΡŒ Maxim Integrated). Главная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ этого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° сигнальная линия, Π° ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Ρƒ, Π»ΠΈΠ±ΠΎ ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½Ρ‹ΠΌ способом Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρƒ ΠΆΠ΅ линию Π΄Π°Π½Π½Ρ‹Ρ….

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр DS18B20 ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ сСрийный Π½ΠΎΠΌΠ΅Ρ€, Π·Π°ΡˆΠΈΡ‚Ρ‹ΠΉ Π½Π° Π·Π°Π²ΠΎΠ΄Π΅. Π­Ρ‚ΠΎ позволяСт ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСнсор Π² сСти, Π΄Π°ΠΆΠ΅ Ссли ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ нСсколько ΡˆΡ‚ΡƒΠΊ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. АдрСсация происходит Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‡Ρ‚ΠΎ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя спСциализированная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, избавляя программиста ΠΎΡ‚ нСобходимости ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΈ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅?

ΠŸΡ€ΠΈ ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½ΠΎΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ запасаСт ΡΠ½Π΅Ρ€Π³ΠΈΡŽ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ кондСнсаторС Π²ΠΎ врСмя логичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π½Π° шинС Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ большС Ρ‚ΠΎΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹), ΠΎΠ½ потрСбляСт Π·Π°ΠΏΠ°ΡΠ΅Π½Π½ΡƒΡŽ ΡΠ½Π΅Ρ€Π³ΠΈΡŽ. Π­Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° (зСмля ΠΈ Π΄Π°Π½Π½Ρ‹Π΅), Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ количСство Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π΄Π»ΠΈΠ½Ρƒ кабСля.

БущСствуСт Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ: с внСшним ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ (Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°: VCC, GND, Data) ΠΈ с ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½Ρ‹ΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ (Π΄Π²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°: GND, Data). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ являСтся Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, особСнно Ссли Π΄Π»ΠΈΠ½Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 1 ΠΌΠ΅Ρ‚Ρ€ ΠΈΠ»ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Π² сСти ΠΌΠ½ΠΎΠ³ΠΎ.

НСобходимыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для сборки схСмы

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя сам ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Arduino Uno, Nano ΠΈΠ»ΠΈ ESP32), Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ тСрмосСнсор DS18B20 ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°. Для обСспСчСния ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… критичСски Π²Π°ΠΆΠ½ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ рСзистора.

Номинал рСзистора ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ составляСт 4.7 кОм, ΠΎΠ΄Π½Π°ΠΊΠΎ допустимо использованиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 3.3 кОм Π΄ΠΎ 10 кОм. Π­Ρ‚ΠΎΡ‚ элСмСнт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ плюсом питания, формируя ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ логичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π½Π° шинС. Π‘Π΅Π· Π½Π΅Π³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π΅ смоТСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ показания.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ†ΠΈΠΈ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΌ понадобится ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с установлСнной срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Arduino IDE. Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° дисплСй ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ Wi-Fi, список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡΡ, Π½ΠΎ для Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ достаточно минимального Π½Π°Π±ΠΎΡ€Π°.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ DS18B20 ΠΊ Arduino

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ° зависит ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ способа питания. Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с внСшним ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСкомСндуСтся для стационарных установок. Π’ этом случаС ΠΊ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΡƒ подводятся Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°: красный ΠΊ VCC (5Π’), Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ΠΊ GND, Π° ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ (ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ) ΠΊ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΏΠΈΠ½Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, D2.

РСзистор 4.7 кОм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ красным ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΌ (VCC) ΠΈ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΌ (Data). Π­Ρ‚ΠΎ обСспСчиваСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ подтяТку Π»ΠΈΠ½ΠΈΠΈ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π² корпусС с трСмя Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ, рСзистор ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΆΠ΅ установлСн Π½Π° ΠΏΠ»Π°Ρ‚Π΅, Π½ΠΎ Π² случаС с "Π³ΠΎΠ»Ρ‹ΠΌ" сСнсором Π΅Π³ΠΎ установка ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°.

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ DS18B20 НазначСниС ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Arduino Π¦Π²Π΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° (стандарт)
1 (VDD) ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ 5V ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ
2 (DQ) Π”Π°Π½Π½Ρ‹Π΅ Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠΈΠ½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, D2) Π–Π΅Π»Ρ‚Ρ‹ΠΉ/Π‘Π΅Π»Ρ‹ΠΉ
3 (GND) ЗСмля GND Π§Π΅Ρ€Π½Ρ‹ΠΉ/Π‘ΠΈΠ½ΠΈΠΉ
РСзистор ΠŸΠΎΠ΄Ρ‚ΡΠΆΠΊΠ° ΠœΠ΅ΠΆΠ΄Ρƒ VCC ΠΈ DQ -

ΠŸΡ€ΠΈ ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½ΠΎΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ (VDD) соСдиняСтся с Π·Π΅ΠΌΠ»Π΅ΠΉ (GND), Π° рСзистор ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΌ ΠΈ плюсом питания (5V). Вакая схСма экономит ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ устойчива ΠΊ ΠΏΠΎΠΌΠ΅Ρ…Π°ΠΌ Π½Π° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… дистанциях.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ настройка ΠΈ установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с DS18B20 Π² срСдС Arduino IDE потрСбуСтся Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ: OneWire ΠΈ DallasTemperature. ΠŸΠ΅Ρ€Π²Π°Ρ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» общСния, Π° вторая прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ API для получСния Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Π‘Π΅Π· ΠΈΡ… установки ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Arduino IDE, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Π‘ΠΊΠ΅Ρ‚Ρ‡ β†’ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ β†’ Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. Π’ поискС Π²Π²Π΅Π΄ΠΈΡ‚Π΅ "OneWire", Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΡ‚ Paul Stoffregen ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ "Install". Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ "DallasTemperature" ΠΎΡ‚ Miles Burton.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ устанавливаСтС ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ высокий Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ ΠΈ количСство Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ. Π‘Ρ‚Π°Ρ€Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ошибки совмСстимости с Π½ΠΎΠ²Ρ‹ΠΌΠΈ вСрсиями IDE.

ПослС установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ написанию ΠΊΠΎΠ΄Π°. Π’ Π½Π°Ρ‡Π°Π»Π΅ скСтча Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΈΠ½, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ. Π”Π°Π»Π΅Π΅ создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡˆΠΈΠ½Ρ‹ OneWire ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€Π°.

#include <OneWire.h>

#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

void setup(void) {

Serial.begin(9600);

sensors.begin();

}

Π­Ρ‚ΠΎΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ запускаСт опрос ΡˆΠΈΠ½Ρ‹. Ѐункция sensors.begin() сканируСт ΡˆΠΈΠ½Ρƒ ΠΈ опрСдСляСт количСство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… устройств.

Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ основном Ρ†ΠΈΠΊΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ loop происходит запрос Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ врСмя (Π΄ΠΎ 750 мс для максимального Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ), поэтому функция requestTemperatures() являСтся Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ оТидания, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ асинхронный Ρ€Π΅ΠΆΠΈΠΌ.

Для получСния значСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ getTempC(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ Π² градусах ЦСльсия. Если Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка связи, функция Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ошибки, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅.

πŸ“Š Какой ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅?
Arduino Uno
Arduino Nano
ESP32
ESP8266
Π”Ρ€ΡƒΠ³ΠΎΠΉ

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°. Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ читаСмости стоит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ количСство Π·Π½Π°ΠΊΠΎΠ² послС запятой. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡˆΡƒΠΌ Π½Π° Π»ΠΈΠ½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Π΅ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа.

void loop(void) {

sensors.requestTemperatures();

float tempC = sensors.getTempCByIndex(0);

if (tempC != -127.00) {

Serial.print("Temperature: ");

Serial.println(tempC);

} else {

Serial.println("Error reading sensor");

}

delay(1000);

}

Код провСряСт, Π½Π΅ являСтся Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠΌ ошибки (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ -127.00), ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ. Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² 1 сСкунду ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ слишком частый опрос, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Диагностика нСисправностСй ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ точности

Частой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ фиксированного значСния 85.00Β°C. Π­Ρ‚ΠΎ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ хранится Π² памяти Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° сразу послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания, Π΄ΠΎ провСдСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ прСобразования. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ 85.00 постоянно, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° старт измСрСния Π½Π΅ выполняСтся ΠΈΠ»ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная ошибка β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ -127.00. Π­Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ устройство Π½Π° шинС. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ рСзистора, Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². Иногда ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π° рСзистора Π½Π° 4.7 кОм Π½Π° 2.2 кОм, Ссли Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ.

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ точности ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ΠΎ составляСт 12 Π±ΠΈΡ‚, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π΄ΠΎ 9 Π±ΠΈΡ‚ для ускорСния опроса. Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ собствСнноС Ρ‚Π΅ΠΏΠ»ΠΎΠ²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ частых опросах Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ питания.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ 85 градусов?

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 85.00Β°C β€” это заводская настройка рСгистров DS18B20 послС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ это число, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ успСла ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡŽ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой связи сразу послС старта. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ функция requestTemperatures() вызываСтся ΠΏΠ΅Ρ€Π΅Π΄ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ.

МоТно Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 10 Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²?

ВСорСтичСски ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» One-Wire ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄ΠΎ 100 устройств Π½Π° ΠΎΠ΄Π½ΠΎΠΉ шинС. Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ количСства Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², растСт Ρ‚ΠΎΠΊ потрСблСния ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° линию. Для сСтСй Π±ΠΎΠ»Π΅Π΅ 10 сСнсоров ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ внСшнСС ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ сСрийный Π½ΠΎΠΌΠ΅Ρ€ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°?

Π‘Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скСтча "DS18x20_Temperature" ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DallasTemperature. Он выводится Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΡ€Ρ‚Π° ΠΏΡ€ΠΈ стартС. Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ кристалла ΠΈ позволяСт Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅.