දේශීය ස්වාධීන දත්ත එකතු කිරීමේ පද්ධතිය

සමාගම Next Technologies විසින් දේශීයව නිෂ්පාදනය කරන ලද NEKST-M අධීක්ෂණ තනතුරු මිලදී ගෙන ඇත. පොම්ප කිරීමේ ඒකකවල ක්රියාකාරිත්වය දෘශ්යමාන කිරීම සහතික කිරීම සඳහා,
ගිනි සහ ආරක්ෂක අනතුරු ඇඟවීම්, ආරම්භකවල වෝල්ටීයතාවයක් තිබීම, කාමර උෂ්ණත්වය, හදිසි ජල මට්ටම. NEKST-M හි හදවත ATMEGA 1280 වන අතර නිශ්චිත අවශ්‍යතා සඳහා ඔබේම කට්ටලයක් නිර්මාණය කිරීමේ හැකියාව සම්බන්ධයෙන් මෙම කරුණ දිරිගන්වන සුළුය.

නිශ්චිත අවශ්‍යතා සඳහා කෙටිම කාලයකදී සහ අවම පිරිවැයකින් පූර්ණ ස්වයංක්‍රීය දේශීය යැවීමේ පද්ධතියක් නිර්මාණය කිරීම කර්තව්‍යය සකසා ඇත. පදනම ක්ෂුද්ර පාලකයකි. සංවර්ධනය, නිෂ්පාදනය, කාර්ය මණ්ඩලය විසින්ම නිර්මාණය කරන ලදී.

රේඩියෝ සංඛ්‍යාත සම්පත් භාවිතය සඳහා සෙලියුලර් ජාල, සර්වර්, අන්තර්ජාලය සහ බලපත්‍ර පද්ධතිය මත යැපීමෙන් තොරව පද්ධතිය ක්‍රියාත්මක විය යුතුය, අධීක්ෂණ සහ පාලන පද්ධතියේ ක්‍රියාකාරිත්වයේ දී පරිගණක භාවිතා නොකළ යුතුය, නැතහොත් බොහෝ විට වරින් වර ලැප්ටොප් භාවිතා කළ යුතුය. දිගු කාලයක් සඳහා වස්තූන් (මාස 6-9). ජාල වින්යාසය රේඩියල් ව්යුහයක් ඇත. දත්ත එක් ස්ථානයක රැස් කර පසුව සාමාන්‍ය සන්නිවේදන නාලිකා හරහා හෝ දෘඩ පිටපතක් ලෙස සැකසීමට යවනු ලැබේ.

පද්ධතිය සැපයිය යුතුය:

  • පොම්ප කිරීමේ ඒකකවල ක්රියාකාරිත්වය නිරීක්ෂණය කිරීම
  • තාක්ෂණික ස්වයංක්රීයකරණය
  • හදිසි කොන්දේසි වල ප්රතිවිපාක වලින් ආරක්ෂා වීම
  • හදිසි සංඥා
  • මෙහෙයුම් කාලය ගණනය කිරීම
  • පරිභෝජනය කරන විදුලිය ප්රමාණය ගණනය කිරීම
  • උපකරණ උෂ්ණත්ව පාලනය
  • ආරක්ෂාව සහ ගිනි අනතුරු ඇඟවීම
  • වරින් වර දුරස්ථව තොරතුරු පටිගත කිරීම
  • නොදන්නා අනාගත අවශ්‍යතා

සේවා කොන්දේසි:

  • ආවරණ ප්රදේශය වර්ග කි.මී.
  • වස්තූන් අතර සෘජු දෘශ්යතාව
  • +50 සිට -50 C දක්වා උෂ්ණත්වය
  • ආර්ද්රතාවය 100% දක්වා
  • ජීව විද්‍යාත්මකව ක්‍රියාකාරී තැන්පතු (පුස්, සල්ෆේට් අඩු කරන බැක්ටීරියා)
  • GOST ISO 1-2-10816 අනුව 1-97 පන්තිවල යන්ත්‍රවල කම්පනය, තවත් නැත
  • විද්‍යුත් චුම්භක පරිසරය - KT 6053 ස්පර්ශක සහිත විදුලි මෝටර මාරු කිරීම, RVS-DN මෘදු ආරම්භක උපකරණ, SIEMENS MICROMASTER PID පාලන උපකරණ, මෙම උපාංග සඳහා අවශ්‍යතා අනුව ISM සහ GSM පරාසයේ විකිරණ, අඩවියේ අතින් චාප වෑල්ඩින්
  • 6-10 kV බෙදාහැරීමේ ජාල තුළ උඩිස් රේඛා වයරයක් කැඩී ගිය විට අධික ජාල වෝල්ටීයතාව, විදුලි සැපයුමේ කෙටි කාලීන බාධා කිරීම්, අකුණු අධි වෝල්ටීයතාව, අදියර අසමතුලිතතාවය.

එවැනි දැඩි අවශ්‍යතා තිබියදීත්, පියවරෙන් පියවර ගැටළුව විසඳීමේදී ක්‍රියාත්මක කිරීම තරමක් සරල ය.

සෑම දෙයක්ම සැලකිල්ලට ගනිමින්, "Arduino Nano 3.0" පුවරුව සැලැස්මේ "මොළය" බවට පත් විය. රොබෝඩින් පුවරුවේ ATMEGA 328 පාලකයක් ඇත, අවශ්‍ය 3,3V වෝල්ටීයතා ස්ථායීකාරකය
වත්මන් 800 mA සහ CH340G UART-USB වෙත පරිවර්තකය.

පළමුවෙන්ම, මෙහෙයුම් පැය කවුන්ටර වඩාත් යාවත්කාලීන ඒවා ලෙස නිර්මාණය කරන ලදී. ට්‍රාන්ස්ෆෝමර් රහිත බල සැපයුම් පරිපථයක් සහිත PIC මත එකලස් කරන ලද කලින් භාවිතා කරන ලද කාර්මික මීටර ක්‍රියාත්මක වී වසරක් ඇතුළත වෝල්ටීයතා වැඩිවීම හේතුවෙන් අසාර්ථක විය. ගෙදර හැදූ 5V බල සැපයුම් භාවිතයෙන් සම්බන්ධ වූවන් පමණක් නොවෙනස්ව පවතී. සම්බන්ධතාවයේ ස්ථාපනය සහ බහුකාර්යතාව වේගවත් කිරීම සඳහා, ඒකකවල තත්වය පිළිබඳ සංඥාවක් මාරු කිරීමේ උපාංගවල පර්යන්ත වලින් ගනු ලැබේ, i.e. 1V තෙකලා බල සැපයුමක් සහිත 380 වන අදියර වෝල්ටීයතාවයේ පැවැත්ම ලියාපදිංචි කිරීම. පාලකය සමඟ සම්බන්ධීකරණය කිරීම සඳහා, 220V වංගු සහිත අතරමැදි රිලේ එකක් හෝ LED සහ GL5516 photoresistor හෝ PC817 optocoupler වලින් සමන්විත optocoupler භාවිතා වේ. සියලු විකල්ප පරීක්ෂා කර ඇත. මෙගෝමීටරයක් ​​සහිත පරිපථ අහම්බෙන් පරීක්ෂා කිරීමේදී ආරක්ෂාව සඳහා ශ්‍රේණිගතව සම්බන්ධ කර ඇති 22V වෝල්ටීයතාවයක් සඳහා නිර්මාණය කර ඇති SVV630 ධාරිත්‍රක දෙකක් භාවිතා කරමින් ධාරා සීමා සහිත නිවැරදි කරන ලද වෝල්ටීයතාවයකින් LED බලගන්වයි.
ST7735S LCD තිරය භාවිතයෙන් මෙහෙයුම් කාල කියවීම් කියවීම, 01 MHz සංඛ්‍යාතයකින් E01-ML05DP2,4 මොඩියුලය භාවිතයෙන් රේඩියෝව හරහා තත්‍ය කාලීන දත්ත සම්ප්‍රේෂණය. මෙම උපාංගයේ nRF24L01+ චිපය සහ RFX2401C සම්ප්‍රේෂණ/ලැබීමේ ඇම්ප්ලිෆයර් අඩංගු වේ,
නිමැවුම් බලය 100 mW දක්වා. ඔන්ලයින් කැල්කියුලේටරය තුළ අපේක්ෂිත පරාසය සඳහා නිර්මාණය කර ඇති හෙලිකල් ඇන්ටනා අඩවිය. ඇන්ටෙනා වර්ගයේ තේරීම තීරණය වන්නේ අවට ලෝහ ව්‍යුහයන්ගෙන් තනි පරාවර්තක තරංග පිළිගැනීම බැහැර කිරීමෙනි. ඇන්ටෙනා කොටස් ත්‍රිමාණ මුද්‍රණ යන්ත්‍රයක මුද්‍රණය කර ඇත. කවුන්ටරවල වත්මන් තත්ත්වය පාලකයේම EEPROM හි ගබඩා කර ඇති අතර අනපේක්ෂිත විදුලිය ඇනහිටීමකදී ප්රතිෂ්ඨාපනය වේ. ගණන් කිරීම සඳහා කාල පරතරයන් RTC චිප් DS3 මඟින් උපස්ථ බැටරියක් සහිත මොඩියුලයක් ආකාරයෙන් සපයනු ලැබේ. බල සැපයුම මොඩියුල 3231ක් භාවිතා කරයි, සැබෑ ස්පන්දන ප්‍රභවය 3/220V HLK-PM5 01mA, 600-1V සිට 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);
කාලය t;

//#TFT_CS 10 අර්ථ දක්වන්න
#TFT_CS 8 නිර්වචනය කරන්න
#define TFT_RST -1 // ඔබට මෙය Arduino reset එකට සම්බන්ධ කරන්නත් පුළුවන්
// එවැනි අවස්ථාවක, මෙම #define pin එක -1 ලෙස සකසන්න!
//# define 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 කවුන්ටර අගයන් සහිත අරාව
පාවෙන m = 3600.0;
අත්සන් නොකළ int ලිපිනය = 0;
int rc;// කවුන්ටර සඳහා විචල්‍යය
අත්සන් නොකළ දිගු එකතුව = 0;
අත්සන් නොකළ දිගු එකතුවක් = 0;
බයිට් i = 0;
බයිට් k = 34;
අත්සන් නොකළ int z = 0;
බයිට් b = B00000001;
byte pumrcounter[4]; // වස්තු තත්වයන් ගබඩා කිරීම සඳහා අරාව, 1 - off, 0 - on.
int ආරම්භය = 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 | B00000000;
PORTD = PORTD | B11110000; // මෘදුකාංග තද කිරීම ක්‍රියා කරයි, ඉහළ මට්ටමේ -
// පාලන වස්තූන් "ක්‍රියා නොකරයි", "4" ජ්‍යෙෂ්ඨ වරායන් 1ටම ලියා ඇත, ගණන් කිරීමක් සිදු නොවේ.

සඳහා (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]); // ඉතින්, for loop එකකින් තොරව, අඩු පරිමාවක්
EEPROM.get(z+4, පොම්පය[1]);
EEPROM.get(z+8, පොම්පය[2]);
EEPROM.get(z+12, පොම්පය[3]);

// කවුන්ටර 4ක එකතුව සඳහා නව මීළඟ අගයක් පැවරීම
sumprim = (පොම්පය [0] + පොම්පය [1] + පොම්පය [2] + පොම්පය [3]);

// sumprim විචල්‍යයේ කවුන්ටර 4ක එකතුවේ නව අගය විචල්‍යයේ පෙර අගය සමඟ සංසන්දනය කරයි
// sumsec සහ පෙර එකතුව නව එකතුවට වඩා අඩු හෝ සමාන නම්, නව වැඩි හෝ සමාන පවරනු ලැබේ
// sumsec අගය.

නම් ( sumsec <= sumprim ) {
sumsec = sumprim; //

//සහ වත්මන් අගය z ලිපින විචල්‍යයට පවරා ඇත, z යනු අගයන් 16 කින් යුත් බයිට් 4 ක කොටසක ආරම්භයේ ලිපිනයයි.
// කවුන්ටර එකවර සටහන් කර ඇත (වරායක ඡන්ද විමසීමේදී, එහි බිටු 8ම එකවර ලියා ඇති බැවින්,
// අපගේ අවශ්‍ය ඉහළ බිටු 4 ඇතුළුව වරාය D).
ලිපිනය = z;
}
}

// නැවත වරක් eeprom මතකය වෙත ප්‍රවේශ වීම, වාර්තාගත කවුන්ටර අගයන් 16ක බයිට් 4ක බ්ලොක් එකක ආරම්භයේ ලිපිනයට
// අන්තිම, i.e. කැටි කිරීම හේතුවෙන් වසා දැමීමට හෝ නැවත ආරම්භ කිරීමට පෙර අගයන්. නවතම පටිගත කිරීම
// කවුන්ටර අගයන් විචල්‍ය 4 ක අරාවකට පොම්ප කරන්න.

EEPROM.get(ලිපිනය, පොම්පය[0]);
EEPROM.get(ලිපිනය + 4, පොම්පය[1]);
EEPROM.get(ලිපිනය + 8, පොම්පය[2]);
EEPROM.get(ලිපිනය + 12, පොම්පය[3]);

ලිපිනය += 16; //අවසාන වාර්තාවේ දත්ත නැවත ලිවීමෙන් තොරව ඊළඟ කොටස ලිවීම සඳහා ලිපිනය වැඩි කිරීම

//දත්ත ප්‍රතිසාධනයේ අවසානය////////////////////////////////////////////// //////////////////

addInterrupt(0, count, RISING); // pin D2, බාධා කිරීම් සබල කරන්න, සෑම තත්පරයකම එන්න
// RTC DS3231 වෙතින් ස්පන්දන SQW ප්‍රතිදානයෙන්

wdt_enable (WDTO_8S); // මුරකරු ටයිමරය ආරම්භ කරන්න, කැටි කිරීම, වේලාව, පාලකය නැවත ආරම්භ කරන්න
// ඒ සඳහා ඔබට ටයිමර් යළි පිහිටුවීමේ විධානය නිකුත් කිරීමට අවශ්‍ය වේ wdt_reset( සහ සාමාන්‍ය ක්‍රියාකාරිත්වය අතරතුර නැවත පණගැන්වීමෙන් වළකින්න - තත්පර 8.
// පරීක්ෂණ සඳහා අගය තත්පර 8කට වඩා අඩු අගයකට සැකසීම නිර්දේශ නොකරයි. මෙම අවස්ථාවේදී, ටයිමරය වඩාත් සුදුසු ලෙස නැවත සකසනු ලැබේ.
// jerking, සහ එය සෑම තත්පරයකම සිදු වේ.

}

void loop () {
// හිස් චක්‍රය, මෙහි විදුලි මෝටරයේ විවෘත-අදියර ක්‍රියාකාරිත්වය පාලනය වනු ඇත
}

හිස් ගණන() {

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] = පින්ස්ටේට්; // පෝට් බිට් තත්ව විචල්‍යයට නව අගයක් 1/0 ලබා දීම
}
// වර්ණ පාලන වස්තූන්ගේ තත්වය පිළිබඳ ඇඟවීම
// නිල් යනු පවතින තිරයේ (හෝ පුස්තකාලයේ?) කුඩා දෝෂයකි, RGB සහ BGR මිශ්‍ර වී ඇත.
නම් (pinState == ( b << rc )) {
tft.fillRect(15, ((rc * 10 + shift)), 7, 7, ST7735_BLUE); // අඩු මට්ටමේ ගණන් කිරීම සඳහා GREEN සිට BLUE දක්වා වෙනස් කරන්න
} වෙන {
tft.fillRect(15, ((rc * 10 + shift)), 7, 7, ST7735_GREEN); // අඩු මට්ටමේ ගණන් කිරීම සඳහා නිල් සිට කොළ දක්වා වෙනස් කරන්න
පොම්පය [rc] += 1; // මෙහෙයුම් කාල කවුන්ටරයට තත්පර 1ක් එක් කරන්න
}
}

k++;
නම් (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 තිරයේ දිනය පෙන්වන්න

සඳහා (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]);
ලිපිනය += sizeof(float); // ලියන ලිපින විචල්‍යය වැඩි කරන්න
}
}

// බයිට් කීයක් යැවිය යුතුද යන්න දැක්වෙන දත්ත වලින් රේඩියෝ නාලිකාව හරහා දත්ත යවන්න.
නම් ((k == 6 ) || (k == 18 ) || (k == 30 )) {

අත්සන් නොකළ දිගු දත්ත;

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

සඳහා (i = 0; i <4; i++) {
දත්ත = පොම්පය [i];
radio.write( &data, sizeof( data));
}
}
}

අවසානයේ සටහන් කිහිපයක්. ආදාන වලදී ගණන් කිරීම අඩු තාර්කික මට්ටමකින් සිදු වේ.

Pul-up ප්රතිරෝධයන් R2-R5 ෆොටෝරෙසිස්ටර GL36 සමඟ විකල්පය සඳහා 5516 kOhm වේ. phototransistor optocoupler සහ relay අවස්ථාවක, 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” ලෙස සකසන විට නියමිත රේඩියෝ.setChannel(120) නාලිකාව සහ ඊළඟ එක අල්ලා ගනු ඇත, i.e. කලාපය 2 MHz වනු ඇත.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න