ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ расхода Π²ΠΎΠ΄Ρ‹ Π² Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… систСмах становится ΠΏΡ€ΠΎΡ‰Π΅ с использованиСм Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² расхода Π²ΠΎΠ΄Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Ρ… ΠΊ Arduino. Π­Ρ‚ΠΈ устройства ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‡Ρ‘Ρ‚ потрСблСния, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² систСмы ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°. Однако Π²Ρ‹Π±ΠΎΡ€ подходящСй ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠ° часто Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ вопросы Ρƒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ популярных Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, YF-S201 ΠΈΠ»ΠΈ FS300A), ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ схСмы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Arduino Uno/Nano, прСдоставим Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ скСтчи для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов ΠΈ объясним, ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ Π² Π»ΠΈΡ‚Ρ€Ρ‹. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ ошибкам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ Π½Π΅Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ показаниям, ΠΈ способам ΠΈΡ… устранСния.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ расхода Π²ΠΎΠ΄Ρ‹: ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² расхода Π²ΠΎΠ΄Ρ‹ для Arduino основаны Π½Π° Ρ‚ΡƒΡ€Π±ΠΈΠ½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅: ΠΏΠΎΡ‚ΠΎΠΊ Тидкости Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ лопасти Π²Π½ΡƒΡ‚Ρ€ΠΈ корпуса, Π° встроСнный Ρ…ΠΎΠ»Π»-сСнсор фиксируСт количСство ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ Π²ΠΎΠ΄Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1 ΠΈΠΌΠΏΡƒΠ»ΡŒΡ = 2.25 ΠΌΠ» для YF-S201). Π‘ΠΈΠ³Π½Π°Π» пСрСдаётся Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π² Π²ΠΈΠ΄Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² Π»ΠΈΡ‚Ρ€Ρ‹.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ характСристики, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅:

  • πŸ”Ή Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ: ΠΎΡ‚ 1 Π΄ΠΎ 30 Π»/ΠΌΠΈΠ½ (уточняйтС для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ).
  • πŸ”Ή Π Π°Π±ΠΎΡ‡Π΅Π΅ напряТСниС: ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 5–24Π’ (Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ совмСстимо с Arduino Π½Π° 5Π’).
  • πŸ”Ή ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» корпуса: Π»Π°Ρ‚ΡƒΠ½ΡŒ ΠΈΠ»ΠΈ пластик (для горячСй Π²ΠΎΠ΄Ρ‹ Π½ΡƒΠΆΠ΅Π½ тСрмостойкий Π²Π°Ρ€ΠΈΠ°Π½Ρ‚).
  • πŸ”Ή Π’ΠΈΠΏ Π²Ρ‹Ρ…ΠΎΠ΄Π°: Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ (ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ) ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ (Ρ€Π΅ΠΆΠ΅).

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ зависит ΠΎΡ‚ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°. НапримСр, ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ Π΄Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ‚ΡƒΡ€Π±ΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡΠΌ. Для ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, коммСрчСского ΡƒΡ‡Ρ‘Ρ‚Π°) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ с сСртификациСй, Π° для Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… систСм ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡƒΡ‚ ΠΈ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

πŸ“Š Какой Π΄Π°Ρ‚Ρ‡ΠΈΠΊ расхода Π²ΠΎΠ΄Ρ‹ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅?
  • YF-S201
  • FS300A
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΡƒΡ€Π±ΠΈΠ½Π½Ρ‹ΠΉ
  • Π£Π»ΡŒΡ‚Ρ€Π°Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ
  • Π•Ρ‰Ρ‘ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π»

Π’Ρ‹Π±ΠΎΡ€ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°: сравнСниС популярных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ

На Ρ€Ρ‹Π½ΠΊΠ΅ прСдставлСны дСсятки ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Π½ΠΎ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Arduino Ρ‡Π°Ρ‰Π΅ всСго Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: YF-S201, FS300A ΠΈ YF-B5. Π˜Ρ… ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹, точности ΠΈ простоты ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. НиТС β€” ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

МодСль Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π»/ΠΌΠΈΠ½ НапряТСниС, Π’ Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, % ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ
YF-S201 1–30 5–18 Β±3 ΠŸΠ»Π°ΡΡ‚ΠΈΠΊΠΎΠ²Ρ‹ΠΉ корпус, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΎΠ΄Ρ‹
FS300A 1–60 5–24 Β±5 Π›Π°Ρ‚ΡƒΠ½Π½Ρ‹ΠΉ корпус, Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³ΠΎΡ€ΡΡ‡ΡƒΡŽ Π²ΠΎΠ΄Ρƒ (Π΄ΠΎ 80Β°C)
YF-B5 0.3–6 5–12 Β±2 Высокая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ расходС, Ρ…Ρ€ΡƒΠΏΠΊΠΈΠΉ пластик

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‡Ρ‘Ρ‚Π° Π²ΠΎΠ΄Ρ‹ Π² Π°ΠΊΠ²Π°Ρ€ΠΈΡƒΠΌΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΠ²Π° растСний) достаточно YF-S201. Если Π½ΡƒΠΆΠ΅Π½ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ для горячСй Π²ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ систСм с высоким Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, Π»ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ FS300A. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π·ΡŒΠ±ΠΎΠ²ΠΎΠ΅ соСдинСниС: Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ мСтричСская Ρ€Π΅Π·ΡŒΠ±Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, G1/2), Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ стандартным Ρ‚Ρ€ΡƒΠ±Π°ΠΌ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π”Π°Ρ‚Ρ‡ΠΈΠΊΠΈ с пластиковым корпусом (YF-S201, YF-B5) Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для горячСй Π²ΠΎΠ΄Ρ‹ β€” дСформация корпуса ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ ΠΈ ΠΏΠΎΠ»ΠΎΠΌΠΊΠ΅ Ρ‚ΡƒΡ€Π±ΠΈΠ½Ρ‹. ВсСгда провСряйтС ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ Π² datasheet!

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

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расхода Π²ΠΎΠ΄Ρ‹ ΠΊ Arduino выполняСтся ΠΏΠΎ стандартной схСмС с использованиСм прСрывания для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ счёта ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ². Π’Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ:

  • πŸ”§ Arduino Uno/Nano (ΠΈΠ»ΠΈ аналогичная ΠΏΠ»Π°Ρ‚Π°).
  • πŸ”§ Π”Π°Ρ‚Ρ‡ΠΈΠΊ расхода Π²ΠΎΠ΄Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, YF-S201).
  • πŸ”§ Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ("ΠΏΠ°ΠΏΠ°-ΠΌΠ°ΠΌΠ°").
  • πŸ”§ РСзистор 10 кОм (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π²Ρ…ΠΎΠ΄Π°).

Бтандартная распиновка Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°:

  • πŸ”΄ ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ β€” +5V (ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅).
  • ⚫ Π§Ρ‘Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ β€” GND (зСмля).
  • 🟑 Π–Ρ‘Π»Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ β€” ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ (ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΏΠΈΠ½Ρƒ Arduino, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, D2).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ схСмы для Arduino Uno:


Π”Π°Ρ‚Ρ‡ΠΈΠΊ β†’ Arduino

+5V β†’ 5V

GND β†’ GND

Signal β†’ D2 (с рСзистором 10 кОм Π½Π° +5V для pull-up)

ИспользованиС прСрывания (interrupt) Π½Π° ΠΏΠΈΠ½Π΅ D2 ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ° Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ высоком расходС. Если Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²ΠΎΠ΄Ρ‹ Π² Ρ‚Ρ€ΡƒΠ±Π΅ β€” Ρ‚ΡƒΡ€Π±ΠΈΠ½Π° Π½Π΅ вращаСтся "Π²ΡΡƒΡ…ΡƒΡŽ".

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Arduino: ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сигналов Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°

Для счёта ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² ΠΈ прСобразования ΠΈΡ… Π² Π»ΠΈΡ‚Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ PulseSensorPlayground ΠΈΠ»ΠΈ пишСм ΠΊΠΎΠ΄ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ attachInterrupt(). НиТС β€” Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ скСтч для YF-S201, Π³Π΄Π΅ 1 ΠΈΠΌΠΏΡƒΠ»ΡŒΡ = 2.25 ΠΌΠ»:


volatile int pulseCount = 0;

float flowRate = 0.0;

unsigned long oldTime = 0;

float volume = 0.0;

void setup() {

Serial.begin(9600);

pinMode(2, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(2), pulseCounter, FALLING);

}

void loop() {

if (millis() - oldTime > 1000) {

detachInterrupt(digitalPinToInterrupt(2));

flowRate = (pulseCount * 2.25) / 1000; // ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Π² Π»/ΠΌΠΈΠ½

volume += flowRate;

Serial.print("Расход: ");

Serial.print(flowRate);

Serial.print(" Π»/ΠΌΠΈΠ½, ΠžΠ±ΡŠΡ‘ΠΌ: ");

Serial.print(volume);

Serial.println(" Π»");

pulseCount = 0;

oldTime = millis();

attachInterrupt(digitalPinToInterrupt(2), pulseCounter, FALLING);

}

}

void pulseCounter() {

pulseCount++;

}

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°:

  • πŸ”’ volatile int pulseCount β€” счётчик ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ volatile для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ.
  • ⏱️ Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» 1000 мс β€” расход рассчитываСтся Ρ€Π°Π· Π² сСкунду для сглаТивания Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ“Š flowRate * 2.25 / 1000 β€” коэффициСнт ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ (ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚Π΅ Π² datasheet вашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ!).

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ точности ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΡˆΡƒΠΌΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ ΠΊΠΎΡ€ΠΎΡ‡Π΅ 50 мкс) ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ FreqCount для измСрСния частоты сигнала. Если показания "ΠΏΡ€Ρ‹Π³Π°ΡŽΡ‚", ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈ экран ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° сигнала.

πŸ’‘

Для Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡƒΡ‡Ρ‘Ρ‚Π° Π²ΠΎΠ΄Ρ‹ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΊΠΎΠ΄ запись Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° SD-ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠΎ Wi-Fi (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ESP8266). Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ потрСблСния Π² Excel ΠΈΠ»ΠΈ Google Sheets.

ΠšΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠ° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°: ΠΊΠ°ΠΊ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ

Π”Π°ΠΆΠ΅ заводскиС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ коэффициСнт ΠΈΠΌΠΏΡƒΠ»ΡŒΡ/ΠΎΠ±ΡŠΡ‘ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ заявлСнного Π½Π° 5–10%. Для этого:

  1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΊ Ρ‚Ρ€ΡƒΠ±Π΅ с извСстным расходом (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· ΠΊΡ€Π°Π½ с расходомСром).
  2. ЗапуститС тСст Π½Π° 1–2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹, зафиксировав количСство ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² (pulseCount) ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ Π²ΠΎΠ΄Ρ‹.
  3. РассчитайтС Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ коэффициСнт: коэффициСнт = Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ_ΠΎΠ±ΡŠΡ‘ΠΌ_Π²_ΠΌΠ» / pulseCount.
  4. ΠŸΠΎΠ΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄ вмСсто 2.25.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Ссли Π·Π° 60 сСкунд Π΄Π°Ρ‚Ρ‡ΠΈΠΊ посчитал 400 ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ², Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡˆΠ»ΠΎ 950 ΠΌΠ», Ρ‚ΠΎ коэффициСнт = 950 / 400 = 2.375 ΠΌΠ»/ΠΈΠΌΠΏΡƒΠ»ΡŒΡ. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ экзСмпляра Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°!

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ способы ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ:

  • πŸ”§ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ усрСднСниС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ Π·Π° 5–10 сСкунд.
  • πŸ”§ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π½Π° Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ участкС Ρ‚Ρ€ΡƒΠ±Ρ‹ (Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°ΠΆΠ°Ρ‚ΡŒ показания).
  • πŸ”§ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π³Π΅Ρ€ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ соСдинСний β€” подсос Π²ΠΎΠ·Π΄ΡƒΡ…Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π»ΠΎΠΆΠ½Ρ‹ΠΌ срабатываниям.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ использовался, Ρ‚ΡƒΡ€Π±ΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ "Π·Π°Π»ΠΈΠΏΠ°Ρ‚ΡŒ". ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΎΠΉ пропуститС Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ 10–20 Π»ΠΈΡ‚Ρ€ΠΎΠ² Π²ΠΎΠ΄Ρ‹ для "ΠΏΡ€ΠΎΠΌΡ‹Π²ΠΊΠΈ" ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… устранСниС

Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Рассмотрим распространённыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ВозмоТная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° РСшСниС
Π”Π°Ρ‚Ρ‡ΠΈΠΊ Π½Π΅ считаСт ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΏΠΎΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ, ΠΎΠ±Ρ€Ρ‹Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ напряТСниС Π½Π° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ΅ (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ 5Π’)
Показания "ΠΏΡ€Ρ‹Π³Π°ΡŽΡ‚" Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ…ΠΈ, ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ экранированный ΠΏΡ€ΠΎΠ²ΠΎΠ΄, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ кондСнсатор 0.1 ΠΌΠΊΠ€
Π—Π°Π½ΠΈΠΆΠ΅Π½Π½Ρ‹Π΅ значСния расхода ЗасорСниС Ρ‚ΡƒΡ€Π±ΠΈΠ½Ρ‹, Π½ΠΈΠ·ΠΊΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠŸΡ€ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ Π½Π°ΠΏΠΎΡ€ Π²ΠΎΠ΄Ρ‹
Arduino "зависаСт" ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ счётчика pulseCount Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ unsigned long вмСсто int

Если Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния ΠΏΡ€ΠΈ явном ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π²ΠΎΠ΄Ρ‹, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  1. ВращаСтся Π»ΠΈ Ρ‚ΡƒΡ€Π±ΠΈΠ½Π° (Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π° слух).
  2. ΠŸΠΎΡΡ‚ΡƒΠΏΠ°Π΅Ρ‚ Π»ΠΈ сигнал Π½Π° ΠΏΠΈΠ½ Arduino (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Serial.print() Π² Ρ†ΠΈΠΊΠ»Π΅ loop).
  3. НС ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Π½Ρ‹ Π»ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° +5V ΠΈ GND.
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ссли Π΄Π°Ρ‚Ρ‡ΠΈΠΊ считаСт Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону?

Если ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ сливС Π²ΠΎΠ΄Ρ‹), Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² схСму Π΄ΠΈΠΎΠ΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1N4007) Π½Π° ΡΠΈΠ³Π½Π°Π»ΡŒΠ½ΡƒΡŽ линию. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ счёт "Π»ΠΈΡˆΠ½ΠΈΡ…" ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ².

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ расхода Π²ΠΎΠ΄Ρ‹

Π”Π°Ρ‚Ρ‡ΠΈΠΊΠΈ расхода Π²ΠΎΠ΄Ρ‹ Π½Π° Arduino ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² самых Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… β€” ΠΎΡ‚ простых счётчиков Π΄ΠΎ слоТных систСм Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎΡ‚ нСсколько ΠΈΠ΄Π΅ΠΉ для вдохновСния:

  • 🌱 АвтоматичСский ΠΏΠΎΠ»ΠΈΠ² растСний: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ расхода Π²ΠΎΠ΄Ρ‹ Π² Π³ΠΈΠ΄Ρ€ΠΎΠΏΠΎΠ½Π½ΠΎΠΉ систСмС с остановкой насоса ΠΏΡ€ΠΈ достиТСнии Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΠ°.
  • 🏠 Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ: интСграция с Home Assistant для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° потрСблСния Π²ΠΎΠ΄Ρ‹ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
  • 🚿 ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ: ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° увСдомлСния Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΏΡ€ΠΈ аномально высоком расходС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ESP8266).
  • πŸ§ͺ Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ установки: Π΄ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ТидкостСй Π² химичСских экспСримСнтах.

Для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

  1. Π”Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Arduino.
  2. Arduino отправляСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠΎΡ€Ρ‚Ρƒ Π½Π° Raspberry Pi ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΎΠ±Π»Π°ΠΊΠΎ (Ρ‡Π΅Ρ€Π΅Π· Blynk).
  3. БистСма Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ расход ΠΈ отправляСт оповСщСния ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Π½ΠΎΡ€ΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Blynk:


#define BLYNK_PRINT Serial

#include <BlynkSimpleStream.h>

char auth[] = "Π’Π°Ρˆ_Blynk_Token";

BlynkTimer timer;

void sendSensor() {

float currentVolume = volume; // Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ volume ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ скСтча

Blynk.virtualWrite(V1, currentVolume);

}

void setup() {

Serial.begin(9600);

Blynk.begin(auth, Serial);

timer.setInterval(1000L, sendSensor);

}

void loop() {

Blynk.run();

timer.run();

}

πŸ’‘

Для Π΄ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Power Bank) ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° SD-ΠΊΠ°Ρ€Ρ‚Ρƒ. Π­Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ сбоС связи.

FAQ: ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° частыС вопросы

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ для горячСй Π²ΠΎΠ΄Ρ‹?

Волько ΠΌΠΎΠ΄Π΅Π»ΠΈ с мСталличСским корпусом (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, FS300A) ΠΈ тСрмостойкой Ρ‚ΡƒΡ€Π±ΠΈΠ½ΠΎΠΉ. ΠŸΠ»Π°ΡΡ‚ΠΈΠΊΠΎΠ²Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ (YF-S201) Π΄Π΅Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ Π²Ρ‹ΡˆΠ΅ 60Β°C. ВсСгда уточняйтС ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ Π² спСцификации!

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΊ Ρ‚Ρ€ΡƒΠ±Π΅ Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ 3/4 дюйма?

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π΅Π·ΡŒΠ±Ρƒ G1/2. Π’Π°ΠΌ потрСбуСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ G1/2 β†’ 3/4" (продаётся Π² сантСхничСских ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ…). Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ Π³Π΅Ρ€ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅Π½ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ЀУМ-Π»Π΅Π½Ρ‚Ρƒ ΠΈΠ»ΠΈ анаэробный Π³Π΅Ρ€ΠΌΠ΅Ρ‚ΠΈΠΊ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ расход, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ΄Π° Π½Π΅ Ρ‚Π΅Ρ‡Ρ‘Ρ‚?

Π­Ρ‚ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ элСктромагнитными ΠΏΠΎΠΌΠ΅Ρ…Π°ΠΌΠΈ ΠΈΠ»ΠΈ "Π΄Ρ€Π΅Π±Π΅Π·Π³ΠΎΠΌ" ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². РСшСния:

  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ debounce-Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ прСрывания (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ ΠΊΠΎΡ€ΠΎΡ‡Π΅ 100 мкс).
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ‚ΠΎΠΏΠ°Ρ€Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PC817).
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π·Π°Π·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ Arduino ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°.
Как ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ счётчик ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π²ΠΎΠ΄Ρ‹?

Π’ ΠΊΠΎΠ΄Π΅ достаточно ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ volume. НапримСр, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠΈΠ½ D3:


if (digitalRead(3) == LOW) {

volume = 0;

delay(500); // АнтидрСбСзг

}

Какая максимальная Π΄Π»ΠΈΠ½Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΎΡ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π΄ΠΎ Arduino?

Для Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сигнала рСкомСндуСтся Π΄Π»ΠΈΠ½Π° Π΄ΠΎ 10 ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠŸΡ€ΠΈ большСй Π΄Π»ΠΈΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

  • Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ кабСль (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, витая ΠΏΠ°Ρ€Π°).
  • Π£ΡΠΈΠ»ΠΈΡ‚Π΅Π»ΡŒ сигнала (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° транзисторС BC547).
  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ сигнала Π² RS-485 для ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… систСм.