ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° DS18B20 ΠΊ Arduino: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство

Цифровая тСрмомСтрия Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² β€” это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ для создания систСм ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, мСтСостанций ΠΈΠ»ΠΈ контроля ΠΊΠ»ΠΈΠΌΠ°Ρ‚Π° Π² ΠΈΠ½ΠΊΡƒΠ±Π°Ρ‚ΠΎΡ€Π°Ρ…. DS18B20 заслуТСнно считаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых популярных ΠΈ доступных сСнсоров благодаря своСй надСТности ΠΈ простотС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Arduino. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π°Π½Π°Π»ΠΎΠ³ΠΎΠ², этот Ρ‡ΠΈΠΏ Π²Ρ‹Π΄Π°Π΅Ρ‚ сразу ΠΎΡ‚ΠΊΠ°Π»ΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎ избавляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ слоТной матСматичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов.

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

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π°ΠΌ потрСбуСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ оборудования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² любом ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ элСктроники для Ρ…ΠΎΠ±Π±ΠΈ. Π’Π°ΠΆΠ½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ всС элСмСнты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ процСсс сборки ΠΏΡ€ΠΎΡˆΠ΅Π» Π³Π»Π°Π΄ΠΊΠΎ ΠΈ Π±Π΅Π· лишнСй ΠΏΠ°ΠΉΠΊΠΈ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… этапах. ΠœΡ‹ рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π² Π²ΠΎΠ΄ΠΎΠ½Π΅ΠΏΡ€ΠΎΠ½ΠΈΡ†Π°Π΅ΠΌΠΎΠΌ корпусС, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅ для PCB-ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ°.

НСобходимыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

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

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌ элСмСнтом схСмы являСтся рСзистор Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠΌ 4.7 кОм. МногиС Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ этот ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡŽ связи с сСнсором. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, макСтная ΠΏΠ»Π°Ρ‚Π° для удобства тСстирования.

  • πŸ“Ÿ ΠŸΠ»Π°Ρ‚Π° Arduino (Uno, Nano ΠΈΠ»ΠΈ Mega)
  • 🌑️ Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ DS18B20
  • πŸ”Œ РСзистор 4.7 кОм (4700 Ом)
  • πŸ”Œ Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° (Π΄ΠΆΠ°ΠΌΠΏΠ΅Ρ€Ρ‹)
  • πŸ’» ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с установлСнной IDE Arduino
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π² мСталличСском корпусС (гильзС) ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π½Π΅ Π·Π°ΠΌΡ‹ΠΊΠ°ΡŽΡ‚ Π½Π° корпус, Ссли Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ вывСсти ΠΏΠΎΡ€Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ· строя.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ сборкой β€” Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ², Π° рСзистор ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ сопротивлСниС, ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ. ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ чистыми ΠΈ Π½Π΅ окислСнными.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° 1-Wire

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ основой взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΈ сСнсором являСтся ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» 1-Wire, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Dallas Semiconductor (Π½Ρ‹Π½Π΅ Maxim Integrated). Π•Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² возмоТности ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ питания ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π»ΠΈΠ½ΠΈΠΈ, хотя Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с Arduino рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ…ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½Π½Ρ‹Π΅ сСти сСнсоров Π½Π° ΠΎΠ΄Π½ΠΎΠΌ физичСском интСрфСйсС.

Π’ основС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π»Π΅ΠΆΠΈΡ‚ мастСр-slave Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π³Π΄Π΅ Arduino выступаСт Π² Ρ€ΠΎΠ»ΠΈ мастСра, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΠΌΠ΅Π½, Π° DS18B20 являСтся Π²Π΅Π΄ΠΎΠΌΡ‹ΠΌ устройством. ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ происходит ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΠΈΡ‚ Π·Π° Π±ΠΈΡ‚ΠΎΠΌ, с соблюдСниСм строгих Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ². Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΡˆΠΈΠ½Ρ‹ происходит ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ чтСния, Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ всСх ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… устройств.

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

ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΎΠ²

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ соблюдСния микросСкундных Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ. НапримСр, сброс ΡˆΠΈΠ½Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня сигнала Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ 480 мкс Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… миллисСкунд, послС Ρ‡Π΅Π³ΠΎ слСдуСт ΠΎΠΊΠ½ΠΎ присутствия.

Одной ΠΈΠ· особСнностСй являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ питания, ΠΊΠΎΠ³Π΄Π° Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π±Π΅Ρ€Π΅Ρ‚ ΡΠ½Π΅Ρ€Π³ΠΈΡŽ нСпосрСдствСнно ΠΈΠ· Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Однако Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ΅Π½ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ высоких Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ АЦП сСнсора.

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

Π‘Π±ΠΎΡ€ΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊ распиновкС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π² корпусС TO-92 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°: GND (зСмля), VDD (ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅) ΠΈ Data (Π΄Π°Π½Π½Ρ‹Π΅). Π’ Π²ΠΎΠ΄ΠΎΠ½Π΅ΠΏΡ€ΠΎΠ½ΠΈΡ†Π°Π΅ΠΌΠΎΠΌ исполнСнии ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΡƒΡŽ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ: красный (VDD), Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ (GND) ΠΈ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ/Π±Π΅Π»Ρ‹ΠΉ (Data).

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ осущСствляСтся ΠΊ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΏΠΈΠ½Ρƒ Arduino, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ D2. ΠœΠ΅ΠΆΠ΄Ρƒ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π»ΠΈΠ½ΠΈΠ΅ΠΉ питания ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ устанавливаСтся ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠΌ 4.7 кОм. Он Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π»ΠΈΠ½ΠΈΠΈ Π² Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ послС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°.

Рассмотрим ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ схСму соСдинСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ для наглядности:

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ DS18B20 ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ Arduino ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
GND (ЗСмля) GND ΠžΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄
VDD (ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅) 5V ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ 5 Π’ΠΎΠ»ΡŒΡ‚
Data (Π”Π°Π½Π½Ρ‹Π΅) D2 (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠΈΠ½) Π§Π΅Ρ€Π΅Π· рСзистор 4.7 кОм ΠΊ 5V

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сборки схСмы

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

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π½Π° ΠΏΠ»Π°Ρ‚Π΅ (с Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ PCB), Ρ‚Π°ΠΌ рСзистор ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΡƒΠΆΠ΅ распаяны ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС достаточно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΈΠ½Π° ΠΊ Arduino. Однако дискрСтныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π΄Π°ΡŽΡ‚ большС гибкости Π² Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° питания ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ΄Π°Ρ‡Π° 5Π’ Π½Π° ΠΏΠΈΠ½ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· рСзистора ΠΈΠ»ΠΈ Π½Π° GND ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΠΆΠ΅Ρ‡ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ настройка IDE

Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ спСциализированныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ. Бтандартная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Arduino IDE Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для 1-Wire, поэтому Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ внСшниС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ OneWire ΠΈ DallasTemperature.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ мСню Π‘ΠΊΠ΅Ρ‚Ρ‡ β†’ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» β†’ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ .ZIP Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ссли Π²Ρ‹ скачали Π°Ρ€Ρ…ΠΈΠ²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’ мСню Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β†’ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π² поискС "OneWire" ΠΈ установитС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΡ‚ Paul Stoffregen. Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈ установитС "DallasTemperature".

ПослС установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² #include. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ компилятору ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для поиска устройств ΠΈ запроса Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Код становится Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π΅Π΅ ΠΈ понятнСС.

#include 

#include

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΌΡ‹ объявляСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅ΠΌΡƒ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΈΠ½Π°. Π”Π°Π»Π΅Π΅ создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сСнсоров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ всСми Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° этой шинС устройствами. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ происходит Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ setup().

πŸ“Š Какой Ρ‚ΠΈΠΏ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?
Π’ΠΎΠ΄ΠΎΠ½Π΅ΠΏΡ€ΠΎΠ½ΠΈΡ†Π°Π΅ΠΌΡ‹ΠΉ Π² гильзС
Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ корпусС TO-92
Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° ΠΏΠ»Π°Ρ‚Π΅
НСсколько Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Π² сСти

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ считываниС Π΄Π°Π½Π½Ρ‹Ρ…

Основной Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ строится Π²ΠΎΠΊΡ€ΡƒΠ³ запроса Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈ оТидания готовности Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ loop() ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ requestTemperatures(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отправляСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° ΡˆΠΈΠ½Ρƒ. ПослС этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΡƒ врСмя Π½Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡŽ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ опроса.

Для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Serial.begin(9600) ΠΌΡ‹ устанавливаСм ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, оставляя Π½ΡƒΠΆΠ½ΠΎΠ΅ количСство Π·Π½Π°ΠΊΠΎΠ² послС запятой для отобраТСния.

  • πŸ“₯ sensors.requestTemperatures() β€” отправляСт запрос всСм устройствам
  • ⏳ sensors.waitForConversion() β€” ΠΆΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ измСрСния (Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄)
  • 🌑️ sensors.getTempCByIndex(0) β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π² Π¦Π΅Π»ΡŒΡΠΈΡΡ…
  • πŸ” sensors.getDeviceCount() β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… сСнсоров

Π’Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ составляСт 12 Π±ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ 0.0625Β°C. ВрСмя ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ этом составляСт ΠΎΠΊΠΎΠ»ΠΎ 750 мс. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ опрос, Π½ΠΎ это снизит Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

void loop() {

sensors.requestTemperatures();

float tempC = sensors.getTempCByIndex(0);

if (tempC != -127.00) {

Serial.print("Temperature: ");

Serial.print(tempC);

Serial.println(" C");

} else {

Serial.println("Ошибка чтСния!");

}

delay(1000);

}

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -127.00 ΠΈΠ»ΠΈ 85.00 часто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ связи ΠΈΠ»ΠΈ слишком быстрый опрос сразу послС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΡƒ врСмя Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Диагностика ΠΈ устранСниС нСисправностСй

Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ сборкС ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. НаиболСС частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° β€” отсутствиС ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ рСзистора ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠΈΠ½Π°Π». Линия Π΄Π°Π½Π½Ρ‹Ρ… "ΠΏΠ»Π°Π²Π°Π΅Ρ‚" ΠΈ Π½Π΅ возвращаСтся Π² Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ Arduino Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ сСнсора.

Другая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π½Π°Π²ΠΎΠ΄ΠΊΠΈ Π½Π° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°Ρ…. Если Π΄Π°Ρ‚Ρ‡ΠΈΠΊ вынСсСн Π½Π° расстояниС Π±ΠΎΠ»Π΅Π΅ 1-2 ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², сигнал ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°ΠΆΠ°Ρ‚ΡŒΡΡ. Π’ этом случаС ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ сопротивлСния рСзистора Π΄ΠΎ 2-3 кОм ΠΈΠ»ΠΈ установка кондСнсатора нСбольшой Смкости ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π΅ΠΌΠ»Π΅ΠΉ ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ соСдинСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΎΠ·Π²ΠΎΠ½ΠΊΠΈ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ VDD ΠΈ GND. Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π²Ρ‹Π±Ρ€Π°Π½ Π»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ Π² мСню IDE.

Если Π² систСмС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡ… адрСса Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ (хотя ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» это ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚) ΠΈ Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊ питания Arduino способСн Π²Ρ‹Π΄Π°Ρ‚ΡŒ достаточный Ρ‚ΠΎΠΊ для всСх сСнсоров ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠŸΡ€ΠΈ большом количСствС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ внСшнСС ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅.

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

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 85.0Β°C β€” это стартовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² памяти DS18B20. Оно ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ конвСртация Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡˆΠ»Π° с ошибкой. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это происходит, Ссли Π²Ρ‹ считываСтС Π΄Π°Π½Π½Ρ‹Π΅ сразу послС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ запроса, Π½Π΅ Π²Ρ‹ΠΆΠ΄Π°Π² врСмя ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ (Π΄ΠΎ 750 мс).

МоТно Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π±Π΅Π· рСзистора?

ВСорСтичСски, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ питания ΠΈΠ»ΠΈ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… дистанциях связь ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ Π±Π΅Π· рСзистора, Π½ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ. РСзистор 4.7 кОм являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом для Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡˆΠΈΠ½Ρ‹ 1-Wire.

Какова максимальная Π΄Π»ΠΈΠ½Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° для DS18B20?

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ Π΄ΠΎ 100 ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΈ использовании качСствСнного экранированного кабСля ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π±ΠΎΡ€Π΅ рСзистора. Для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π² Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… условиях ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ Π½Π° дистанциях Π΄ΠΎ 10-20 ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².