ಸ್ಥಳೀಯ ಸ್ವಾಯತ್ತ ಮಾಹಿತಿ ಸಂಗ್ರಹ ವ್ಯವಸ್ಥೆ

ಕಂಪನಿಯು NEKST-M ಮಾನಿಟರಿಂಗ್ ಪೋಸ್ಟ್‌ಗಳನ್ನು ಖರೀದಿಸಿತು, ಇದನ್ನು ನೆಕ್ಸ್ಟ್ ಟೆಕ್ನಾಲಜೀಸ್ ದೇಶೀಯವಾಗಿ ಉತ್ಪಾದಿಸಿತು. ಪಂಪಿಂಗ್ ಘಟಕಗಳ ಕಾರ್ಯಾಚರಣೆಯ ದೃಶ್ಯೀಕರಣವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು,
ಅಗ್ನಿಶಾಮಕ ಮತ್ತು ಭದ್ರತಾ ಎಚ್ಚರಿಕೆಗಳು, ಸ್ಟಾರ್ಟರ್ಗಳಲ್ಲಿ ವೋಲ್ಟೇಜ್ ಉಪಸ್ಥಿತಿ, ಕೋಣೆಯ ಉಷ್ಣಾಂಶ, ತುರ್ತು ನೀರಿನ ಮಟ್ಟ. NEKST-M ನ ಹೃದಯವು ATMEGA 1280 ಆಗಿದೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಅಗತ್ಯಗಳಿಗಾಗಿ ನಿಮ್ಮ ಸ್ವಂತ ಕಿಟ್ ಅನ್ನು ರಚಿಸುವ ಸಾಧ್ಯತೆಯ ವಿಷಯದಲ್ಲಿ ಈ ಅಂಶವು ಉತ್ತೇಜನಕಾರಿಯಾಗಿದೆ.

ಕಡಿಮೆ ಸಾಧ್ಯತೆಯ ಸಮಯದಲ್ಲಿ ಮತ್ತು ಕನಿಷ್ಠ ವೆಚ್ಚದಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ಅಗತ್ಯಗಳಿಗಾಗಿ ಸಂಪೂರ್ಣ ಸ್ವಾಯತ್ತ ಸ್ಥಳೀಯ ರವಾನೆ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸಲು ಕಾರ್ಯವನ್ನು ಹೊಂದಿಸಲಾಗಿದೆ. ಆಧಾರವು ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಆಗಿದೆ. ಅಭಿವೃದ್ಧಿ, ಉತ್ಪಾದನೆ, ಸಿಬ್ಬಂದಿ ಸ್ವತಃ ರಚಿಸಿದ್ದಾರೆ.

ರೇಡಿಯೋ ಆವರ್ತನ ಸಂಪನ್ಮೂಲಗಳ ಬಳಕೆಗಾಗಿ ಸೆಲ್ಯುಲಾರ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು, ಸರ್ವರ್‌ಗಳು, ಇಂಟರ್ನೆಟ್ ಮತ್ತು ಪರವಾನಗಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಅವಲಂಬಿಸದೆ ಸಿಸ್ಟಮ್ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು, ನಿಯಂತ್ರಣ ಮತ್ತು ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯ ಕಾರ್ಯಾಚರಣೆಯಲ್ಲಿ ಕಂಪ್ಯೂಟರ್‌ಗಳನ್ನು ಬಳಸಬಾರದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಲ್ಯಾಪ್‌ಟಾಪ್‌ಗಳನ್ನು ಪ್ರವೇಶವಿಲ್ಲದೆ ಬಳಸಬೇಕು. ದೀರ್ಘಕಾಲದವರೆಗೆ ವಸ್ತುಗಳು (6-9 ತಿಂಗಳುಗಳು). ನೆಟ್ವರ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್ ರೇಡಿಯಲ್ ರಚನೆಯನ್ನು ಹೊಂದಿದೆ. ಡೇಟಾವನ್ನು ಒಂದು ಹಂತದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಂತರ ಸಾಮಾನ್ಯ ಸಂವಹನ ಚಾನಲ್‌ಗಳ ಮೂಲಕ ಅಥವಾ ಹಾರ್ಡ್ ಕಾಪಿಯಾಗಿ ಪ್ರಕ್ರಿಯೆಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.

ಸಿಸ್ಟಮ್ ಒದಗಿಸಬೇಕು:

  • ಪಂಪಿಂಗ್ ಘಟಕಗಳ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವುದು
  • ತಾಂತ್ರಿಕ ಯಾಂತ್ರೀಕೃತಗೊಂಡ
  • ತುರ್ತು ಪರಿಸ್ಥಿತಿಗಳ ಪರಿಣಾಮಗಳಿಂದ ರಕ್ಷಣೆ
  • ತುರ್ತು ಸಂಕೇತ
  • ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದ ಲೆಕ್ಕಾಚಾರ
  • ಸೇವಿಸಿದ ವಿದ್ಯುತ್ ಪ್ರಮಾಣವನ್ನು ಲೆಕ್ಕಹಾಕುವುದು
  • ಉಪಕರಣದ ತಾಪಮಾನ ನಿಯಂತ್ರಣ
  • ಭದ್ರತೆ ಮತ್ತು ಅಗ್ನಿಶಾಮಕ ಎಚ್ಚರಿಕೆ
  • ಮಾಹಿತಿಯ ಆವರ್ತಕ ರಿಮೋಟ್ ರೆಕಾರ್ಡಿಂಗ್
  • ಅಜ್ಞಾತ ಭವಿಷ್ಯದ ಅವಶ್ಯಕತೆಗಳು

ಕೆಲಸದ ಪರಿಸ್ಥಿತಿಗಳು:

  • ವ್ಯಾಪ್ತಿ ಪ್ರದೇಶ 1 ಚದರ ಕಿ.ಮೀ.
  • ವಸ್ತುಗಳ ನಡುವೆ ನೇರ ಗೋಚರತೆ
  • ತಾಪಮಾನ +50 ರಿಂದ -50 ಸಿ
  • ಆರ್ದ್ರತೆ 100% ವರೆಗೆ
  • ಜೈವಿಕವಾಗಿ ಸಕ್ರಿಯವಾಗಿರುವ ನಿಕ್ಷೇಪಗಳು (ಅಚ್ಚು, ಸಲ್ಫೇಟ್-ಕಡಿಮೆಗೊಳಿಸುವ ಬ್ಯಾಕ್ಟೀರಿಯಾ)
  • GOST ISO 1-2-10816 ಪ್ರಕಾರ 1-97 ತರಗತಿಗಳ ಯಂತ್ರಗಳ ಕಂಪನ, ಇನ್ನು ಮುಂದೆ ಇಲ್ಲ
  • ವಿದ್ಯುತ್ಕಾಂತೀಯ ಪರಿಸರ - ಕೆಟಿ 6053 ಕಾಂಟಕ್ಟರ್‌ಗಳೊಂದಿಗೆ ಎಲೆಕ್ಟ್ರಿಕ್ ಮೋಟಾರ್‌ಗಳ ಸ್ವಿಚಿಂಗ್, ಆರ್‌ವಿಎಸ್-ಡಿಎನ್ ಸಾಫ್ಟ್ ಸ್ಟಾರ್ಟ್ ಉಪಕರಣಗಳು, ಸಿಮೆನ್ಸ್ ಮೈಕ್ರೋಮಾಸ್ಟರ್ ಪಿಐಡಿ ನಿಯಂತ್ರಣ ಉಪಕರಣಗಳು, ಈ ಸಾಧನಗಳಿಗೆ ಅಗತ್ಯತೆಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ಐಎಸ್‌ಎಂ ಮತ್ತು ಜಿಎಸ್‌ಎಂ ಶ್ರೇಣಿಯಲ್ಲಿ ವಿಕಿರಣ, ಸೈಟ್‌ನಲ್ಲಿ ಹಸ್ತಚಾಲಿತ ಆರ್ಕ್ ವೆಲ್ಡಿಂಗ್
  • ಮಿತಿಮೀರಿದ ನೆಟ್ವರ್ಕ್ ವೋಲ್ಟೇಜ್, ವಿದ್ಯುತ್ ಸರಬರಾಜಿನಲ್ಲಿ ಅಲ್ಪಾವಧಿಯ ಅಡಚಣೆಗಳು, ಮಿಂಚಿನ ಓವರ್ವೋಲ್ಟೇಜ್ಗಳು, 6-10 kV ವಿತರಣಾ ಜಾಲಗಳಲ್ಲಿ ಓವರ್ಹೆಡ್ ಲೈನ್ ತಂತಿ ಮುರಿದಾಗ ಹಂತದ ಅಸಮತೋಲನ.

ಅಂತಹ ಕಠಿಣ ಅವಶ್ಯಕತೆಗಳ ಹೊರತಾಗಿಯೂ, ಹಂತ ಹಂತವಾಗಿ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವಾಗ ಅನುಷ್ಠಾನವು ತುಂಬಾ ಸರಳವಾಗಿದೆ.

ಎಲ್ಲವನ್ನೂ ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು, "Arduino Nano 3.0" ಬೋರ್ಡ್ ಯೋಜನೆಯ "ಮೆದುಳು" ಆಯಿತು. ರೋಬೋಡಿನ್ ಬೋರ್ಡ್ ATMEGA 328 ನಿಯಂತ್ರಕವನ್ನು ಹೊಂದಿದೆ, ಇದಕ್ಕೆ ಅಗತ್ಯವಾದ 3,3V ವೋಲ್ಟೇಜ್ ಸ್ಟೇಬಿಲೈಸರ್
ಪ್ರಸ್ತುತ 800 mA ಮತ್ತು CH340G UART-USB ಗೆ ಪರಿವರ್ತಕ.

ಮೊದಲನೆಯದಾಗಿ, ಆಪರೇಟಿಂಗ್ ಗಂಟೆಗಳ ಕೌಂಟರ್‌ಗಳನ್ನು ಅತ್ಯಂತ ನವೀಕೃತವಾದವುಗಳಾಗಿ ರಚಿಸಲಾಗಿದೆ. ಟ್ರಾನ್ಸ್‌ಫಾರ್ಮರ್‌ಲೆಸ್ ಪವರ್ ಸಪ್ಲೈ ಸರ್ಕ್ಯೂಟ್‌ನೊಂದಿಗೆ PIC ಗಳಲ್ಲಿ ಜೋಡಿಸಲಾದ ಹಿಂದೆ ಬಳಸಿದ ಕೈಗಾರಿಕಾ ಮೀಟರ್‌ಗಳು ಕಾರ್ಯಾಚರಣೆಯ ಒಂದು ವರ್ಷದೊಳಗೆ ವೋಲ್ಟೇಜ್ ಉಲ್ಬಣದಿಂದಾಗಿ ವಿಫಲವಾಗಿದೆ. ಮನೆಯಲ್ಲಿ ತಯಾರಿಸಿದ 5V ವಿದ್ಯುತ್ ಸರಬರಾಜುಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಪರ್ಕ ಹೊಂದಿದವರು ಮಾತ್ರ ಹಾಗೇ ಉಳಿದಿದ್ದಾರೆ. ಅನುಸ್ಥಾಪನೆ ಮತ್ತು ಸಂಪರ್ಕದ ಬಹುಮುಖತೆಯನ್ನು ವೇಗಗೊಳಿಸಲು, ಸ್ವಿಚಿಂಗ್ ಸಾಧನಗಳ ಟರ್ಮಿನಲ್ಗಳಿಂದ ಘಟಕಗಳ ಸ್ಥಿತಿಯ ಬಗ್ಗೆ ಸಂಕೇತವನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ, ಅಂದರೆ. 1V ಯ ಮೂರು-ಹಂತದ ವಿದ್ಯುತ್ ಪೂರೈಕೆಯೊಂದಿಗೆ 380 ನೇ ಹಂತದ ವೋಲ್ಟೇಜ್ನ ಉಪಸ್ಥಿತಿಯ ನೋಂದಣಿ. ನಿಯಂತ್ರಕದೊಂದಿಗೆ ಸಮನ್ವಯಗೊಳಿಸಲು, 220V ಅಂಕುಡೊಂಕಾದ ಮಧ್ಯಂತರ ರಿಲೇ ಅಥವಾ LED ಮತ್ತು GL5516 ಫೋಟೊರೆಸಿಸ್ಟರ್ ಅಥವಾ PC817 ಆಪ್ಟೋಕಪ್ಲರ್‌ನಿಂದ ಸಂಯೋಜಿಸಲ್ಪಟ್ಟ ಆಪ್ಟೋಕಪ್ಲರ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಎಲ್ಲಾ ಆಯ್ಕೆಗಳನ್ನು ಪರೀಕ್ಷಿಸಲಾಗಿದೆ. ಎಲ್ಇಡಿ ಒಂದು ಮೆಗಾಹ್ಮೀಟರ್ನೊಂದಿಗೆ ಸರ್ಕ್ಯೂಟ್ಗಳ ಆಕಸ್ಮಿಕ ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ ಸುರಕ್ಷತೆಗಾಗಿ ಸರಣಿಯಲ್ಲಿ ಸಂಪರ್ಕಗೊಂಡಿರುವ 22V ವೋಲ್ಟೇಜ್ಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಎರಡು SVV630 ಕೆಪಾಸಿಟರ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರಸ್ತುತ ಮಿತಿಯೊಂದಿಗೆ ಸರಿಪಡಿಸಿದ ವೋಲ್ಟೇಜ್ನಿಂದ ಚಾಲಿತವಾಗಿದೆ.
ST7735S LCD ಪರದೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಆಪರೇಟಿಂಗ್ ಸಮಯದ ವಾಚನಗೋಷ್ಠಿಯನ್ನು ಓದುವುದು, 01 MHz ಆವರ್ತನದಲ್ಲಿ E01-ML05DP2,4 ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ರೇಡಿಯೊ ಮೂಲಕ ನೈಜ-ಸಮಯದ ಡೇಟಾ ಪ್ರಸರಣ. ಈ ಸಾಧನವು nRF24L01+ ಚಿಪ್ ಮತ್ತು RFX2401C ಪ್ರಸಾರ/ಸ್ವೀಕರಿಸುವ ಆಂಪ್ಲಿಫಯರ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ,
ಔಟ್ಪುಟ್ ವಿದ್ಯುತ್ 100 mW ವರೆಗೆ. ಆನ್‌ಲೈನ್ ಕ್ಯಾಲ್ಕುಲೇಟರ್‌ನಲ್ಲಿ ಅಪೇಕ್ಷಿತ ಶ್ರೇಣಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಹೆಲಿಕಲ್ ಆಂಟೆನಾಗಳು ಸೈಟ್. ಆಂಟೆನಾ ಪ್ರಕಾರದ ಆಯ್ಕೆಯು ಸುತ್ತುವರಿದ ಲೋಹದ ರಚನೆಗಳಿಂದ ಏಕ ಪ್ರತಿಬಿಂಬಿತ ಅಲೆಗಳ ಸ್ವಾಗತದ ಹೊರಗಿಡುವಿಕೆಯಿಂದ ನಿರ್ಧರಿಸಲ್ಪಡುತ್ತದೆ. ಆಂಟೆನಾ ಭಾಗಗಳನ್ನು 3D ಪ್ರಿಂಟರ್‌ನಲ್ಲಿ ಮುದ್ರಿಸಲಾಗುತ್ತದೆ. ಕೌಂಟರ್‌ಗಳ ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯನ್ನು ನಿಯಂತ್ರಕದ EEPROM ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಮತ್ತು ಅನಿರೀಕ್ಷಿತ ವಿದ್ಯುತ್ ನಿಲುಗಡೆಯ ಸಂದರ್ಭದಲ್ಲಿ ಪುನಃಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ. ಎಣಿಕೆಗಾಗಿ ಸಮಯದ ಮಧ್ಯಂತರಗಳನ್ನು RTC ಚಿಪ್ DS3231 ಮೂಲಕ ಬ್ಯಾಕಪ್ ಬ್ಯಾಟರಿಯೊಂದಿಗೆ ಮಾಡ್ಯೂಲ್ ರೂಪದಲ್ಲಿ ಒದಗಿಸಲಾಗುತ್ತದೆ. ವಿದ್ಯುತ್ ಪೂರೈಕೆಯು 3 ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ, ನಿಜವಾದ ಪಲ್ಸ್ ಮೂಲ 220/5V HLK-PM01 600mA, 1-5V ನಿಂದ 5V ಗೆ ಪರಿವರ್ತಕ ಎಚ್‌ಡಬ್ಲ್ಯೂ -553 и 03962A - ಜೊತೆಗೆ ಬ್ಯಾಟರಿ ನಿಯಂತ್ರಕ ಯೋಜನೆ ಶಾರ್ಟ್ ಸರ್ಕ್ಯೂಟ್, ಓವರ್ಡಿಸ್ಚಾರ್ಜ್ ಮತ್ತು ಓವರ್ಚಾರ್ಜ್ ವಿರುದ್ಧ ರಕ್ಷಣೆ. ಎಲ್ಲಾ ಘಟಕಗಳನ್ನು Aliexpress ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿ ಖರೀದಿಸಲಾಗಿದೆ.

ಬ್ರೆಡ್ ಬೋರ್ಡ್ಸ್ಥಳೀಯ ಸ್ವಾಯತ್ತ ಮಾಹಿತಿ ಸಂಗ್ರಹ ವ್ಯವಸ್ಥೆ
4-ಚಾನೆಲ್ ಕೌಂಟರ್. ತಿರುಚಿದ ಜೋಡಿ ಸಂವಹನ ಮಾರ್ಗದ ಮೇಲೆ ಹಸ್ತಕ್ಷೇಪದ ವಿರುದ್ಧ ರಕ್ಷಿಸಲು ಇನ್‌ಪುಟ್‌ಗಳಲ್ಲಿ LC ಫಿಲ್ಟರ್‌ಗಳಿವೆ. ನಿಯಂತ್ರಣ ವಸ್ತುಗಳ ಸ್ಥಿತಿಯ ಡೇಟಾವನ್ನು ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಒಮ್ಮೆ ನಿರಂತರವಾಗಿ ಓದಲಾಗುತ್ತದೆ ಮತ್ತು LCD ಯಲ್ಲಿ ಬಣ್ಣದಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ 1 ಸೆಕೆಂಡುಗಳಿಗೊಮ್ಮೆ ವಾಚನಗೋಷ್ಠಿಯನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅಸ್ಥಿರವಲ್ಲದ ಮೆಮೊರಿಯಲ್ಲಿ ದಾಖಲಿಸಲಾಗುತ್ತದೆ. 36 ಸೆಕೆಂಡುಗಳು ಒಂದು ಗಂಟೆಯ 36/1 ಆಗಿದೆ, ಇದು ಡೇಟಾ ಅಗತ್ಯವಿರುವ ಸ್ವರೂಪವಾಗಿದೆ. ಪ್ರತಿ 100 ಸೆ. ಪ್ರತಿ ನಿಯಂತ್ರಣ ಘಟಕಕ್ಕೆ ಎಷ್ಟು ಸೆಕೆಂಡುಗಳ ಕಾರ್ಯಾಚರಣೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ರವಾನಿಸಲಾಗುತ್ತದೆ. ತಯಾರಕರ ಪ್ರಕಾರ 12 ಬಾರಿ EEPROM ಮೆಮೊರಿಯು ಸೀಮಿತ ಸಂಖ್ಯೆಯ ಬರಹ-ಅಳಿಸುವಿಕೆಯ ಚಕ್ರಗಳನ್ನು ಹೊಂದಿದೆ. ಕನಿಷ್ಠ ಒಂದು ಸೆಲ್ ಅನ್ನು ನಿರಂತರವಾಗಿ ನವೀಕರಿಸುತ್ತಿರುವಾಗ ಕೆಟ್ಟ ಆಯ್ಕೆಯಾಗಿದೆ. 100000 ನೇ ಕೌಂಟರ್‌ನ ಪರಿಮಾಣವು 1 ಬೈಟ್‌ಗಳು, ಇದು ದೀರ್ಘ ಸ್ವರೂಪದ ಸಂಖ್ಯೆ, 4 ಕೌಂಟರ್‌ಗಳು, ಒಟ್ಟು 4 ಬೈಟ್‌ಗಳನ್ನು ಒಂದು ದಾಖಲೆಯಿಂದ ಆಕ್ರಮಿಸಲಾಗಿದೆ. ಚಿಪ್‌ನ ಮೆಮೊರಿಯ ಉದ್ದವು 16 ಬೈಟ್‌ಗಳು; 1024 ಕೌಂಟರ್‌ಗಳ 64 ನಮೂದುಗಳ ನಂತರ, ರೆಕಾರ್ಡಿಂಗ್ ಮತ್ತೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. EEPROM ಲೈಬ್ರರಿಯಲ್ಲಿ, EEPROM.put ವಿಧಾನವು ಬರೆಯುವುದಿಲ್ಲ; ಕೋಶದ ಮೌಲ್ಯ ಮತ್ತು ಬರೆಯಲಾದ ಮಾಹಿತಿಯು ಹೊಂದಾಣಿಕೆಯಾದರೆ, ಜೀವಕೋಶಗಳ ಅವನತಿ ಇರುವುದಿಲ್ಲ. ಪರಿಣಾಮವಾಗಿ, ಖಾತರಿಪಡಿಸಿದ ಮೆಮೊರಿ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯವು 4 ವರ್ಷಗಳಿಗಿಂತ ಹೆಚ್ಚು ಇರುತ್ತದೆ. ಸಂಭವನೀಯ ಆದರೆ ಖಾತರಿಯಿಲ್ಲದ ಕೆಲಸದ ಸಮಯವು ಹೆಚ್ಚು ಉದ್ದವಾಗಿರುತ್ತದೆ.

ಸರ್ಕ್ಯೂಟ್ ರೇಖಾಚಿತ್ರಸ್ಥಳೀಯ ಸ್ವಾಯತ್ತ ಮಾಹಿತಿ ಸಂಗ್ರಹ ವ್ಯವಸ್ಥೆ
Arduino IDE ನಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ//12 ಬೈಟ್‌ಗಳು (328%)

#ಸೇರಿಸು // ಕೋರ್ ಗ್ರಾಫಿಕ್ಸ್ ಲೈಬ್ರರಿ
#ಸೇರಿಸು // ಹಾರ್ಡ್‌ವೇರ್-ನಿರ್ದಿಷ್ಟ ಗ್ರಂಥಾಲಯ
# ಸೇರಿಸಿ
#ಸೇರಿಸು
# ಸೇರಿಸಿ
#ಸೇರಿಸು
#ಸೇರಿಸು
RF24 ರೇಡಿಯೋ(9, 10); // RF24 ಲೈಬ್ರರಿಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ರೇಡಿಯೋ ವಸ್ತು,
// ಮತ್ತು ಪಿನ್ ಸಂಖ್ಯೆಗಳು nRF24L01+ (CE, CSN)
#ಸೇರಿಸು
DS3231 rtc(SDA, SCL);
ಸಮಯ ಟಿ;

//#TFT_CS 10 ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ
#TFT_CS 8 ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ
#TFT_RST -1 ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ // ನೀವು ಇದನ್ನು Arduino ರೀಸೆಟ್‌ಗೆ ಸಹ ಸಂಪರ್ಕಿಸಬಹುದು
// ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಈ # ಡಿಫೈನ್ ಪಿನ್ ಅನ್ನು -1 ಗೆ ಹೊಂದಿಸಿ!
//#TFT_DC 9 ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ // DC=RS=A0 - ಆದೇಶ ಅಥವಾ ಡೇಟಾ ರಿಜಿಸ್ಟರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಲು ಪದನಾಮ ಆಯ್ಕೆಗಳು.
#TFT_DC 3 ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ

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

// ಆಯ್ಕೆ 2: ಯಾವುದೇ ಪಿನ್‌ಗಳನ್ನು ಬಳಸಿ ಆದರೆ ಸ್ವಲ್ಪ ನಿಧಾನವಾಗಿ!
#TFT_SCLK 13 ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ // ಇವುಗಳನ್ನು ನೀವು ಇಷ್ಟಪಡುವ ಯಾವುದೇ ಪಿನ್‌ಗಳಾಗಿ ಹೊಂದಿಸಿ!
#TFT_MOSI 11 ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ // ಇವುಗಳನ್ನು ನೀವು ಇಷ್ಟಪಡುವ ಯಾವುದೇ ಪಿನ್‌ಗಳಾಗಿ ಹೊಂದಿಸಿ!
//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
#ಸೇರಿಸು

ಬೈಟ್ ಶಿಫ್ಟ್ = 52;
ಬೈಟ್ ಪಿನ್ ಸ್ಟೇಟ್;
ಸಹಿ ಮಾಡದ ಉದ್ದ ಪಂಪ್[4];// 4 ಸೆಕೆಂಡುಗಳ ಕೌಂಟರ್ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಶ್ರೇಣಿ
ಫ್ಲೋಟ್ ಮೀ = 3600.0;
ಸಹಿ ಮಾಡದ ಇಂಟ್ ವಿಳಾಸ = 0;
int rc;// ಕೌಂಟರ್‌ಗಳಿಗಾಗಿ ವೇರಿಯಬಲ್
ಸಹಿ ಮಾಡದ ಲಾಂಗ್ ಸಮ್ಪ್ರಿಮ್ = 0;
ಸಹಿ ಮಾಡದ ದೀರ್ಘ ಸಮ್ಸೆಕ್ = 0;
ಬೈಟ್ i = 0;
ಬೈಟ್ ಕೆ = 34;
ಸಹಿ ಮಾಡದ ಇಂಟ್ z = 0;
ಬೈಟ್ b = B00000001;
ಬೈಟ್ pumrcounter[4]; // ಆಬ್ಜೆಕ್ಟ್ ಸ್ಟೇಟ್ಸ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲು ಅರೇ, 1 - ಆಫ್, 0 - ಆನ್.
ಇಂಟ್ ಪ್ರಾರಂಭ = 0; //

ಅನೂರ್ಜಿತ ಸೆಟಪ್ () {

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); // ST7735S ಚಿಪ್, ಕಪ್ಪು ಟ್ಯಾಬ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ
// ನೀವು 1.44" TFT ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ ಈ ಇನಿಶಿಯಲೈಜರ್ ಅನ್ನು ಬಳಸಿ (ಕಾಮೆಂಟ್ ಮಾಡಿ).
//tft.initR(INITR_144GREENTAB); // ST7735S ಚಿಪ್, RED rcB ಟ್ಯಾಬ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ
tft.setTextWrap(false); // ಬಲ ಅಂಚಿನಿಂದ ಪಠ್ಯವನ್ನು ಚಲಾಯಿಸಲು ಅನುಮತಿಸಿ
tft.setRotation( 2 ); // BLACK PCB ಮತ್ತು RED tft.setRotation(0) ಅಥವಾ ಇಲ್ಲವೇ.
tft.fillScreen(ST7735_BLACK); // ಸ್ಪಷ್ಟ ಪರದೆ

DDRD = DDRD | ಬಿ00000000;
PORTD = PORTD | B11110000; // ಸಾಫ್ಟ್‌ವೇರ್ ಬಿಗಿಗೊಳಿಸುವಿಕೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ, ಉನ್ನತ ಮಟ್ಟದ -
// ನಿಯಂತ್ರಿತ ವಸ್ತುಗಳು "ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ", "4" ಅನ್ನು ಎಲ್ಲಾ 1 ಹಿರಿಯ ಪೋರ್ಟ್‌ಗಳಿಗೆ ಬರೆಯಲಾಗಿದೆ D, ಯಾವುದೇ ಎಣಿಕೆ ಸಂಭವಿಸುವುದಿಲ್ಲ.

ಗಾಗಿ (rc = 0; rc <4; rc++)
{
tft.setCursor (3, rc * 10 + shift ); // ನಿಯಂತ್ರಣ ವಸ್ತುಗಳ ಸ್ಥಾನ ಸಂಖ್ಯೆಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ
tft.print(rc + 1);
}

tft.setCursor(12, 0); // ಪಠ್ಯದ 3 ಸಾಲುಗಳನ್ನು ಔಟ್ಪುಟ್ ಮಾಡಿ
tft.println("ಡೆವಲಪರ್‌ಗಳು ಮತ್ತು ಬಿಲ್ಡ್"); // ನಿಮ್ಮ ಪ್ರೀತಿಪಾತ್ರರನ್ನು ಹೊಗಳಲು
tft.setCursor(24, 10); // ಅಥವಾ ದುಷ್ಟ ಹಕ್ಕುಸ್ವಾಮ್ಯ
tft.print("ಡೆವಲಪರ್ ಎಂಎಂ");
tft.setCursor(28, 20);
tft.print("BUILD-ER DD");

//ಡೇಟಾ ರಿಕವರಿ////////////////////////////////////////////// //////////

ಗಾಗಿ (z = 0; z <1023; z += 16 ) {// ಉದ್ಯಮದ ಎಲ್ಲಾ ಕೋಶಗಳ ಮೂಲಕ ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ
//ಮತ್ತು 4 ಪಂಪ್ ವೇರಿಯೇಬಲ್‌ಗಳ ಒಂದು ಶ್ರೇಣಿಗೆ ಬರೆಯುತ್ತದೆ, ಪ್ರತಿ ಕೌಂಟರ್‌ಗೆ 4 ಬೈಟ್‌ಗಳು, ಏಕೆಂದರೆ
// ಸಹಿ ಮಾಡದ ದೀರ್ಘ ವೇರಿಯಬಲ್. 4 ಕೌಂಟರ್‌ಗಳಿವೆ, ಎಲ್ಲಾ 4 ರ ಒಂದು ದಾಖಲೆಯು 16 ಬೈಟ್‌ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.
EEPROM.get(z, ಪಂಪ್[0]); // ಆದ್ದರಿಂದ, ಫಾರ್ ಲೂಪ್ ಇಲ್ಲದೆ, ಕಡಿಮೆ ಪರಿಮಾಣ
EEPROM.get(z+4, ಪಂಪ್[1]);
EEPROM.get(z+8, ಪಂಪ್[2]);
EEPROM.get(z+12, ಪಂಪ್[3]);

// 4 ಕೌಂಟರ್‌ಗಳ ಮೊತ್ತಕ್ಕೆ ಹೊಸ ಮುಂದಿನ ಮೌಲ್ಯವನ್ನು ನಿಯೋಜಿಸಲಾಗುತ್ತಿದೆ
sumprim = (ಪಂಪ್ [0] + ಪಂಪ್ [1] + ಪಂಪ್ [2] + ಪಂಪ್ [3]);

// ಸುಂಪ್ರಿಮ್ ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿನ 4 ಕೌಂಟರ್‌ಗಳ ಮೊತ್ತದ ಹೊಸ ಮೌಲ್ಯವನ್ನು ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿನ ಹಿಂದಿನ ಮೌಲ್ಯದೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ
// sumsec ಮತ್ತು ಹಿಂದಿನ ಮೊತ್ತವು ಹೊಸ ಮೊತ್ತಕ್ಕಿಂತ ಕಡಿಮೆ ಅಥವಾ ಸಮಾನವಾಗಿದ್ದರೆ, ಹೊಸ ದೊಡ್ಡ ಅಥವಾ ಸಮಾನವನ್ನು ನಿಗದಿಪಡಿಸಲಾಗಿದೆ
// ಸಮ್ಸೆಕ್ ಮೌಲ್ಯ.

ವೇಳೆ ( sumsec <= sumprim ) {
sumsec = sumprim; //

//ಮತ್ತು ಪ್ರಸ್ತುತ ಮೌಲ್ಯ z ಅನ್ನು ವಿಳಾಸ ವೇರಿಯಬಲ್‌ಗೆ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ, z ಎಂಬುದು 16 ಮೌಲ್ಯಗಳ 4-ಬೈಟ್ ಬ್ಲಾಕ್‌ನ ಪ್ರಾರಂಭದ ವಿಳಾಸವಾಗಿದೆ
// ಕೌಂಟರ್‌ಗಳನ್ನು ಒಂದೇ ಸಮಯದಲ್ಲಿ ರೆಕಾರ್ಡ್ ಮಾಡಲಾಗಿದೆ (ಪೋರ್ಟ್ ಅನ್ನು ಪೋಲಿಂಗ್ ಮಾಡುವಾಗ, ಅದರ ಎಲ್ಲಾ 8 ಬಿಟ್‌ಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಬರೆಯಲಾಗುತ್ತದೆ,
// ನಮ್ಮ ಅಗತ್ಯ ಹೆಚ್ಚಿನ 4 ಬಿಟ್‌ಗಳ ಪೋರ್ಟ್ ಡಿ ಸೇರಿದಂತೆ).
ವಿಳಾಸ = z;
}
}

// 16 ರೆಕಾರ್ಡ್ ಮಾಡಿದ ಕೌಂಟರ್ ಮೌಲ್ಯಗಳ 4 ಬೈಟ್‌ಗಳ ಬ್ಲಾಕ್‌ನ ಪ್ರಾರಂಭದ ವಿಳಾಸದಲ್ಲಿ ಮತ್ತೊಮ್ಮೆ eeprom ಮೆಮೊರಿಯನ್ನು ಪ್ರವೇಶಿಸಲಾಗುತ್ತಿದೆ
// ಕೊನೆಯ, ಅಂದರೆ. ಘನೀಕರಣದ ಕಾರಣದಿಂದಾಗಿ ಮುಚ್ಚುವ ಅಥವಾ ರೀಬೂಟ್ ಮಾಡುವ ಮೊದಲು ಮೌಲ್ಯಗಳು. ಇತ್ತೀಚಿನದನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ
// ಕೌಂಟರ್ ಮೌಲ್ಯಗಳನ್ನು 4 ವೇರಿಯೇಬಲ್‌ಗಳ ಪಂಪ್‌ನ ಶ್ರೇಣಿಗೆ.

EEPROM.get(ವಿಳಾಸ, ಪಂಪ್[0]);
EEPROM.get(ವಿಳಾಸ + 4, ಪಂಪ್[1]);
EEPROM.get(ವಿಳಾಸ + 8, ಪಂಪ್[2]);
EEPROM.get(ವಿಳಾಸ + 12, ಪಂಪ್[3]);

ವಿಳಾಸ += 16; //ಕಳೆದ ದಾಖಲೆಯ ಡೇಟಾವನ್ನು ತಿದ್ದಿ ಬರೆಯದೆ ಮುಂದಿನ ಬ್ಲಾಕ್ ಬರೆಯಲು ವಿಳಾಸವನ್ನು ಹೆಚ್ಚಿಸುವುದು

//ಡೇಟಾ ಚೇತರಿಕೆಯ ಅಂತ್ಯ////////////////////////////////////////////// //////////////////

ಅಟ್ಯಾಚ್ಇಂಟರಪ್ಟ್ (0, ಎಣಿಕೆ, ರೈಸಿಂಗ್); // ಪಿನ್ ಡಿ 2, ಅಡಚಣೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ, ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಬನ್ನಿ
// SQW ಔಟ್‌ಪುಟ್‌ನಿಂದ RTC DS3231 ನಿಂದ ದ್ವಿದಳ ಧಾನ್ಯಗಳು

wdt_enable (WDTO_8S); // ವಾಚ್‌ಡಾಗ್ ಟೈಮರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ, ಘನೀಕರಣದ ಸಂದರ್ಭದಲ್ಲಿ ನಿಯಂತ್ರಕವನ್ನು ರೀಬೂಟ್ ಮಾಡಿ, ಸಮಯ,
// ಇದಕ್ಕಾಗಿ ನೀವು ಟೈಮರ್ ಮರುಹೊಂದಿಸುವ ಆಜ್ಞೆಯನ್ನು wdt_reset (ಮತ್ತು ಸಾಮಾನ್ಯ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ರೀಬೂಟ್ ಮಾಡುವುದನ್ನು ತಪ್ಪಿಸಿ - 8 ಸೆಕೆಂಡುಗಳು.
// ಪರೀಕ್ಷೆಗಳಿಗೆ ಮೌಲ್ಯವನ್ನು 8 ಸೆಕೆಂಡ್‌ಗಳಿಗಿಂತ ಕಡಿಮೆಗೆ ಹೊಂದಿಸಲು ಶಿಫಾರಸು ಮಾಡುವುದಿಲ್ಲ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಟೈಮರ್ ಅನ್ನು ಮೇಲಾಗಿ ಮರುಹೊಂದಿಸಲಾಗುತ್ತದೆ
// ಜರ್ಕಿಂಗ್, ಮತ್ತು ಇದು ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಸಂಭವಿಸುತ್ತದೆ.

}

ಅನೂರ್ಜಿತ ಲೂಪ್ () {
// ಖಾಲಿ ಸೈಕಲ್, ಇಲ್ಲಿ ಎಲೆಕ್ಟ್ರಿಕ್ ಮೋಟರ್‌ನ ತೆರೆದ ಹಂತದ ಕಾರ್ಯಾಚರಣೆಯ ಮೇಲೆ ನಿಯಂತ್ರಣವಿರುತ್ತದೆ
}

ಅನೂರ್ಜಿತ ಎಣಿಕೆ() {

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(); // ವಾಚ್‌ಡಾಗ್ ಅನ್ನು ಪ್ರತಿ ಚಕ್ರಕ್ಕೆ ಮರುಹೊಂದಿಸಿ, ಅಂದರೆ ಎರಡನೇ

(rc = 0; rc <4; rc ++) // ಇನ್‌ಪುಟ್ ಸ್ಥಿತಿಯ ಅನುಸರಣೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಚಕ್ರದ ಪ್ರಾರಂಭ
// ಪೋರ್ಟ್ ಬಿಟ್‌ಗಳು ಹಿಂದಿನ ಪೋರ್ಟ್ ಡಿ ಬಿಟ್‌ಗಳ ಓದುವ ಸ್ಥಿತಿಗೆ
{
pinState = (PIND >> 4) & ( b << rc );

ಒಂದು ವೇಳೆ (pumrcounter [rc] != pinState) { // ಮತ್ತು ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ, ನಂತರ
pumrcounter[rc] = pinState; // ಪೋರ್ಟ್ ಬಿಟ್ ಸ್ಟೇಟಸ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೊಸ ಮೌಲ್ಯ 1/0 ಅನ್ನು ನಿಯೋಜಿಸುವುದು
}
// ಬಣ್ಣ ನಿಯಂತ್ರಣ ವಸ್ತುಗಳ ಸ್ಥಿತಿಯ ಸೂಚನೆ
// ನೀಲಿ ಬಣ್ಣವು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರದೆಯ (ಅಥವಾ ಲೈಬ್ರರಿ?) ಸಣ್ಣ ಗ್ಲಿಚ್ ಆಗಿದೆ, RGB ಮತ್ತು BGR ಮಿಶ್ರಣವಾಗಿದೆ.
ವೇಳೆ (pinState == ( b << rc )) {
tft.fillRect(15, ((rc * 10 + shift)), 7, 7, ST7735_BLUE); // ಕಡಿಮೆ ಮಟ್ಟದ ಎಣಿಕೆಗಾಗಿ ಹಸಿರು ಬಣ್ಣವನ್ನು ನೀಲಿ ಬಣ್ಣಕ್ಕೆ ಬದಲಾಯಿಸಿ
} ಬೇರೆ {
tft.fillRect(15, ((rc * 10 + shift)), 7, 7, ST7735_GREEN); // ಕಡಿಮೆ ಮಟ್ಟದ ಎಣಿಕೆಗಾಗಿ ನೀಲಿ ಬಣ್ಣದಿಂದ ಹಸಿರು ಬಣ್ಣಕ್ಕೆ ಬದಲಾಯಿಸಿ
ಪಂಪ್ [ಆರ್ಸಿ] += 1; // ಆಪರೇಟಿಂಗ್ ಟೈಮ್ ಕೌಂಟರ್‌ಗೆ 1 ಸೆಕೆಂಡ್ ಸೇರಿಸಿ
}
}

k++;
ಒಂದು ವೇಳೆ (ಕೆ == 36) {
ಕೆ = 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 ಪರದೆಯ ಮೇಲೆ ದಿನಾಂಕವನ್ನು ಪ್ರದರ್ಶಿಸಿ

(rc = 0; rc <4; rc ++) //ಔಟ್‌ಪುಟ್ ಆಪರೇಟಿಂಗ್ ಗಂಟೆಗಳ ಸಂಪೂರ್ಣ, ಹತ್ತನೇ ಮತ್ತು
{
tft.setCursor (30, rc * 10 + shift ); // 10 ಪಿಕ್ಸೆಲ್‌ಗಳಷ್ಟು ಸ್ಕ್ರೀನ್ ಶಿಫ್ಟ್‌ನೊಂದಿಗೆ ಗಂಟೆಗೆ ನೂರನೇ ಒಂದು ಭಾಗ
tft.println(ಪಂಪ್ [rc] / m);
}

// "ಕಚ್ಚಾ" ಆಪರೇಟಿಂಗ್ ಗಂಟೆಗಳ ಮೌಲ್ಯಗಳನ್ನು (ಸೆಕೆಂಡ್‌ಗಳಲ್ಲಿ) EEPROM ಗೆ ಬರೆಯುವುದು //////////////////////////////

ಗಾಗಿ (rc = 0; rc <4; rc++)
{
EEPROM.put(ವಿಳಾಸ, ಪಂಪ್ [rc]);
ವಿಳಾಸ += ಗಾತ್ರ (ಫ್ಲೋಟ್); // ಬರೆಯುವ ವಿಳಾಸ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೆಚ್ಚಿಸಿ
}
}

// ಎಷ್ಟು ಬೈಟ್‌ಗಳನ್ನು ಕಳುಹಿಸಬೇಕು ಎಂಬುದನ್ನು ಸೂಚಿಸುವ ಡೇಟಾದಿಂದ ರೇಡಿಯೊ ಚಾನಲ್‌ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಿ.
ವೇಳೆ ((k == 6 ) || (k == 18 ) || (k == 30 )) {

ಸಹಿ ಮಾಡದ ದೀರ್ಘ ಡೇಟಾ;

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

ಗಾಗಿ (i = 0; i < 4; i++) {
ಡೇಟಾ = ಪಂಪ್ [ನಾನು];
radio.write( &data, sizeof( ಡೇಟಾ));
}
}
}

ಕೊನೆಯಲ್ಲಿ ಕೆಲವು ಟಿಪ್ಪಣಿಗಳು. ಇನ್‌ಪುಟ್‌ಗಳಲ್ಲಿ ಕಡಿಮೆ ತಾರ್ಕಿಕ ಮಟ್ಟದಲ್ಲಿ ಎಣಿಕೆ ಸಂಭವಿಸುತ್ತದೆ.

ಫೋಟೊರೆಸಿಸ್ಟರ್‌ಗಳು GL2 ನೊಂದಿಗೆ ಆಯ್ಕೆಗಾಗಿ ಪುಲ್-ಅಪ್ ಪ್ರತಿರೋಧಗಳು R5-R36 5516 kOhm. ಫೋಟೊಟ್ರಾನ್ಸಿಸ್ಟರ್ ಆಪ್ಟೋಕಪ್ಲರ್ ಮತ್ತು ರಿಲೇಯ ಸಂದರ್ಭದಲ್ಲಿ, 4,7-5,1 kOhm ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ. ವಾಚ್‌ಡಾಗ್ ಟೈಮರ್‌ನ ಸರಿಯಾದ ಕಾರ್ಯಾಚರಣೆಗಾಗಿ TL3.0A ಪ್ರೋಗ್ರಾಮರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು Arduino Nano v866 ಬೂಟ್‌ಲೋಡರ್ ಅನ್ನು Arduino Uno ನೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಯಿತು. 4,3 V ಗಿಂತ ಹೆಚ್ಚಿನ ವೋಲ್ಟೇಜ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಫ್ಯೂಸ್‌ಗಳನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ. ಬಾಹ್ಯ ಮರುಹೊಂದಿಸುವ ಸರ್ಕ್ಯೂಟ್ R6 C3 ಅನ್ನು ಬಳಸಲಾಗಿಲ್ಲ. ಮಾದರಿ ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ, ಟ್ರಾನ್ಸ್ಮಿಟರ್ ಆವರ್ತನವು ಪರವಾನಗಿ ಪಡೆಯದ ಶ್ರೇಣಿಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ; 2,4 MHz ಶ್ರೇಣಿಯು 2400.0-2483.5 MHz ಆವರ್ತನಗಳಿಗೆ ಸೀಮಿತವಾಗಿದೆ.

E01-ML01DP05 ಟ್ರಾನ್ಸ್‌ಮಿಟರ್‌ನ ವ್ಯಾಪ್ತಿಯು 2400-2525 MHz ಆಗಿದೆ. ಒಂದು ಚಾನಲ್‌ನ ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ 1 MHz ಆಗಿದೆ, ವೇಗವನ್ನು "RF24_2MBPS" ಎಂದು ಹೊಂದಿಸಿದಾಗ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ radio.setChannel(120) ಚಾನಲ್ ಮತ್ತು ಮುಂದಿನದು ಆಕ್ರಮಿಸಲ್ಪಡುತ್ತದೆ, ಅಂದರೆ. ಬ್ಯಾಂಡ್ 2 MHz ಆಗಿರುತ್ತದೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ