உள்ளூர் தன்னாட்சி தரவு சேகரிப்பு அமைப்பு

நெக்ஸ்ட் டெக்னாலஜிஸ் மூலம் உள்நாட்டில் தயாரிக்கப்பட்ட NEKST-M கண்காணிப்பு இடுகைகளை நிறுவனம் வாங்கியது. உந்தி அலகுகளின் செயல்பாட்டின் காட்சிப்படுத்தலை உறுதிப்படுத்த,
தீ மற்றும் பாதுகாப்பு அலாரங்கள், தொடக்கத்தில் மின்னழுத்தம் இருப்பது, அறை வெப்பநிலை, அவசர நீர் நிலை. NEKST-M இன் இதயம் ATMEGA 1280 மற்றும் குறிப்பிட்ட தேவைகளுக்காக உங்கள் சொந்த கருவியை உருவாக்கும் சாத்தியக்கூறின் அடிப்படையில் இந்த உண்மை ஊக்கமளிக்கிறது.

குறுகிய காலத்திலும் குறைந்த செலவிலும் குறிப்பிட்ட தேவைகளுக்காக ஒரு முழுமையான தன்னாட்சி உள்ளூர் அனுப்புதல் அமைப்பை உருவாக்க பணி அமைக்கப்பட்டது. அடிப்படை ஒரு மைக்ரோகண்ட்ரோலர் ஆகும். வளர்ச்சி, உற்பத்தி, ஊழியர்களால் உருவாக்கப்பட்டது.

செல்லுலார் நெட்வொர்க்குகள், சேவையகங்கள், இணையம் மற்றும் ரேடியோ அலைவரிசை ஆதாரங்களைப் பயன்படுத்துவதற்கான உரிம அமைப்பு ஆகியவற்றைச் சார்ந்து இல்லாமல் கணினி இயங்க வேண்டும், கட்டுப்பாடு மற்றும் மேலாண்மை அமைப்பின் செயல்பாட்டில் கணினிகளைப் பயன்படுத்தக்கூடாது அல்லது அதிகபட்சமாக, அணுகல் இல்லாமல், அவ்வப்போது மடிக்கணினிகளைப் பயன்படுத்த வேண்டும். நீண்ட காலத்திற்கு பொருள்கள் (6-9 மாதங்கள்). பிணைய கட்டமைப்பு ஒரு ரேடியல் அமைப்பைக் கொண்டுள்ளது. தரவு ஒரு கட்டத்தில் சேகரிக்கப்பட்டு, வழக்கமான தகவல் தொடர்பு சேனல்கள் வழியாக அல்லது கடின நகலாக செயலாக்கத்திற்கு அனுப்பப்படுகிறது.

அமைப்பு வழங்க வேண்டும்:

  • உந்தி அலகுகளின் செயல்பாட்டை கண்காணித்தல்
  • தொழில்நுட்ப ஆட்டோமேஷன்
  • அவசரகால நிலைமைகளின் விளைவுகளிலிருந்து பாதுகாப்பு
  • அவசர சமிக்ஞை
  • இயக்க நேர கணக்கீடு
  • நுகரப்படும் மின்சாரத்தின் அளவைக் கணக்கிடுதல்
  • உபகரணங்கள் வெப்பநிலை கட்டுப்பாடு
  • பாதுகாப்பு மற்றும் தீ எச்சரிக்கை
  • அவ்வப்போது ரிமோட் தகவல் பதிவு
  • அறியப்படாத எதிர்கால தேவைகள்

வேலைக்கான நிபந்தனைகள்:

  • கவரேஜ் பகுதி 1 சதுர கி.மீ.
  • பொருள்களுக்கு இடையே நேரடித் தெரிவுநிலை
  • வெப்பநிலை +50 முதல் -50 சி வரை
  • ஈரப்பதம் 100% வரை
  • உயிரியல் ரீதியாக செயல்படும் வைப்பு (அச்சு, சல்பேட்-குறைக்கும் பாக்டீரியா)
  • GOST ISO 1-2-10816 இன் படி 1-97 வகுப்புகளின் இயந்திரங்களின் அதிர்வு இல்லை
  • மின்காந்த சூழல் - KT 6053 கான்டாக்டர்கள், RVS-DN சாஃப்ட் ஸ்டார்ட் உபகரணங்கள், SIEMENS மைக்ரோமாஸ்டர் PID கட்டுப்பாட்டு கருவிகள், ISM மற்றும் GSM வரம்பில் உள்ள கதிர்வீச்சு, இந்த சாதனங்களுக்கான தேவைகளுக்கு ஏற்ப மின்சார மோட்டார்களை மாற்றுதல், தளத்தில் கையேடு ஆர்க் வெல்டிங்
  • அதிகப்படியான நெட்வொர்க் மின்னழுத்தம், மின்சார விநியோகத்தில் குறுகிய கால குறுக்கீடுகள், மின்னல் மிகை மின்னழுத்தங்கள், 6-10 kV விநியோக நெட்வொர்க்குகளில் ஒரு மேல்நிலை வரி கம்பி உடைந்தால் கட்ட ஏற்றத்தாழ்வு.

இத்தகைய கடுமையான தேவைகள் இருந்தபோதிலும், சிக்கலை படிப்படியாக தீர்க்கும் போது செயல்படுத்துவது மிகவும் எளிது.

எல்லாவற்றையும் கணக்கில் எடுத்துக்கொண்டால், "Arduino Nano 3.0" போர்டு திட்டத்தின் "மூளை" ஆனது. ரோபோடின் போர்டில் ATMEGA 328 கட்டுப்படுத்தி உள்ளது, இதற்கு தேவையான 3,3V மின்னழுத்த நிலைப்படுத்தி
தற்போதைய 800 mA மற்றும் CH340G UART-USBக்கு மாற்றி.

முதலாவதாக, இயக்க நேர கவுண்டர்கள் மிகவும் புதுப்பித்ததாக உருவாக்கப்பட்டன. மின்மாற்றி இல்லாத மின்சாரம் வழங்கும் சுற்றுடன் கூடிய PIC களில் முன்பு பயன்படுத்தப்பட்ட தொழில்துறை மீட்டர்கள் செயல்பட்ட ஒரு வருடத்திற்குள் மின்னழுத்த அதிகரிப்பு காரணமாக தோல்வியடைந்தது. வீட்டில் தயாரிக்கப்பட்ட 5V மின் விநியோகத்தைப் பயன்படுத்தி இணைக்கப்பட்டவர்கள் மட்டுமே அப்படியே இருந்தனர். நிறுவல் மற்றும் இணைப்பின் பன்முகத்தன்மையை விரைவுபடுத்த, அலகுகளின் நிலை பற்றிய சமிக்ஞை மாறுதல் சாதனங்களின் டெர்மினல்களில் இருந்து எடுக்கப்படுகிறது, அதாவது. 1V இன் மூன்று கட்ட மின்சாரம் கொண்ட 380 வது கட்ட மின்னழுத்தத்தின் இருப்பை பதிவு செய்தல். கன்ட்ரோலருடன் ஒருங்கிணைக்க, 220V முறுக்கு கொண்ட ஒரு இடைநிலை ரிலே அல்லது LED மற்றும் GL5516 ஃபோட்டோரெசிஸ்டர் அல்லது PC817 ஆப்டோகப்ளர் கொண்ட ஆப்டோகப்ளர் பயன்படுத்தப்படுகிறது. அனைத்து விருப்பங்களும் சோதிக்கப்பட்டன. எல்.ஈ.டி மின்னோட்ட வரம்புடன் ஒரு திருத்தப்பட்ட மின்னழுத்தத்தால் இயக்கப்படுகிறது, இரண்டு SVV22 மின்தேக்கிகளைப் பயன்படுத்தி 630V மின்னழுத்தத்திற்காக வடிவமைக்கப்பட்டுள்ளது, இது ஒரு மெகோஹம்மீட்டருடன் சுற்றுகளின் தற்செயலான சோதனையின் போது பாதுகாப்பிற்காக தொடரில் இணைக்கப்பட்டுள்ளது.
ST7735S LCD திரையைப் பயன்படுத்தி இயக்க நேர அளவீடுகளைப் படித்தல், 01 MHz அதிர்வெண்ணில் E01-ML05DP2,4 தொகுதியைப் பயன்படுத்தி ரேடியோ வழியாக நிகழ்நேர தரவு பரிமாற்றம். இந்த சாதனத்தில் nRF24L01+ சிப் மற்றும் RFX2401C டிரான்ஸ்மிட்/ரிசீவ் ஆம்ப்ளிஃபையர் உள்ளது,
100 மெகாவாட் வரை வெளியீட்டு சக்தி. ஆன்லைன் கால்குலேட்டரில் விரும்பிய வரம்பிற்கு வடிவமைக்கப்பட்ட ஹெலிகல் ஆண்டெனாக்கள் தளத்தில். ஆண்டெனா வகையின் தேர்வு, சுற்றியுள்ள உலோக கட்டமைப்புகளிலிருந்து தனித்தனியாக பிரதிபலித்த அலைகளின் வரவேற்பை விலக்குவதன் மூலம் தீர்மானிக்கப்படுகிறது. ஆண்டெனா பாகங்கள் 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);
நேரம் t;

//#TFT_CS 10 ஐ வரையறுக்கவும்
#TFT_CS 8 ஐ வரையறுக்கவும்
#TFT_RST -1 ஐ வரையறுக்கவும் // இதை Arduino மீட்டமைப்பிலும் இணைக்கலாம்
// இதில், இந்த #define pin ஐ -1 ஆக அமைக்கவும்!
//#DFT_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;
கையொப்பமிடாத int z = 0;
பைட் b = B00000001;
பைட் பம்ர்கவுண்டர்[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 | B00000000;
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 D.D.");

//தரவு மீட்பு////////////////////////////////////////////// //////////

க்கு (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 ) {
சம்செக் = சுருக்கம்; //

//மற்றும் தற்போதைய மதிப்பு z என்பது முகவரி மாறிக்கு ஒதுக்கப்பட்டுள்ளது, z என்பது 16 மதிப்புகள் கொண்ட 4-பைட் தொகுதியின் தொடக்கத்தின் முகவரி.
// ஒரே நேரத்தில் பதிவு செய்யப்பட்ட கவுண்டர்கள் (ஒரு போர்ட் வாக்கெடுப்பின் போது, ​​அதன் அனைத்து 8 பிட்களும் ஒரே நேரத்தில் எழுதப்பட்டதால்,
// எங்கள் தேவையான உயர் 4 பிட்கள் போர்ட் D உட்பட).
முகவரி = z;
}
}

// 16 பதிவு செய்யப்பட்ட கவுண்டர் மதிப்புகளின் 4 பைட்டுகளின் தொகுதியின் தொடக்க முகவரியில் மீண்டும் ஈப்ரோம் நினைவகத்தை அணுகுகிறது
//கடைசி, அதாவது. முடக்கம் காரணமாக மூடுவதற்கு அல்லது மறுதொடக்கம் செய்வதற்கு முன் மதிப்புகள். சமீபத்திய பதிவு
// கவுண்டர் மதிப்புகளை 4 மாறிகள் பம்ப் வரிசையில் அமைக்கவும்.

EEPROM.get(முகவரி, பம்ப்[0]);
EEPROM.get(முகவரி + 4, பம்ப்[1]);
EEPROM.get(முகவரி + 8, பம்ப்[2]);
EEPROM.get(முகவரி + 12, பம்ப்[3]);

முகவரி += 16; //கடைசி பதிவின் தரவை மேலெழுதாமல் அடுத்த தொகுதியை எழுதுவதற்கான முகவரியை அதிகரிப்பது

//தரவு மீட்டெடுப்பின் முடிவு////////////////////////////////////////// //////////////////

இணைப்பு இடையூறு (0, எண்ணிக்கை, எழுச்சி); // பின் D2, குறுக்கீடுகளை இயக்கு, ஒவ்வொரு நொடியும் வரவும்
// 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 ++) // உள்ளீட்டு நிலையின் இணக்கத்தை சரிபார்க்க சுழற்சியின் ஆரம்பம்
// போர்ட் பிட்கள் போர்ட் டி பிட்களின் முந்தைய படித்த நிலைக்கு
{
பின்ஸ்டேட் = (PIND >> 4) & ( b << rc );

என்றால் (pumrcounter [rc] != pinState) { // மற்றும் பொருந்தவில்லை என்றால், பிறகு
pumrcounter[rc] = பின்ஸ்டேட்; // போர்ட் பிட் நிலை மாறிக்கு ஒரு புதிய மதிப்பு 1/0 ஐ ஒதுக்குகிறது
}
// வண்ணக் கட்டுப்பாட்டு பொருள்களின் நிலையின் அறிகுறி
// BLUE என்பது தற்போதுள்ள திரையில் (அல்லது நூலகமா?) ஒரு சிறிய தடுமாற்றம், 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++;
என்றால் (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()); // எல்சிடி திரையில் தேதியைக் காட்டவும்

(rc = 0; rc <4; rc ++) //வெளியீட்டு இயக்க நேரம் முழுவதும், பத்தாவது மற்றும்
{
tft.setCursor (30, rc * 10 + shift ); // ஒரு மணிநேரத்தில் நூறில் ஒரு பங்கு 10 பிக்சல்கள் குறைந்த திரை மாற்றத்துடன்
tft.println(பம்ப் [rc] / மீ);
}

// "மூல" இயக்க நேர மதிப்புகளை (வினாடிகளில்) 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++) {
தரவு = பம்ப் [நான்];
radio.write( &data, sizeof( data));
}
}
}

முடிவில் சில குறிப்புகள். உள்ளீடுகளில் குறைந்த தருக்க மட்டத்தில் எண்ணுதல் நிகழ்கிறது.

புல்-அப் ரெசிஸ்டன்ஸ்கள் R2-R5 36 kOhm ஆகும், இது photoresistors GL5516 உடன் இருக்கும். ஃபோட்டோட்ரான்சிஸ்டர் ஆப்டோகப்ளர் மற்றும் ரிலே விஷயத்தில், 4,7-5,1 kOhm ஆக அமைக்கவும். ஆர்டுயினோ நானோ v3.0 பூட்லோடர், வாட்ச்டாக் டைமரின் சரியான செயல்பாட்டிற்காக TL866A புரோகிராமரைப் பயன்படுத்தி Arduino Uno உடன் மாற்றப்பட்டது. 4,3 V க்கு மேல் மின்னழுத்தத்தில் செயல்பட உருகிகள் சரி செய்யப்படுகின்றன. வெளிப்புற மீட்டமைப்பு சுற்று R6 C3 பயன்படுத்தப்படவில்லை. மாதிரி நிரலில், டிரான்ஸ்மிட்டர் அதிர்வெண் உரிமம் பெறாத வரம்புடன் ஒத்துப்போவதில்லை; 2,4 மெகா ஹெர்ட்ஸ் வரம்பு 2400.0-2483.5 மெகா ஹெர்ட்ஸ் அதிர்வெண்களுக்கு மட்டுமே.

E01-ML01DP05 டிரான்ஸ்மிட்டரின் வரம்பு 2400-2525 MHz ஆகும். ஒரு சேனலின் அலைவரிசை 1 மெகா ஹெர்ட்ஸ் ஆகும், வேகத்தை “RF24_2MBPS” ஆக அமைக்கும் போது குறிப்பிட்ட radio.setChannel(120) சேனலானது அடுத்தது ஆக்கிரமிக்கப்படும், அதாவது. இசைக்குழு 2 MHz ஆக இருக்கும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்