சாதனம் அணைக்கப்படாமல் நீண்ட நேரம் தொடர்ந்து இயங்கும் ஒரு முக்கியமான பிரச்சினை மின் நுகர்வு. எனவே இந்த சிக்கலை சமாளிக்க கிட்டத்தட்ட ஒவ்வொரு கட்டுப்படுத்தியும் ஒரு தூக்க பயன்முறையுடன் வருகிறது, இது உகந்த மின் நுகர்வுக்கு மின்னணு கேஜெட்களை வடிவமைக்க டெவலப்பர்களுக்கு உதவுகிறது. ஸ்லீப் பயன்முறை பயன்படுத்தப்படாத தொகுதியை முடக்குவதன் மூலம் சாதனத்தை சக்தி சேமிப்பு பயன்முறையில் வைக்கிறது.
முன்னதாக மின் சேமிப்புக்காக ESP8266 இல் டீப்-ஸ்லீப் பயன்முறையை விளக்கினோம். இன்று நாம் அர்டுடினோ ஸ்லீப் பயன்முறைகளைப் பற்றி அறிந்துகொள்வோம் மற்றும் அம்மீட்டரைப் பயன்படுத்துவதன் மூலம் மின் நுகர்வு நிரூபிப்போம். ஒரு Arduino ஸ்லீப் பயன்முறை Arduino Power Save mode அல்லது Arduino Standby Mode என்றும் குறிப்பிடப்படுகிறது.

Arduino தூக்க முறைகள்
தூக்க முறைகள் மைக்ரோகண்ட்ரோலரில் பயன்படுத்தப்படாத தொகுதிக்கூறுகளை நிறுத்த அல்லது அணைக்க பயனரை அனுமதிக்கின்றன, இது மின் நுகர்வு கணிசமாகக் குறைக்கிறது. Arduino UNO, Arduino நானோ மற்றும் புரோ-மினி ATmega328P உடன் வருகிறது, மேலும் இது பிரவுன்-அவுட் டிடெக்டர் (BOD) ஐ கொண்டுள்ளது, இது தூக்க பயன்முறையில் விநியோக மின்னழுத்தத்தை கண்காணிக்கிறது.
ATmega328P இல் ஆறு தூக்க முறைகள் உள்ளன:

எந்தவொரு தூக்க பயன்முறையிலும் நுழைய நாம் ஸ்லீப் பயன்முறை கட்டுப்பாட்டு பதிவேட்டில் (SMCR.SE) தூக்க பிட்டை இயக்க வேண்டும். பின்னர் ஸ்லீப் மோட் தேர்ந்தெடுக்கப்பட்ட பிட்கள் ஐட்லி, ஏடிசி இரைச்சல் குறைப்பு, பவர்-டவுன், பவர்-சேவ், காத்திருப்பு மற்றும் வெளிப்புற காத்திருப்பு ஆகியவற்றில் தூக்க பயன்முறையைத் தேர்ந்தெடுக்கின்றன.
ஒரு உள் அல்லது வெளிப்புற Arduino குறுக்கீடுகள் அல்லது மீட்டமைவு தூக்க பயன்முறையிலிருந்து Arduino ஐ எழுப்பலாம்.
செயலற்ற பயன்முறை
செயலற்ற தூக்க பயன்முறையில் நுழைய, '000' கட்டுப்படுத்தியின் SM பிட்களை எழுதுங்கள். இந்த பயன்முறை CPU ஐ நிறுத்துகிறது, ஆனால் SPI, 2-கம்பி தொடர் இடைமுகம், USART, வாட்ச் டாக், கவுண்டர்கள், அனலாக் ஒப்பீட்டாளர் செயல்பட அனுமதிக்கிறது. செயலற்ற பயன்முறை அடிப்படையில் CLK CPU மற்றும் CLK FLASH ஐ நிறுத்துகிறது. வெளிப்புற அல்லது உள் குறுக்கீட்டைப் பயன்படுத்தி Arduino ஐ எந்த நேரத்திலும் எழுப்ப முடியும்.
செயலற்ற தூக்க பயன்முறைக்கான Arduino குறியீடு:
LowPower.idle (SLEEP_8S, ADC_OFF, TIMER2_OFF, TIMER1_OFF, TIMER0_OFF, SPI_OFF, USART0_OFF, TWI_OFF);
Arduino இல் பல்வேறு குறைந்த சக்தி முறைகளை அமைப்பதற்கான ஒரு நூலகம் உள்ளது. எனவே முதலில் கொடுக்கப்பட்ட இணைப்பிலிருந்து நூலகத்தை பதிவிறக்கம் செய்து நிறுவவும், மேலே உள்ள குறியீட்டைப் பயன்படுத்தி Arduino ஐ செயலற்ற தூக்க பயன்முறையில் வைக்கவும். மேலே உள்ள குறியீட்டைப் பயன்படுத்துவதன் மூலம், Arduino எட்டு விநாடிகள் தூங்குவதோடு தானாகவே எழுந்திருக்கும். செயலற்ற பயன்முறை அனைத்து டைமர்களையும், SPI, USART மற்றும் TWI (2-கம்பி இடைமுகம்) ஆகியவற்றை அணைக்கிறது என்பதை நீங்கள் குறியீட்டில் காணலாம்.
ADC சத்தம் குறைப்பு முறை
இந்த தூக்க பயன்முறையைப் பயன்படுத்த SM பிட்டை '001' என்று எழுதவும். பயன்முறை CPU ஐ நிறுத்துகிறது, ஆனால் ADC, வெளிப்புற குறுக்கீடு, USART, 2-கம்பி தொடர் இடைமுகம், வாட்ச் டாக் மற்றும் கவுண்டர்கள் செயல்பட அனுமதிக்கிறது. ADC சத்தம் குறைப்பு முறை அடிப்படையில் CLK CPU, CLK I / O மற்றும் CLK FLASH ஐ நிறுத்துகிறது. பின்வரும் முறைகள் மூலம் ADC சத்தம் குறைப்பு பயன்முறையிலிருந்து கட்டுப்படுத்தியை நாம் எழுப்பலாம் :
- வெளிப்புற மீட்டமைப்பு
- கண்காணிப்பு அமைப்பு மீட்டமை
- வாட்ச் டாக் குறுக்கீடு
- பிரவுன்-அவுட் மீட்டமை
- 2-கம்பி தொடர் இடைமுக முகவரி பொருத்தம்
- INT இல் வெளிப்புற நிலை குறுக்கீடு
- முள் மாற்றம் குறுக்கீடு
- டைமர் / கவுண்டர் குறுக்கீடு
- SPM / EEPROM தயார் குறுக்கீடு
பவர்-டவுன் பயன்முறை
பவர்-டவுன் பயன்முறை உருவாக்கப்பட்ட அனைத்து கடிகாரங்களையும் நிறுத்தி, ஒத்திசைவற்ற தொகுதிகளின் செயல்பாட்டை மட்டுமே அனுமதிக்கிறது. எஸ்எம் பிட்களை '010' என்று எழுதுவதன் மூலம் இதை இயக்க முடியும். இந்த பயன்முறையில், வெளிப்புற ஆஸிலேட்டர் முடக்கப்படும், ஆனால் 2-கம்பி தொடர் இடைமுகம், கண்காணிப்பு மற்றும் வெளிப்புற குறுக்கீடு தொடர்ந்து இயங்குகிறது. கீழே உள்ள ஒரு முறையால் மட்டுமே இதை முடக்க முடியும்:
- வெளிப்புற மீட்டமைப்பு
- கண்காணிப்பு அமைப்பு மீட்டமை
- வாட்ச் டாக் குறுக்கீடு
- பிரவுன்-அவுட் மீட்டமை
- 2-கம்பி தொடர் இடைமுக முகவரி பொருத்தம்
- INT இல் வெளிப்புற நிலை குறுக்கீடு
- முள் மாற்றம் குறுக்கீடு
பவர்-டவுன் கால இடைவெளியில் ஆர்டுயினோ குறியீடு:
லோ பவர்.பவர் டவுன் (SLEEP_8S, ADC_OFF, BOD_OFF);
பவர்-டவுன் பயன்முறையை இயக்க குறியீடு பயன்படுத்தப்படுகிறது. மேலே உள்ள குறியீட்டைப் பயன்படுத்துவதன் மூலம், Arduino எட்டு விநாடிகள் தூங்குவதோடு தானாகவே எழுந்திருக்கும்.
பவர்-டவுன் பயன்முறையை நாம் ஒரு குறுக்கீட்டால் பயன்படுத்தலாம், அங்கு அர்டுயினோ தூங்குவார், ஆனால் வெளிப்புற அல்லது உள் குறுக்கீடு வழங்கப்படும்போது மட்டுமே எழுந்திருக்கும்.
பவர்-டவுன் குறுக்கீடு பயன்முறைக்கான அர்டுயினோ குறியீடு:
void loop () { // குறுக்கீட்டைத் தூண்டுவதற்கு விழித்தெழு முள் அனுமதிக்கவும். attachInterrupt (0, விழித்தெழு, குறைந்த); லோ பவர்.பவர் டவுன் (SLEEP_FOREVER, ADC_OFF, BOD_OFF); // எழுந்திருக்கும் முள் வெளிப்புற முள் குறுக்கீட்டை முடக்கு. detachInterrupt (0); // இங்கே ஏதாவது செய்யுங்கள் }
மின்ஆற்றல் சேமிப்பு நிலை
பவர்-சேவ் பயன்முறையில் நுழைய எஸ்.எம் முள் '011' க்கு எழுத வேண்டும். இந்த தூக்க பயன்முறை பவர்-டவுன் பயன்முறையைப் போன்றது, ஒரு விதிவிலக்குடன் மட்டுமே அதாவது டைமர் / கவுண்டர் இயக்கப்பட்டால், அது தூக்கத்தின் போது கூட இயங்கும் நிலையில் இருக்கும். டைமர் வழிதல் பயன்படுத்தி சாதனத்தை எழுப்ப முடியும்.
நீங்கள் நேரம் / கவுண்டரைப் பயன்படுத்தவில்லை எனில், பவர்-சேவ் பயன்முறைக்கு பதிலாக பவர்-டவுன் பயன்முறையைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது.
காத்திருப்பு முறை
காத்திருப்பு பயன்முறை பவர்-டவுன் பயன்முறைக்கு ஒத்ததாக இருக்கிறது, அவற்றுக்கிடையேயான ஒரே வித்தியாசம் இந்த பயன்முறையில் இயங்கும் வெளிப்புற ஆஸிலேட்டர் மட்டுமே. இந்த பயன்முறையை இயக்குவதற்கு SM முள் '110' என எழுதவும்.
நீட்டிக்கப்பட்ட காத்திருப்பு முறை
இந்த பயன்முறை ஆஸிலேட்டர் இயங்கிக் கொண்டிருக்கும் ஒரு விதிவிலக்குடன் மட்டுமே சக்தி சேமிப்பு பயன்முறையைப் போன்றது. எஸ்.எம் முள் '111' க்கு எழுதும்போது சாதனம் நீட்டிக்கப்பட்ட காத்திருப்பு பயன்முறையில் நுழைகிறது. நீட்டிக்கப்பட்ட காத்திருப்பு பயன்முறையிலிருந்து எழுந்திருக்க சாதனம் ஆறு கடிகார சுழற்சிகளை எடுக்கும்.
சுற்று வரைபடத்தின் படி சுற்று இணைக்கப்பட்ட பிறகு, இந்த திட்டத்திற்கான தேவைகள் கீழே உள்ளன. Arduino IDE ஐப் பயன்படுத்தி தூக்க பயன்முறைக் குறியீட்டை Arduino இல் பதிவேற்றவும். செயலற்ற தூக்க பயன்முறையில் Arduino நுழையும். தற்போதைய நுகர்வு யூ.எஸ்.பி அம்மீட்டரில் சரிபார்க்கவும். இல்லையெனில், அதற்காக நீங்கள் ஒரு கிளாம்ப் மீட்டரையும் பயன்படுத்தலாம்.
கூறுகள் தேவை
- Arduino UNO
- DHT11 வெப்பநிலை மற்றும் ஈரப்பதம் உணரி
- யூ.எஸ்.பி அம்மீட்டர்
- ப்ரெட்போர்டு
- கம்பிகளை இணைக்கிறது
Arduino உடன் DHT11 ஐப் பயன்படுத்துவது பற்றி மேலும் அறிய, இணைப்பைப் பின்தொடரவும். தூக்க பயன்முறையில் அர்டுயினோ உட்கொள்ளும் மின்னழுத்தத்தை அளவிட இங்கே யூ.எஸ்.பி அம்மீட்டரைப் பயன்படுத்துகிறோம்.
யூ.எஸ்.பி அம்மீட்டர்
யூ.எஸ்.பி அம்மீட்டர் என்பது எந்த யூ.எஸ்.பி போர்ட்டிலிருந்தும் மின்னழுத்தத்தையும் மின்னோட்டத்தையும் அளவிட பயன்படும் பிளக் அண்ட் ப்ளே சாதனம் ஆகும். யூ.எஸ்.பி மின்சாரம் (கணினி யூ.எஸ்.பி போர்ட்) மற்றும் யூ.எஸ்.பி சாதனம் (அர்டுயினோ) ஆகியவற்றுக்கு இடையில் டாங்கிள் செருகப்படுகிறது. இந்த சாதனம் பவர் முள் வரிசையில் 0.05ohm மின்தடையத்தைக் கொண்டுள்ளது, இதன் மூலம் அது வரையப்பட்ட மின்னோட்டத்தின் மதிப்பை அளவிடும். சாதனம் நான்கு ஏழு பிரிவு காட்சியுடன் வருகிறது, இது இணைக்கப்பட்ட சாதனத்தால் நுகரப்படும் மின்னோட்ட மற்றும் மின்னழுத்தத்தின் மதிப்புகளை உடனடியாகக் காட்டுகிறது. இந்த மதிப்புகள் ஒவ்வொரு மூன்று விநாடிகளிலும் ஒரு இடைவெளியில் புரட்டுகின்றன.

விவரக்குறிப்பு:
- இயக்க மின்னழுத்த வரம்பு: 3.5 வி முதல் 7 வி வரை
- தற்போதைய தற்போதைய மதிப்பீடு: 3A
- சிறிய அளவு, கொண்டு செல்ல எளிதானது
- வெளிப்புற வழங்கல் தேவையில்லை
விண்ணப்பம்:
- யூ.எஸ்.பி சாதனங்களை சோதிக்கிறது
- சுமை அளவை சரிபார்க்கிறது
- பேட்டரி சார்ஜர்களை பிழைத்திருத்தம்
- தொழிற்சாலைகள், மின்னணு பொருட்கள் மற்றும் தனிப்பட்ட பயன்பாடு
சுற்று வரைபடம்

Arduino ஆழமான தூக்க முறைகளை நிரூபிக்க மேலே உள்ள அமைப்பில், Arduino யூ.எஸ்.பி அம்மீட்டரில் செருகப்படுகிறது. பின்னர் யூ.எஸ்.பி அம்மீட்டர் மடிக்கணினியின் யூ.எஸ்.பி போர்ட்டில் செருகப்படுகிறது. DHT11 சென்சாரின் தரவு முள் Arduino இன் D2 முள் இணைக்கப்பட்டுள்ளது.
குறியீடு விளக்கம்
வீடியோவுடன் திட்டத்திற்கான முழுமையான குறியீடு இறுதியில் கொடுக்கப்பட்டுள்ளது.
DHT11 சென்சார் மற்றும் லோபவர் நூலகத்திற்கான நூலகத்தை சேர்ப்பதன் மூலம் குறியீடு தொடங்குகிறது. குறைந்த சக்தி நூலகத்தைப் பதிவிறக்குவதற்கு இணைப்பைப் பின்தொடரவும். பின்னர் DHT11 இன் தரவு முள் இணைக்கப்பட்டு ஒரு DHT பொருளை உருவாக்கிய Arduino முள் எண்ணை வரையறுத்துள்ளோம்.
#சேர்க்கிறது
இல் வெற்றிடத்தை அமைப்பு செயல்பாடு, நாம் பயன்படுத்தி தொடர்ச்சியான தகவல்தொடர்பிற்கு தொடங்கின serial.begin (9600), இங்கே 9600 போட்டலகு விகிதமாக இருக்கிறது. தூக்க பயன்முறையின் குறிகாட்டியாக Arduino இன் உள்ளமைக்கப்பட்ட எல்.ஈ.டியைப் பயன்படுத்துகிறோம். எனவே, முள் வெளியீடாகவும், டிஜிட்டல் எழுதுதல் குறைவாகவும் அமைத்துள்ளோம்.
void setup () { Serial.begin (9600); pinMode (LED_BUILTIN, OUTPUT); டிஜிட்டல்ரைட் (LED_BUILTIN, LOW); }
இல் வெற்றிடத்தை லூப் செயல்பாடு, நாம் சென்சார் இருந்து உள்ளமைக்கப்பட்ட எல்இடி உயர் மற்றும் வாசிப்பு வெப்பநிலை மற்றும் ஈரப்பதம் தரவு செய்கிறீர்கள். இங்கே, DHT.read11 (); கட்டளை சென்சாரிலிருந்து தரவைப் படிக்கிறது. தரவு கணக்கிடப்பட்டதும், மதிப்புகளை எந்த மாறியிலும் சேமிப்பதன் மூலம் சரிபார்க்கலாம். இங்கே, 't' மற்றும் 'h' ஆகிய இரண்டு மிதவை வகை மாறிகள் எடுத்துள்ளோம். எனவே, வெப்பநிலை மற்றும் ஈரப்பதம் தரவு சீரியல் மானிட்டரில் தொடர்ச்சியாக அச்சிடப்படுகிறது.
void loop () { Serial.println ("DHT11 இலிருந்து தரவைப் பெறுங்கள்"); தாமதம் (1000); டிஜிட்டல்ரைட் (LED_BUILTIN, HIGH); int readData = DHT.read11 (dataPin); // DHT11 மிதவை t = DHT.temperature; மிதவை h = DHT.humidity; சீரியல்.பிரண்ட் ("வெப்பநிலை ="); சீரியல்.பிரண்ட் (டி); சீரியல்.பிரண்ட் ("சி -"); சீரியல்.பிரண்ட் ("ஈரப்பதம் ="); சீரியல்.பிரண்ட் (ம); Serial.println ("%"); தாமதம் (2000);
தூக்க பயன்முறையை இயக்குவதற்கு முன்பு "Arduino: - நான் ஒரு தூக்கத்திற்கு செல்கிறேன்" என்று அச்சிட்டு எல்.ஈ.டி லோவில் கட்டமைக்கிறோம். அதன் பிறகு குறியீட்டில் கீழே குறிப்பிடப்பட்டுள்ள கட்டளையைப் பயன்படுத்தி Arduino தூக்க பயன்முறை இயக்கப்படுகிறது.
கீழே உள்ள குறியீடு Arduino இன் செயலற்ற கால தூக்க பயன்முறையை செயல்படுத்துகிறது மற்றும் எட்டு விநாடிகள் தூங்குகிறது. இது ADC, டைமர்கள், SPI, USART, 2-கம்பி இடைமுகத்தை OFF நிலைக்கு மாற்றுகிறது.
பின்னர் அது தானாகவே 8 விநாடிகளுக்குப் பிறகு தூக்கத்திலிருந்து அர்டுயினோவை எழுப்பி “அர்டுடினோ: - ஏய் நான் விழித்தேன்” என்று அச்சிடுங்கள்.
Serial.println ("Arduino: - நான் ஒரு தூக்கத்திற்கு செல்கிறேன்"); தாமதம் (1000); டிஜிட்டல்ரைட் (LED_BUILTIN, LOW); LowPower.idle (SLEEP_8S, ADC_OFF, TIMER2_OFF, TIMER1_OFF, TIMER0_OFF, SPI_OFF, USART0_OFF, TWI_OFF); Serial.println ("Arduino: - ஏய் நான் விழித்தேன்"); Serial.println (""); தாமதம் (2000); }
எனவே இந்த குறியீட்டைப் பயன்படுத்துவதன் மூலம் Arduino ஒரு நிமிடத்தில் 24 வினாடிகள் மட்டுமே எழுந்திருப்பார் மற்றும் மீதமுள்ள 36 விநாடிகளுக்கு தூக்க பயன்முறையில் இருப்பார், இது Arduino வானிலை நிலையத்தால் நுகரப்படும் சக்தியைக் கணிசமாகக் குறைக்கும்.


எனவே, நாம் தூக்க பயன்முறையில் Arduino ஐப் பயன்படுத்தினால் , சாதனத்தின் இயக்க நேரத்தை ஏறக்குறைய இரட்டிப்பாக்கலாம்.
