Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ автономная систСма сбора Π΄Π°Π½Π½Ρ‹Ρ…

На прСдприятии Π±Ρ‹Π»ΠΈ Π·Π°ΠΊΡƒΠΏΠ»Π΅Π½Ρ‹ посты ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° НЭКБВ-М отСчСствСнного производства «Нэкст ВСхнолодТис». Для обСспСчСния Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ насосных Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΠ²,
ΠΏΠΎΠΆΠ°Ρ€Π½ΠΎ- ΠΎΡ…Ρ€Π°Π½Π½ΠΎΠΉ сигнализации, наличия напряТСния Π½Π° пускатСлях, Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ, Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ уровня Π²ΠΎΠ΄Ρ‹. Π‘Π΅Ρ€Π΄Ρ†Π΅ΠΌ НЭКБВ-М слуТит ATMEGA 1280 ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ ΠΎΠ±Π½Π°Π΄Ρ‘ΠΆΠΈΠ» Π² ΠΏΠ»Π°Π½Π΅ возмоТности создания своСго ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π° ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹.

Π‘Ρ‹Π»Π° поставлСна Π·Π°Π΄Π°Ρ‡Π° Π² минимально ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ сроки ΠΈ ΠΏΡ€ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚Π°Ρ… ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ систСму локальной диспСтчСризации ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹. Основа- ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, создаСтся силами самого пСрсонала.

Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ систСма Π΄ΠΎΠ»ΠΆΠ½Π° Π±Π΅Π· зависимости ΠΎΡ‚ сотовых сСтСй, сСрвСров, ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы использования радиочастотных рСсурсов, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ систСмы контроля ΠΈ управлСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈΠ»ΠΈ максимум пСриодичСскоС использованиС Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ², Π±Π΅Π· доступа Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (6-9 мСс.). ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сСти ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π΄ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ структуру. Π”Π°Π½Π½Ρ‹Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΈ Π΄Π°Π»Π΅Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ связи ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π²Π΅Ρ€Π΄ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ.

БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ:

  • ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ насосных установок
  • Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΡƒ
  • Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ послСдствий Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ²
  • ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ± Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…
  • подсчСт Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • подсчСт ΠΎΠ±ΡŠΡ‘ΠΌΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Ρ‘Π½Π½ΠΎΠΉ элСктроэнСргии
  • ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ оборудования
  • ΠΎΡ…Ρ€Π°Π½Π½ΠΎ-ΠΏΠΎΠΆΠ°Ρ€Π½ΡƒΡŽ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ
  • пСриодичСский дистанционный ΡΡŠΡ‘ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ
  • нСизвСстныС трСбования Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ

Условия Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • тСрритория ΠΎΡ…Π²Π°Ρ‚Π° 1 ΠΊΠ².ΠΊΠΌ.
  • прямая Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ
  • Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° ΠΎΡ‚ +50 Π΄ΠΎ -50 Π‘
  • Π²Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎ 100%
  • биологичСски Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ отлоТСния (плСсСнь, ΡΡƒΠ»ΡŒΡ„Π°Ρ‚Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π±Π°ΠΊΡ‚Π΅Ρ€ΠΈΠΈ)
  • вибрация, Π½Π΅ Π±ΠΎΠ»Π΅Π΅, машин 1- 2 классов ΠΏΠΎ Π“ΠžΠ‘Π’ ИБО 10816-1-97
  • элСктромагнитная обстановка- коммутация элСктродвигатСлСй ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ КВ 6053, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ пуска RVS-DN, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ ΠŸΠ˜Π”- рСгулирования SIEMENS MICROMASTER, излучСния Π² ISM ΠΈ GSM Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ согласно трСбованиям ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ устройствам, ручная дуговая сварка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅
  • Π·Π°Π²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠ΅ напряТСниС сСти, ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ прСкращСния элСктроснабТСния, Π³Ρ€ΠΎΠ·ΠΎΠ²Ρ‹Π΅ пСрСнапряТСния, пСрСкос Ρ„Π°Π· ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Ρ‹Π²Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Π’Π› Π² Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСтях 6- 10 ΠΊΠ’.

НС смотря Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ ТёсткиС трСбования рСализация Π²ΠΏΠΎΠ»Π½Π΅ нСслоТная ΠΏΡ€ΠΈ поэтапном Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π‘ ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ всСго, Π² качСствС Β«ΠΌΠΎΠ·Π³Π°Β» Π·Π°Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ стала ΠΏΠ»Π°Ρ‚Π° «Ардуино Π½Π°Π½ΠΎ 3.0Β». ΠŸΠ»Π°Ρ‚ΠΊΠ° ΠΎΡ‚ Β«RobotdynΒ» ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ATMEGA 328, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ стабилизатор напряТСния 3,3Π’ Π½Π°
Ρ‚ΠΎΠΊ 800 мА ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ Π½Π° CH340G UART- USB.

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π±Ρ‹Π»ΠΈ созданы счётчики Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΊ самыС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅. Π Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ²ΡˆΠΈΠ΅ΡΡ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Π΅ счСтчики собранныС Π½Π° PIC-Π°Ρ… с бСстрансформаторной схСмой питания Π²Ρ‹ΡˆΠ»ΠΈ ΠΈΠ· строя ΠΎΡ‚ бросков напряТСния Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π³ΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠžΡΡ‚Π°Π»ΠΈΡΡŒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² питания Π½Π° напряТСниС 5Π’. Для ускорСния ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ° ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сигнал ΠΎ состоянии Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΠ² бСрётся с Π·Π°ΠΆΠΈΠΌΠΎΠ² ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΠΎΠ², Ρ‚.Π΅. рСгистрация присутствия 1-ΠΉ Ρ„Π°Π·Ρ‹ напряТСния ΠΏΡ€ΠΈ Ρ‚Ρ€Ρ‘Ρ…Ρ„Π°Π·Π½ΠΎΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ 380Π’. Для согласования с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ примСняСтся ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ Ρ€Π΅Π»Π΅ с ΠΎΠ±ΠΌΠΎΡ‚ΠΊΠΎΠΉ Π½Π° 220Π’ ΠΈΠ»ΠΈ ΠΎΠΏΡ‚ΠΎΠΏΠ°Ρ€Π° составлСнная ΠΈΠ· свСтодиода ΠΈ фоторСзистора GL5516 ΠΈΠ»ΠΈ ΠΎΠΏΡ‚ΠΎΠΏΠ°Ρ€Π° Π Π‘817. Π‘Ρ‹Π»ΠΈ испытаны Π² Ρ€Π°Π±ΠΎΡ‚Π΅ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹. Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ питаСтся выпрямлСнным напряТСниСм с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΡ… кондСнсаторов Π‘Π’Π’22 рассчитаных Π½Π° напряТСниС 630Π’ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для сохранности ΠΏΡ€ΠΈ случайной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ†Π΅ΠΏΠ΅ΠΉ ΠΌΠ΅Π³Π°ΠΎΠΌΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ.
Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π–Πš экрана ST7735S, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠΎ Ρ€Π°Π΄ΠΈΠΎΠΊΠ°Π½Π°Π»Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля E01-ML01DP05 Π½Π° частотС 2,4 ΠœΠ“Ρ†. Π”Π°Π½Π½ΠΎΠ΅ устройство содСрТит Ρ‡ΠΈΠΏ nRF24L01+ ΠΈ ΡƒΡΠΈΠ»ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈΡ‘ΠΌΠ°- ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ RFX2401C,
выходная ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎ 100 ΠΌΠ’Ρ‚. АнтСнны ΡΠΏΠΈΡ€Π°Π»ΡŒΠ½Ρ‹Π΅, рассчитанныС Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² ΠΎΠ½Π»Π°ΠΉΠ½- ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ сайта. Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Π°Π½Ρ‚Π΅Π½Π½ обусловлСн ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΡ‘ΠΌΠ° ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Ρ… Π²ΠΎΠ»Π½ ΠΎΡ‚ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΡ… мСталлоконструкций. Π”Π΅Ρ‚Π°Π»ΠΈ Π°Π½Ρ‚Π΅Π½Π½ распСчатаны Π½Π° 3Π” ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π΅. Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС счСтчиков сохраняСтся Π² EEPROM самого ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ Π² случаС Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания восстанавливаСтся. Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ для счёта обСспСчиваСт RTC микросхСма DS3231 Π² Π²ΠΈΠ΄Π΅ модуля с Π±Π°Ρ‚Π°Ρ€Π΅Π΅ΠΉ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ питания. Π’ Π‘ΠŸ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ 3 модуля, собствСнно ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ источник 220/5Π’ HLK-PM01 600mA, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ· 1-5Π’ Π² 5Π’ HW-553 ΠΈ 03962A β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ аккумулятора ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ схСму Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠšΠ—, пСрСразряда ΠΈ пСрСзаряда. ВсС ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΊΡƒΠΏΠ°Π»ΠΈΡΡŒ Π½Π° сайтС Aliexpress.

ΠœΠ°ΠΊΠ΅Ρ‚Π½Π°Ρ ΠΏΠ»Π°Ρ‚Π°Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ автономная систСма сбора Π΄Π°Π½Π½Ρ‹Ρ…
Π‘Ρ‡Ρ‘Ρ‚Ρ‡ΠΈΠΊ 4-Ρ… ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ. По Π²Ρ…ΠΎΠ΄Π°ΠΌ стоят LC Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠΎΠΌΠ΅Ρ… ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ связи ΠΈΠ· Π²ΠΈΡ‚ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹. Π”Π°Π½Π½Ρ‹Π΅ ΠΎ состоянии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контроля постоянно ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ 1 Ρ€Π°Π· Π² сСк., ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π½Π° Π–Πš. ОбновлСниС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΈ запись Π² ΡΠ½Π΅Ρ€Π³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ происходит ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 36 сСк. 36 сСк.- это 1/100 часа, ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅. ΠšΠ°ΠΆΠ΄Ρ‹Π΅ 12 сСк. происходит ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ количСствС сСкунд Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π°Π³Ρ€Π΅Π³Π°Ρ‚Ρƒ контроля. ΠŸΠ°ΠΌΡΡ‚ΡŒ EEPROM ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Ρ†ΠΈΠΊΠ»ΠΎΠ² записи- стирания, ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ производитСля, 100000 Ρ€Π°Π·. Π₯ΡƒΠ΄ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚- это ΠΊΠΎΠ³Π΄Π° постоянно ΠΈΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ хотя- Π±Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ ячСйки. ОбъСм 1-Π³ΠΎ счСтчика 4 Π±Π°ΠΉΡ‚Π°, это число Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° long, 4 счСтчика, ΠΈΡ‚ΠΎΠ³ΠΎ 16 Π±Π°ΠΉΡ‚ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½Π° запись. Π”Π»ΠΈΠ½Π° памяти микросхСмы 1024 Π±Π°ΠΉΡ‚, послС 64-Ρ… записСй 4-Ρ… счСтчиков запись начнётся сначала. Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ EEPROM ΠΌΠ΅Ρ‚ΠΎΠ΄ EEPROM.put Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ запись, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки ΠΈ записываСмой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ совпадаСт, Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠΈ ячССк Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π’ ΠΈΡ‚ΠΎΠ³Π΅ врСмя Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ памяти Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 7 Π»Π΅Ρ‚. ВрСмя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ, Π½ΠΎ Π½Π΅Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ»ΡŒΠ½Π°Ρ ΡΡ…Π΅ΠΌΠ°Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ автономная систСма сбора Π΄Π°Π½Π½Ρ‹Ρ…
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² Arduino IDE//12Β 328 Π±Π°ΠΉΡ‚ (38%)

#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
#include <EEPROM.h>
#include <Wire.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ radio для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ RF24,
// ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² nRF24L01+ (CE, CSN)
#include <DS3231.h>
DS3231 rtc(SDA, SCL);
Time t;

//#define TFT_CS 10
#define TFT_CS 8
#define TFT_RST -1 // you can also connect this to the Arduino reset
// in which case, set this #define pin to -1!
//#define TFT_DC 9 // DC=RS=A0- Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄Π° Π²Ρ‹Π±ΠΎΡ€Π° рСгистра ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
#define TFT_DC 3

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

// Option 2: use any pins but a little slower!
#define TFT_SCLK 13 // set these to be whatever pins you like!
#define TFT_MOSI 11 // set these to be whatever pins you like!
//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
#include <avr/wdt.h>

byte shift = 52;
byte pinState;
unsigned long pump[4];// массив с 4 значСниями счётчиков сСкунд
float m = 3600.0;
unsigned int address = 0;
int rc;// пСрСмСнная для счСтчиков
unsigned long sumprim = 0;
unsigned long sumsec = 0;
byte i = 0;
byte k = 34;
unsigned int z = 0;
byte b = B00000001;
byte pumrcounter [4]; // массив для хранСния состояний ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², 1- ΠΎΡ‚ΠΊΠ»., 0- Π²ΠΊΠ».
int start = 0; //

void setup() {

rtc.begin();
radio.begin(); // Π˜Π½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ nRF24L01+
radio.setChannel(120); // ΠΊΠ°Π½Π°Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΡ‚ 0 Π΄ΠΎ 127).
radio.setDataRate (RF24_250KBPS); // ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (RF24_250KBPS, RF24_1MBPS, RF24_2MBPS).
radio.setPALevel (RF24_PA_MAX); // ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° (RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm,
// RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm)
radio.openWritingPipe (0xAABBCCDD11LL); // ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Ρ€ΡƒΠ±Ρƒ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

// Для установки Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ- Ρ€Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ строки
//rtc.setDOW(1); // Π”Π΅Π½ΡŒ Π½Π΅Π΄Π΅Π»ΠΈ
//rtc.setTime(21, 20, 0); // ВрСмя, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ 24 часа.
//rtc.setDate(29, 10, 2018); // Π”Π°Ρ‚Π°, 29 октября 2018Π³.

tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab
// Use this initializer (uncomment) if you’re using a 1.44" TFT
//tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, RED rcB tab
tft.setTextWrap(false); // Allow text to run off right edge
tft.setRotation( 2 ); // for BLACK PCB and RED tft.setRotation(0) or not.
tft.fillScreen(ST7735_BLACK); // очистка экрана

DDRD = DDRD | B00000000;
PORTD = PORTD | B11110000;// программная подтяТка Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ-
// ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Β«Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚Β», Π²ΠΎ всС 4 ΡΡ‚Π°Ρ€ΡˆΠΈΡ… ΠΏΠΎΡ€Ρ‚Π° D записана Β«1Β», Π½Π΅ ΠΈΠ΄Π΅Ρ‚ счСт.

for ( rc = 0; rc < 4; rc++)
{
tft.setCursor ( 3, rc * 10 + shift ); // Π²Ρ‹Π²ΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контроля
tft.print ( rc + 1 );
}

tft.setCursor (12, 0); // Π²Ρ‹Π²ΠΎΠ΄ 3-Ρ… строчСк тСкста
tft.println (Β«DEVELOPERS & BUILDΒ» ); // для восхвалСния сСбя Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ…
tft.setCursor (24, 10); // ΠΈΠ»ΠΈ Π·Π»ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π°
tft.print (Β«DEVELOPER M.M.Β»);
tft.setCursor (28, 20);
tft.print (Β«BUILD-ER D.D.Β»);

//восстановлСниС Π΄Π°Π½Π½Ρ‹Ρ…/////////////////////////////////////////////////////////

for ( z = 0; z < 1023; z += 16 ) { // ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ всС ячСйки Π΅Π΅ΠΏΡ€ΠΎΠΌΠ°
//ΠΈ записываСт Π² массив ΠΈΠ· 4-Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… pump, ΠΏΠΎ 4 Π±Π°ΠΉΡ‚Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ счСтчик, Ρ‚.ΠΊ.
// пСрСмСнная бСззнаковая Π»ΠΎΠ½Π³. Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠΎΠ² 4, ΠΎΠ΄Π½Π° запись всСх 4-Ρ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 16 Π±Π°ΠΉΡ‚.
EEPROM.get ( z, pump [0]); // Ρ‚Π°ΠΊ, Π±Π΅Π· Ρ†ΠΈΠΊΠ»Π° for, мСньшС ΠΎΠ±ΡŠΡ‘ΠΌ
EEPROM.get ( z + 4, pump [1]);
EEPROM.get ( z + 8, pump [2]);
EEPROM.get ( z + 12, pump [3]);

// присвоСниС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ значСния суммы 4-x счётчиков
sumprim = (pump [0] + pump [1] + pump [2] + pump [3]);

// сравниваСтся Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ суммы 4-Ρ… счСтчиков Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ sumprim с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
// sumsec ΠΈ Ссли прСдыдущая сумма мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° Π½ΠΎΠ²ΠΎΠΉ суммС, присваиваСтся Π½ΠΎΠ²ΠΎΠ΅ большСС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎΠ΅
// sumsec Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

if ( sumsec <= sumprim ) {
sumsec = sumprim; //

//ΠΈ присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ address Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ z, z- это адрСс Π½Π°Ρ‡Π°Π»Π° Π±Π»ΠΎΠΊΠ° Π² 16 Π±Π°ΠΉΡ‚ ΠΈΠ· 4-Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
// счСтчиков, записанных Π² ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ-ΠΆΠ΅ врСмя ( Ρ‚.ΠΊ. ΠΏΡ€ΠΈ опросС ΠΏΠΎΡ€Ρ‚Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ всС Π΅Π³ΠΎ 8 Π±ΠΈΡ‚,
// Π² Ρ‚ΠΎΠΌ числС наши Π½ΡƒΠΆΠ½Ρ‹Π΅ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ 4 Π±ΠΈΡ‚Π° ΠΏΠΎΡ€Ρ‚Π° D).
address = z;
}
}

// Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ памяти Π΅Π΅ΠΏΡ€ΠΎΠΌ ΠΏΠΎ адрСсу Π½Π°Ρ‡Π°Π»Π° Π±Π»ΠΎΠΊΠ° Π² 16 Π±Π°ΠΉΡ‚ ΠΈΠ· 4-Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ счСтчиков записанных
// послСдними, Ρ‚.Π΅. значСния ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ зависания. Π—Π°ΠΏΠΈΡΡŒ послСдних
// Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ счСтчиков Π² массив ΠΈΠ· 4-Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… pump.

EEPROM.get ( address, pump [0]);
EEPROM.get ( address + 4, pump [1]);
EEPROM.get ( address + 8, pump [2]);
EEPROM.get ( address + 12, pump [3]);

address += 16; // увСличСния адрСса для записи ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π΅ затирая Π΄Π°Π½Π½Ρ‹Π΅ послСднСй записи

// ΠΊΠΎΠ½Π΅Ρ† восстановлСния Π΄Π°Π½Π½Ρ‹Ρ…////////////////////////////////////////////////////////////////

attachInterrupt(0, count, RISING); // pin D2, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прСрывания, ΠΊΠ°ΠΆΠ΄ΡƒΡŽ сСкунду приходят
// ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ ΠΎΡ‚ RTC DS3231 с Π²Ρ‹Ρ…ΠΎΠ΄Π° SQW

wdt_enable (WDTO_8S); // запуск стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π² случаС зависания, врСмя,
// Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ сброса Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° wdt_reset( ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅- 8 сСк.
// для тСстов Π½Π΅ рСкомСндуСтся ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΅ 8 сСк.Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС сброс Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° происходит Π² ΠΏΡ€Π΅-
// Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ, Π° ΠΎΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ сСкунду.

}

void loop() {
// пустой Ρ†ΠΈΠΊΠ», здСсь Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡ„Π°Π·Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ эл.двигатСля
}

void count() {

tft.setTextColor(ST7735_WHITE); // установка Ρ†Π²Π΅Ρ‚Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°
t = rtc.getTime(); // считываниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
tft.setCursor ( 5, 120 ); // установка ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора
tft.fillRect ( 5, 120, 50, 7, ST7735_BLACK); // очистка области Π²Ρ‹Π²ΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
tft.print(rtc.getTimeStr()); // Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ часов

wdt_reset(); // сброс стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ†ΠΈΠΊΠ», Ρ‚.Π΅.сСкунду

for (rc = 0; rc < 4; rc ++) // Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ соотвСтствия состояния Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ…
// Π±ΠΈΡ‚ΠΎΠ² ΠΏΠΎΡ€Ρ‚Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ считанному ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π±ΠΈΡ‚ΠΎΠ² ΠΏΠΎΡ€Ρ‚Π° D
{
pinState = (PIND >> 4) & ( b << rc );

if (pumrcounter [rc] != pinState) { // ΠΈ Ссли Π½Π΅ соотвСтствуСт, Ρ‚ΠΎ
pumrcounter [rc] = pinState; // присвоСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ состояния Π±ΠΈΡ‚Π° ΠΏΠΎΡ€Ρ‚Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния 1/0
}
// индикация состояния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контроля Ρ†Π²Π΅Ρ‚ΠΎΠΌ
// BLUE- это нСбольшой глюк ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ экрана ( ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ? ), ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Π½Ρ‹ RGB ΠΈ BGR.
if (pinState == ( b << rc )) {
tft.fillRect(15, ((rc * 10 + shift)), 7, 7, ST7735_BLUE); // для счСта ΠΏΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ GREEN Π½Π° BLUE
} else {
tft.fillRect(15, ((rc * 10 + shift)), 7, 7, ST7735_GREEN); // для счСта ΠΏΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ BLUE Π½Π° GREEN
pump [rc] += 1; // добавляСм Π² счСтчик Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1 сСкунду
}
}

k ++;
if ( k == 36 ) {
k = 0;

tft.fillRect ( 30, shift, 97, 40, ST7735_BLACK ); // очистка области Π²Ρ‹Π²ΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
tft.fillRect ( 60, 120, 73, 7, ST7735_BLACK); // ΠΈ Π΄Π°Ρ‚Ρ‹

tft.setCursor ( 60, 120 ); // установка ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора
tft.print(rtc.getDateStr()); // Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Ρ‚Ρ‹ Π½Π° экран LCD

for (rc = 0; rc < 4; rc ++) //Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ†Π΅Π»Ρ‹Ρ…, дСсятых ΠΈ
{
tft.setCursor ( 30, rc * 10 + shift );// сотых долях часа со сдвигом Π½Π° экранС Π²Π½ΠΈΠ· Π½Π° 10 пиксСлСй
tft.println(pump [rc] / m);
}

// запись «сырых» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π² сСкундах)Π² EEPROM //////////////////////////////

for (rc = 0; rc < 4; rc ++)
{
EEPROM.put(address, pump [rc]);
address += sizeof(float); // ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ адрСса записи
}
}

// отправляСм Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π°Π΄ΠΈΠΎΠΊΠ°Π½Π°Π»Ρƒ ΠΈΠ· data указывая сколько Π±Π°ΠΉΡ‚ Π½Π°Π΄ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.
if ((k == 6 ) || (k == 18 ) || (k == 30 )) {

unsigned long data;

radio.write(&start, sizeof(start));

for ( i = 0; i < 4; i ++) {
data = pump [i ];
radio.write( &data, sizeof( data));
}
}
}

НСбольшиС замСчания Π² ΠΊΠΎΠ½Ρ†Π΅. Π‘Ρ‡Ρ‘Ρ‚ ΠΈΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ логичСском ΡƒΡ€ΠΎΠ²Π½Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ….

БопротивлСния подтяТки R2-R5 36 кОм для Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° с фоторСзисторами GL5516. Π’ случаС фототранзисторной ΠΎΠΏΡ‚ΠΎΠΏΠ°Ρ€Ρ‹ ΠΈ Ρ€Π΅Π»Π΅, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ 4,7- 5,1 кОм. Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Arduino Nano v3.0 Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° Arduino Uno с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° TL866A для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π€ΡŒΡŽΠ·Ρ‹ ΠΏΠΎΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈ напряТСнии Π²Ρ‹ΡˆΠ΅ 4,3 Π’. Π’Π½Π΅ΡˆΠ½ΡΡ Ρ†Π΅ΠΏΡŒ сброса R6 C3 Π½Π΅ использовалась. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ частота ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π½Π΅ соотвСтствуСт Π½Π΅Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ 2,4 ΠœΠ“Ρ† ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ частотами 2400.0β€”2483.5 ΠœΠ“Ρ†.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° E01-ML01DP05 составляСт 2400- 2525 ΠœΠ“Ρ†. Π¨ΠΈΡ€ΠΈΠ½Π° полосы ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°- 1 ΠœΠ“Ρ†, ΠΏΡ€ΠΈ настройкС скорости ΠΊΠ°ΠΊ Β«RF24_2MBPSΒ» Π±ΡƒΠ΄Π΅Ρ‚ занят ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ radio.setChannel(120) ΠΊΠ°Π½Π°Π» ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ, Ρ‚.Π΅. полоса Π±ΡƒΠ΄Π΅Ρ‚ 2 ΠœΠ“Ρ†.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ