ΠΠ° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ Π±ΡΠ»ΠΈ Π·Π°ΠΊΡΠΏΠ»Π΅Π½Ρ ΠΏΠΎΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΠΠΠ‘Π’-Π ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° Β«ΠΡΠΊΡΡ Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ΄ΠΆΠΈΡΒ». ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°ΡΠΎΡΠ½ΡΡ
Π°Π³ΡΠ΅Π³Π°ΡΠΎΠ²,
ΠΏΠΎΠΆΠ°ΡΠ½ΠΎ- ΠΎΡ
ΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½Π°Π»ΠΈΡΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΡΠΊΠ°ΡΠ΅Π»ΡΡ
, ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π² ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ, Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π²ΠΎΠ΄Ρ. Π‘Π΅ΡΠ΄ΡΠ΅ΠΌ ΠΠΠΠ‘Π’-Π ΡΠ»ΡΠΆΠΈΡ 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 ΠΌΠΡ. ΠΠ½ΡΠ΅Π½Π½Ρ ΡΠΏΠΈΡΠ°Π»ΡΠ½ΡΠ΅, ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Π½ΡΠΆΠ½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² ΠΎΠ½Π»Π°ΠΉΠ½- ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅
ΠΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ°
Π‘ΡΡΡΡΠΈΠΊ 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